diff options
Diffstat (limited to 'mysql-test/suite/sysschema/r/pr_table_exists.result')
-rw-r--r-- | mysql-test/suite/sysschema/r/pr_table_exists.result | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/mysql-test/suite/sysschema/r/pr_table_exists.result b/mysql-test/suite/sysschema/r/pr_table_exists.result new file mode 100644 index 00000000..76085bd7 --- /dev/null +++ b/mysql-test/suite/sysschema/r/pr_table_exists.result @@ -0,0 +1,72 @@ +CREATE TABLE t1 (id INT PRIMARY KEY); +CALL sys.table_exists('test', 't1', @exists); +SELECT @exists; +@exists +BASE TABLE +DROP TABLE t1; +CREATE view v_t1 AS SELECT 1; +CALL sys.table_exists('test', 'v_t1', @exists); +SELECT @exists; +@exists +VIEW +DROP VIEW v_t1; +CREATE TABLE tv (i int) with system versioning; +CALL sys.table_exists('test','tv',@exists); +SELECT @exists; +@exists +BASE TABLE +DROP TABLE tv; +CREATE SEQUENCE s; +CALL sys.table_exists('test','s',@exists); +SELECT @exists; +@exists +SEQUENCE +DROP SEQUENCE s; +CREATE TEMPORARY TABLE t1 (id INT PRIMARY KEY); +CALL sys.table_exists('test', 't1', @exists); +SELECT @exists; +@exists +TEMPORARY +DROP TEMPORARY TABLE t1; +CALL sys.table_exists('information_schema', 'all_plugins', @exists); +SELECT @exists; +@exists +SYSTEM VIEW +CALL sys.table_exists('test', 't2', @exists); +SELECT @exists; +@exists + +SET @identifier := REPEAT('a', 65); +CALL sys.table_exists(@identifier, 't1', @exists); +ERROR 22001: Data too long for column 'in_db' at row 1 +CALL sys.table_exists('test', @identifier, @exists); +ERROR 22001: Data too long for column 'in_table' at row 0 +SET @identifier := NULL; +# +# MDEV-28391: table_exists procedure fails with +# Incorrect table name with backtick identifiers +# +CREATE TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10)); +CALL sys.table_exists('test', 'ab`c', @tbl_type); +SELECT @tbl_type; +@tbl_type +BASE TABLE +DROP TABLE `ab``c`; +CREATE TEMPORARY TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10)); +CALL sys.table_exists('test', 'ab`c', @tbl_type); +SELECT @tbl_type; +@tbl_type +TEMPORARY +DROP TABLE `ab``c`; +CREATE TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10)); +CREATE TEMPORARY TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10)); +CALL sys.table_exists('test', 'ab`c', @tbl_type); +SELECT @tbl_type; +@tbl_type +TEMPORARY +# We cannot send quoted identifer to the procedure, no table will be found +CALL sys.table_exists('test', '`ab``c`', @tbl_type); +SELECT @tbl_type; +@tbl_type + +DROP TABLE `ab``c`; |