diff --git a/packages/mysql-parser/README.md b/packages/mysql-parser/README.md index 72547801a..c76439fee 100644 --- a/packages/mysql-parser/README.md +++ b/packages/mysql-parser/README.md @@ -80,7 +80,7 @@ This requires `bash`, `curl`, `docker`, and `php` and executes the following ste 3. Extract and compact the grammar and tokens, and save them in `src`. ### Building the query corpus -This package includes a testing corpus of about 70,000 MySQL queries extracted +This package includes a testing corpus of about 78,000 MySQL queries extracted from the MySQL release that corresponds to the generated MySQL grammar version. To regenerate it, use: @@ -94,6 +94,11 @@ This requires `bash`, `git`, and `php`. It performs the following steps: 3. Store the queries under `data/mysql-server-query-corpus/mysql-latest.csv`. A query that runs in SQL modes that affect the lexer has them in a second column. +A query that the MySQL tests only ever expect to fail with a syntax error has +`syntax_error` in a third column, unless the error comes from outside its own +syntax, such as the text of a `PREPARE` statement. A few queries with syntax +errors that the tests don't expect alone have it too, and the extractor lists +them by name. ## Tests and benchmarks To run lexer and parser tests and benchmarks, use: diff --git a/packages/mysql-parser/data/mysql-server-query-corpus/mysql-latest.csv b/packages/mysql-parser/data/mysql-server-query-corpus/mysql-latest.csv index 8a2e83474..b8be3fb08 100644 --- a/packages/mysql-parser/data/mysql-server-query-corpus/mysql-latest.csv +++ b/packages/mysql-parser/data/mysql-server-query-corpus/mysql-latest.csv @@ -81,6 +81,33 @@ ASC LIMIT 1" "insert into t1 values(1,2,3)" "insert into t1 values(11,22,33)" "insert into t2 values(99)" +"select t1.* as 'with_alias' from t1",,syntax_error +"select t2.* as 'with_alias' from t2",,syntax_error +"select t1.*, t1.* as 'with_alias' from t1",,syntax_error +"select t1.* as 'with_alias', t1.* from t1",,syntax_error +"select t1.* as 'with_alias', t1.* as 'alias2' from t1",,syntax_error +"select t1.* as 'with_alias', a, t1.* as 'alias2' from t1",,syntax_error +"select a, t1.* as 'with_alias' from t1",,syntax_error +"select t1.* as 'with_alias', a from t1",,syntax_error +"select a, t1.* as 'with_alias', b from t1",,syntax_error +"select (select d from t2 where d > a), t1.* as 'with_alias' from t1",,syntax_error +"select t1.* as 'with_alias', (select a from t2 where d > a) from t1",,syntax_error +"select a as 'x', t1.* as 'with_alias' from t1",,syntax_error +"select t1.* as 'with_alias', a as 'x' from t1",,syntax_error +"select a as 'x', t1.* as 'with_alias', b as 'x' from t1",,syntax_error +"select (select d from t2 where d > a) as 'x', t1.* as 'with_alias' from t1",,syntax_error +"select t1.* as 'with_alias', (select a from t2 where d > a) as 'x' from t1",,syntax_error +"select (select t2.* as 'x' from t2) from t1",,syntax_error +"select a, (select t2.* as 'x' from t2) from t1",,syntax_error +"select t1.*, (select t2.* as 'x' from t2) from t1",,syntax_error +"insert into t3 select t1.* as 'with_alias' from t1",,syntax_error +"insert into t3 select t2.* as 'with_alias', 1, 2 from t2",,syntax_error +"insert into t3 select t2.* as 'with_alias', d as 'x', d as 'z' from t2",,syntax_error +"insert into t3 select t2.*, t2.* as 'with_alias', 3 from t2",,syntax_error +"create table t3 select t1.* as 'with_alias' from t1",,syntax_error +"create table t3 select t2.* as 'with_alias', 1, 2 from t2",,syntax_error +"create table t3 select t2.* as 'with_alias', d as 'x', d as 'z' from t2",,syntax_error +"create table t3 select t2.*, t2.* as 'with_alias', 3 from t2",,syntax_error "select t1.* from t1" "select t2.* from t2" "select t1.*, t1.* from t1" @@ -137,6 +164,7 @@ ORDER BY variable_name" "SET PERSIST innodb_monitor_disable=""latch""" "SET PERSIST innodb_monitor_reset=""latch""" "SET PERSIST innodb_monitor_reset_all=""latch""" +"DROP TABLE all_vars" "DROP TABLE global_vars" "call mtr.add_suppression(""The table 't1' is full"")" "drop table if exists t1" @@ -144,13 +172,16 @@ ORDER BY variable_name" "set global myisam_data_pointer_size=2" "CREATE TABLE t1 (a int auto_increment primary key not null, b longtext) ENGINE=MyISAM" "DELETE FROM t1 WHERE a=1 or a=5" +"INSERT INTO t1 SET b=repeat('a',600)" "CHECK TABLE t1 EXTENDED" +"UPDATE t1 SET b=repeat('a', 800) where a=10" "INSERT INTO t1 SET b=repeat('a',400)" "DELETE FROM t1 WHERE a=2 or a=6" "UPDATE t1 SET b=repeat('a', 600) where a=11" "set global myisam_data_pointer_size=default" "CREATE TABLE test.t1(col INT)" "SET SESSION debug= ""+d, enable_stack_overrun_post_alter_commit""" +"ALTER TABLE test.t1 ADD COLUMN col1 CHAR" "SET SESSION debug= ""-d, enable_stack_overrun_post_alter_commit""" "DROP TABLE test.t1" "CREATE TABLE t1 (pk INTEGER PRIMARY KEY)" @@ -193,6 +224,7 @@ ORDER BY variable_name" "set debug_sync='RESET'" "create temporary table t1 (i int) engine=innodb" "set debug= ""+d,mysql_lock_tables_kill_query""" +"alter table t1 add index (i)" "set debug= ""-d,mysql_lock_tables_kill_query""" "SET @old_lock_wait_timeout= @@lock_wait_timeout" "CREATE TABLE t1 (i INT)" @@ -201,22 +233,24 @@ ORDER BY variable_name" "SELECT * FROM t2" "SET @@lock_wait_timeout= 1" "SET @@lock_wait_timeout= @old_lock_wait_timeout" -"UNLOCK TABLES" -"LOCK TABLES t1 READ, t2 WRITE" -"ALTER TABLE t2 RENAME TO t3" "SELECT * FROM t1" "SELECT * FROM t1",NO_BACKSLASH_ESCAPES "SELECT * FROM t1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UNLOCK TABLES" +"LOCK TABLES t1 READ, t2 WRITE" +"ALTER TABLE t2 RENAME TO t3" "INSERT INTO t3 values (1)" "LOCK TABLES t1 READ, t3 WRITE, t3 AS a WRITE, t3 AS b READ" "ALTER TABLE t3 RENAME TO t4" "SELECT * FROM t4 AS a, t4 AS b" "INSERT INTO t4 VALUES (2)" "DELETE a FROM t4 AS a, t4 AS b" +"DELETE b FROM t4 AS a, t4 AS b" "DROP TABLES t1, t4" "CREATE DATABASE mysqltest" "ALTER TABLE t1 RENAME TO mysqltest.t1" "SELECT * FROM mysqltest.t1" +"ALTER DATABASE mysqltest CHARACTER SET latin1" "DROP DATABASE mysqltest" "ALTER TABLE t1 ADD COLUMN j INT, RENAME TO t2, ALGORITHM=INPLACE" "ALTER TABLE t2 ADD COLUMN k INT, RENAME TO t3, ALGORITHM=INPLACE" @@ -232,15 +266,26 @@ ORDER BY variable_name" "CREATE TABLE t2 (i INT) ENGINE=MyISAM" "LOCK TABLES t1 WRITE, t2 WRITE" "SET @@debug='+d,injecting_fault_writing'" +"ALTER TABLE t1 RENAME TO t3" "SET @@debug='-d,injecting_fault_writing'" +"SELECT * FROM t3" +"ALTER TABLE t2 RENAME TO t4" "SELECT * FROM t4" +"ALTER TABLE t1 ADD COLUMN j INT, RENAME TO t3, ALGORITHM=INPLACE" +"ALTER TABLE t2 RENAME COLUMN i TO j, RENAME TO t4, ALGORITHM=INPLACE" +"ALTER TABLE t1 ADD COLUMN j INT, RENAME TO t3, ALGORITHM=COPY" +"ALTER TABLE t2 RENAME COLUMN i TO j, RENAME TO t4, ALGORITHM=COPY" "LOCK TABLE t4 WRITE" +"ALTER TABLE t4 RENAME COLUMN j TO i, RENAME TO mysqltest.t4, ALGORITHM=COPY" +"SELECT * FROM mysqltest.t4" "CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB" "CREATE TABLE t2 (fk INT) ENGINE=MyISAM" "LOCK TABLES t2 WRITE, t1 WRITE" +"ALTER TABLE t2 ADD FOREIGN KEY (fk) REFERENCES t1(pk), ENGINE=InnoDB, RENAME TO t3, ALGORITHM=COPY" "DELETE FROM t1" "DROP TABLES t3, t1" "SET debug=""+d,exit_after_alter_table_before_rename""" +"ALTER TABLE t1 modify column a varchar(30)" "SET debug=""-d,exit_after_alter_table_before_rename""" "SELECT COUNT(TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME like '#sql%'" @@ -313,6 +358,7 @@ PRIMARY KEY (id) "create table mysqltest.t1 (name char(15))" "insert into mysqltest.t1 (name) values (""mysqltest"")" "select * from mysqltest.t1" +"alter table t1 rename mysqltest.t1" "drop database mysqltest" "create table t1 (n1 int not null, n2 int, n3 int, n4 float, unique(n1), @@ -350,6 +396,8 @@ KEY (Host) "DROP TABLE t2","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create table t1 (a int)" "create table t1 (a int)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"alter table t1 rename to ``" +"rename table t1 to ``" "create table t1 ( a varchar(10) not null primary key ) engine=myisam" "create table t2 ( a varchar(10) not null primary key ) engine=merge union=(t1)" "flush tables" @@ -389,12 +437,15 @@ default charset latin1 collate latin1_general_cs" "SHOW CREATE TABLE t1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create table t1 (a int, b int, key(a))" "insert into t1 values (1,1), (2,2)" +"alter table t1 drop key no_such_key" "alter table t1 drop key a" "CREATE TABLE T12207(a int) ENGINE=MYISAM" +"ALTER TABLE T12207 DISCARD TABLESPACE" "DROP TABLE T12207" "create table t1 (a text) character set koi8r" "alter table t1 convert to character set cp1251" "create table t1 ( a timestamp )" +"alter table t1 add unique ( a(1) )" "create table t1 (a int, key(a)) engine=myisam" "show indexes from t1" "alter table t1 modify a int, disable keys" @@ -407,9 +458,9 @@ default charset latin1 collate latin1_general_cs" "alter table t1 modify a bigint" "create table t1(a int, b char(10), unique(a), key(b)) engine=myisam" "create table t1 (c1 int)" -"alter table t1 rename mysqltest.t1" "alter table mysqltest.t1 rename t1" "use mysqltest" +"alter table test.t1 rename t1" "alter table test.t1 rename test.t1" "use test" "CREATE TABLE t1(a INT) ENGINE=MyISAM ROW_FORMAT=FIXED" @@ -450,6 +501,11 @@ order by title" order by section ASC, subsection DESC" "alter table table_24562 order by table_24562.subsection ASC, table_24562.section DESC" +"alter table table_24562 order by 12",,syntax_error +"alter table table_24562 order by (section + 12)",,syntax_error +"alter table table_24562 order by length(title)",,syntax_error +"alter table table_24562 order by (select 12 from dual)",,syntax_error +"alter table table_24562 order by no_such_col" "drop table table_24562" "create table t1 (mycol int(10) not null)" "alter table t1 alter column mycol set default 0" @@ -462,6 +518,10 @@ order by table_24562.subsection ASC, table_24562.section DESC" "create table t1(f1 int) engine=myisam" "alter table t1 add column f2 datetime not null, add column f21 date not null" "insert into t1 values(1,'2000-01-01','2000-01-01')" +"alter table t1 add column f3 datetime not null" +"alter table t1 add column f3 date not null" +"alter table t1 add column f4 datetime not null default '2002-02-02', +add column f41 date not null" "alter table t1 add column f4 datetime not null default '2002-02-02', add column f41 date not null default '2002-02-02'" "create table t1 (v varchar(32))" @@ -475,13 +535,18 @@ add column f41 date not null default '2002-02-02'" "alter table t1 add unique key (i, v)" "select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn')" "create table t1 (t varchar(3073))" +"alter table t1 add primary key (t(3073))" "create table t1 (t varchar(255) default null, key t (t(80))) engine=myisam default charset=latin1" "alter table t1 change t t text" "CREATE TABLE t1 (a varchar(500))" "ALTER TABLE t1 ADD b GEOMETRY NOT NULL SRID 0, ADD SPATIAL INDEX(b)" +"ALTER TABLE t1 ADD KEY(b(50))" "ALTER TABLE t1 ADD c POINT" +"CREATE TABLE t2 (a INT, KEY (a(20)))" "ALTER TABLE t1 ADD d INT" +"ALTER TABLE t1 ADD KEY (d(20))" +"ALTER TABLE t1 ADD e GEOMETRY NOT NULL, ADD SPATIAL KEY (e(30))" "CREATE TABLE t1 (s CHAR(8) BINARY)" "INSERT INTO t1 VALUES ('test')" "SELECT LENGTH(s) FROM t1" @@ -546,6 +611,7 @@ INDEX(`int_field`) "ALTER TABLE t1 CHANGE int_field unsigned_int_field INTEGER UNSIGNED NOT NULL, RENAME t2" +"SELECT * FROM t1 ORDER BY int_field" "SELECT * FROM t2 ORDER BY unsigned_int_field" "DESCRIBE t2" "ALTER TABLE t2 MODIFY unsigned_int_field BIGINT UNSIGNED NOT NULL" @@ -615,7 +681,12 @@ i INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY)" DROP i, ADD i INT UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT = 1" +"CREATE TABLE t1 (a CHAR(1), PRIMARY KEY (a(255)))" "CREATE TABLE t1 (a CHAR(1))" +"ALTER TABLE t1 ADD PRIMARY KEY (a(20))" +"ALTER TABLE t1 ADD KEY (a(20))" +"CREATE UNIQUE INDEX i1 ON t1 (a(20))" +"CREATE INDEX i2 ON t1 (a(20))" "CREATE TABLE t1 (id int)" "INSERT INTO t1 VALUES (1), (2)" "ALTER TABLE t1 ADD COLUMN (f1 INT), ADD COLUMN (f2 INT), ADD KEY f2k(f2)" @@ -623,10 +694,12 @@ AUTO_INCREMENT = 1" "INSERT INTO t1 VALUES (1, 1), (2, 2)" "ALTER TABLE t1 CHANGE a id INT" "CREATE DATABASE db1 CHARACTER SET utf8mb3" +"CREATE TABLE db1.t1 (bar TINYTEXT, KEY (bar(100)))" "CREATE TABLE db1.t1 (bar TINYTEXT, KEY (bar(85)))" "ALTER TABLE db1.t1 ADD baz INT" "DROP DATABASE db1" "CREATE TEMPORARY TABLE t1 (i int) ENGINE=MyISAM" +"ALTER TABLE t1 DISCARD TABLESPACE" "prepare stmt1 from 'alter table t1 alter column a set default 1, rename to t2'" "execute stmt1" "rename table t2 to t1" @@ -642,6 +715,7 @@ MODIFY c2 char(100) NOT NULL DEFAULT '' AFTER c1" "ALTER TABLE t1 ADD INDEX i2(b), ALGORITHM= DEFAULT" "ALTER TABLE t1 ADD INDEX i3(b), ALGORITHM= COPY" "ALTER TABLE t1 ADD INDEX i4(b), ALGORITHM= INPLACE" +"ALTER TABLE t1 ADD INDEX i5(b), ALGORITHM= INVALID" "ALTER TABLE m1 ENABLE KEYS" "ALTER TABLE m1 ENABLE KEYS, ALGORITHM= DEFAULT" "ALTER TABLE m1 ENABLE KEYS, ALGORITHM= COPY" @@ -658,14 +732,21 @@ MODIFY c2 char(100) NOT NULL DEFAULT '' AFTER c1" "ALTER TABLE t1 ADD INDEX i2(b), LOCK= NONE" "ALTER TABLE t1 ADD INDEX i3(b), LOCK= SHARED" "ALTER TABLE t1 ADD INDEX i4(b), LOCK= EXCLUSIVE" +"ALTER TABLE t1 ADD INDEX i5(b), LOCK= INVALID" "ALTER TABLE m1 ENABLE KEYS, LOCK= DEFAULT" +"ALTER TABLE m1 ENABLE KEYS, LOCK= NONE" +"ALTER TABLE m1 ENABLE KEYS, LOCK= SHARED" "ALTER TABLE m1 ENABLE KEYS, LOCK= EXCLUSIVE" "ALTER TABLE t1 ADD INDEX i1(b), ALGORITHM= INPLACE, LOCK= NONE" "ALTER TABLE t1 ADD INDEX i2(b), ALGORITHM= INPLACE, LOCK= SHARED" "ALTER TABLE t1 ADD INDEX i3(b), ALGORITHM= INPLACE, LOCK= EXCLUSIVE" +"ALTER TABLE t1 ADD INDEX i4(b), ALGORITHM= COPY, LOCK= NONE" "ALTER TABLE t1 ADD INDEX i5(b), ALGORITHM= COPY, LOCK= SHARED" "ALTER TABLE t1 ADD INDEX i6(b), ALGORITHM= COPY, LOCK= EXCLUSIVE" +"ALTER TABLE m1 ENABLE KEYS, ALGORITHM= INPLACE, LOCK= NONE" +"ALTER TABLE m1 ENABLE KEYS, ALGORITHM= INPLACE, LOCK= SHARED" "ALTER TABLE m1 ENABLE KEYS, ALGORITHM= INPLACE, LOCK= EXCLUSIVE" +"ALTER TABLE m1 ENABLE KEYS, ALGORITHM= COPY, LOCK= NONE" "ALTER TABLE m1 ENABLE KEYS, ALGORITHM= COPY, LOCK= SHARED" "ALTER TABLE m1 ENABLE KEYS, ALGORITHM= COPY, LOCK= EXCLUSIVE" "DROP TABLE t1, m1" @@ -700,6 +781,7 @@ COMMIT "ALTER TABLE tm1 ADD FULLTEXT INDEX im3 (d)" "ALTER TABLE ti1 ADD FULLTEXT INDEX ii4 (d2)" "ALTER TABLE tm1 ADD FULLTEXT INDEX im4 (d2)" +"ALTER TABLE ti1 ADD PRIMARY KEY(a), ALGORITHM=INPLACE" "ALTER TABLE ti1 ADD PRIMARY KEY(a)" "ALTER TABLE tm1 ADD PRIMARY KEY(a)" "ALTER TABLE ti1 DROP INDEX ii3" @@ -780,12 +862,39 @@ COMMIT "ALTER TABLE tm1 ADD INDEX ii1(i), ALTER COLUMN i DROP DEFAULT" "DROP TABLE tm1" "use mysql" +"ALTER TABLE db ENGINE=memory" +"ALTER TABLE user ENGINE=memory" +"ALTER TABLE func ENGINE=csv" +"ALTER TABLE servers ENGINE=merge" +"ALTER TABLE procs_priv ENGINE=memory" +"ALTER TABLE tables_priv ENGINE=heap" +"ALTER TABLE columns_priv ENGINE=csv" +"ALTER TABLE time_zone ENGINE=merge" +"ALTER TABLE help_topic ENGINE=merge" +"CREATE TABLE db (dummy int) ENGINE=memory" +"CREATE TABLE user (dummy int) ENGINE=memory" +"CREATE TABLE func (dummy int) ENGINE=memory" +"CREATE TABLE servers (dummy int) ENGINE=merge" +"CREATE TABLE procs_priv (dummy int) ENGINE=memory" +"CREATE TABLE tables_priv (dummy int) ENGINE=heap" +"CREATE TABLE columns_priv (dummy int) ENGINE=memory" +"CREATE TABLE time_zone (dummy int) ENGINE=merge" +"CREATE TABLE help_topic (dummy int) ENGINE=merge" "create table t1 (pk int primary key, i int, j int, key a(i))" "alter table t1 rename key a to b" "alter table t1 rename index b to c" +"alter table t1 rename key d to e" +"alter table t1 drop key c, rename key c to d" +"alter table t1 add key d(j), rename key d to e" "alter table t1 add key d(j)" +"alter table t1 rename key c to d" "alter table t1 drop key d" +"alter table t1 add key d(j), rename key c to d" "alter table t1 drop key c, rename key d to c" +"alter table t1 rename key primary to d",,syntax_error +"alter table t1 rename key `primary` to d" +"alter table t1 rename key c to primary",,syntax_error +"alter table t1 rename key c to `primary`" "create table t1 (a int, unique u(a), b int, key k(b))" "alter table t1 rename key u to uu" "alter table t1 rename key k to kk" @@ -807,6 +916,8 @@ COMMIT "alter table t2 algorithm=copy, rename key kkk to kkkk" "alter table t1 algorithm=inplace, rename key kkkk to k, alter column i set default 100" "alter table t2 algorithm=inplace, rename key kkkk to k, alter column i set default 100" +"alter table t1 algorithm=inplace, rename key k to kk, add column j int" +"alter table t2 algorithm=inplace, rename key k to kk, add column j int" "drop table t1, t2" "drop table t1, t2","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "drop table t1, t2",ANSI_QUOTES @@ -831,6 +942,7 @@ primary key (a), index i1 (b), index i2 (c)) engine=innodb" "HANDLER t1 OPEN" "HANDLER t1 CLOSE" "CREATE TEMPORARY TABLE t1 (j INT) ENGINE=InnoDB" +"ALTER TABLE t1 IMPORT TABLESPACE" "DROP TEMPORARY TABLE t1" "CREATE TABLE t1(fld1 int, key key1(fld1))" "ALTER TABLE t1 DROP INDEX key1, ADD INDEX key1(fld1) COMMENT 'test'" @@ -840,6 +952,7 @@ primary key (a), index i1 (b), index i2 (c)) engine=innodb" "CREATE TABLE t1(fld1 int, key key1(fld1) COMMENT 'old comment')" "ALTER TABLE t1 DROP INDEX key1, ADD INDEX key1(fld1) COMMENT 'new comment'" "CREATE TABLE t1(a INT NOT NULL, b POINT NOT NULL) ENGINE=INNODB" +"ALTER TABLE t1 ADD UNIQUE INDEX (b)" "ALTER TABLE t1 ADD UNIQUE INDEX (a)" "SELECT T.NAME AS TABLE_NAME, I.NAME AS INDEX_NAME, CASE I.TYPE @@ -890,6 +1003,7 @@ ALGORITHM= INPLACE" ENGINE=INNODB" "CREATE TABLESPACE s ADD DATAFILE 's.ibd' ENGINE InnoDB" "CREATE TABLE t (i int) TABLESPACE s ENGINE InnoDB" +"ALTER TABLE t DISCARD PARTITION p TABLESPACE" "ALTER TABLE t TABLESPACE s" "DROP TABLE t" "DROP TABLE t","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -899,6 +1013,12 @@ ENGINE=INNODB" "ALTER TABLE t1 CHARACTER SET utf8mb3, CONVERT TO CHARACTER SET utf8mb3" "ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb3, CHARACTER SET utf8mb3" "ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb3, CONVERT TO CHARACTER SET utf8mb3" +"ALTER TABLE t1 CHARACTER SET utf8mb3, CONVERT TO CHARACTER SET latin1" +"ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb3, CHARACTER SET latin1" +"ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb3, CONVERT TO CHARACTER SET latin1" +"ALTER TABLE t1 CHARACTER SET utf8mb3 COLLATE latin1_danish_ci" +"ALTER TABLE t1 CONVERT TO CHARACTER SET utf8mb3 COLLATE latin1_danish_ci" +"ALTER TABLE t1 CHARACTER SET latin1, CONVERT TO CHARACTER SET utf8mb3 COLLATE latin1_danish_ci" "CREATE TABLE t1(fld1 varchar(200), FULLTEXT(fld1)) ENGINE=MyISAM" "INSERT INTO t1 VALUES('ABCD')" "ALTER TABLE t1 DROP INDEX fld1, ADD FULLTEXT INDEX fld1(fld1)" @@ -912,9 +1032,11 @@ FOREIGN KEY (b) REFERENCES t1(a)) ENGINE= MyISAM" FOREIGN KEY (b) REFERENCES t1(a)) ENGINE= InnoDB" "CREATE TABLE t0(a INT NOT NULL) ENGINE=INNODB" "ALTER TABLE t0 ADD UNIQUE INDEX (a)" +"CREATE TABLE t1(a POINT GENERATED ALWAYS AS (POINT(1,1)) VIRTUAL UNIQUE NOT NULL) ENGINE=INNODB" +"CREATE TABLE t2(a POINT GENERATED ALWAYS AS (POINT(1,1)) VIRTUAL NOT NULL, UNIQUE INDEX no_pk(a(1))) ENGINE=INNODB" "CREATE TABLE t3(a POINT GENERATED ALWAYS AS (POINT(1,1)) VIRTUAL NOT NULL) ENGINE=INNODB" -"SELECT * FROM t3" +"ALTER TABLE t3 ADD UNIQUE INDEX (a(1))" "CREATE TABLE t4 (a BLOB, b BLOB GENERATED ALWAYS AS (a) VIRTUAL NOT NULL) ENGINE=INNODB" "ALTER TABLE t4 ADD UNIQUE INDEX (b(1))" "SELECT T.NAME AS TABLE_NAME, I.NAME AS INDEX_NAME, @@ -946,14 +1068,20 @@ DELAY_KEY_WRITE=0 DELAY_KEY_WRITE=1" "ALTER TABLE t1 PACK_KEYS=1 PACK_KEYS=0 STATS_PERSISTENT=1 STATS_PERSISTENT=0 CHECKSUM=1 CHECKSUM=0 DELAY_KEY_WRITE=1 DELAY_KEY_WRITE=0" "CREATE TABLE t1(id INT PRIMARY KEY, name TINYTEXT, +KEY nameloc (name(64)) +) DEFAULT CHARSET=utf8mb4" +"CREATE TABLE t1(id INT PRIMARY KEY, +name TINYTEXT, KEY nameloc (name(63)) ) DEFAULT CHARSET=utf8mb4" "ALTER TABLE t1 FORCE" +"ALTER TABLE t1 ADD INDEX idx (name(64), id)" "ALTER TABLE t1 ADD INDEX idx (name(63), id)" "CREATE TABLE t1(id INT PRIMARY KEY, name TEXT, KEY nameloc (name(64)) ) DEFAULT CHARSET=utf8mb4" +"ALTER TABLE t1 MODIFY COLUMN name TINYTEXT" "SET @saved_sql_mode = @@session.sql_mode" "SET SESSION sql_mode= ''" "CREATE TABLE t1(fld1 DATE NOT NULL) ENGINE= INNODB" @@ -963,6 +1091,7 @@ KEY nameloc (name(64)) "SET SESSION sql_mode= 'STRICT_ALL_TABLES'" "SET SESSION sql_mode= 'NO_ZERO_DATE'" "SET SESSION sql_mode= @saved_sql_mode" +"ALTER TABLE t1 ADD COLUMN fld2 DATETIME NOT NULL, ALGORITHM=COPY" "TRUNCATE TABLE t1" "ALTER TABLE t1 ADD COLUMN fld4 DATETIME NOT NULL, ALGORITHM=INPLACE" "CREATE TABLE t2 (fk INT, FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=InnoDB" @@ -985,18 +1114,23 @@ i INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY) charset utf8mb4" "ALTER TABLE t2 MODIFY fld2 POINT NOT NULL AFTER fld1" "ALTER TABLE t1 MODIFY fld2 DATETIME NOT NULL FIRST, ALGORITHM= COPY" "ALTER TABLE t2 MODIFY fld2 POINT NOT NULL FIRST, ALGORITHM= COPY" -"TRUNCATE TABLE t2" "ALTER TABLE t1 MODIFY fld2 DATETIME NOT NULL AFTER fld1, ADD COLUMN fld3 DATETIME NOT NULL" "ALTER TABLE t2 MODIFY fld2 POINT NOT NULL AFTER fld1, ADD COLUMN fld3 MULTIPOINT NOT NULL" "ALTER TABLE t1 MODIFY fld2 DATETIME NOT NULL AFTER fld1, +ADD COLUMN fld3 DATETIME NOT NULL, ALGORITHM= COPY" +"ALTER TABLE t2 MODIFY fld2 POINT NOT NULL AFTER fld1, +ADD COLUMN fld3 MULTIPOINT NOT NULL, ALGORITHM= COPY" +"TRUNCATE TABLE t2" +"ALTER TABLE t1 MODIFY fld2 DATETIME NOT NULL AFTER fld1, ADD COLUMN fld4 DATETIME NOT NULL, ALGORITHM= COPY" "ALTER TABLE t2 MODIFY fld2 POINT NOT NULL AFTER fld1, ADD COLUMN fld4 MULTIPOINT NOT NULL, ALGORITHM= COPY" "DROP TABLE t1, t2" "CREATE TABLE t1 (fld1 char(25)) ENGINE= INNODB" "INSERT INTO t1 VALUES('0000-00-00')" +"INSERT INTO t1 VALUES('0000-00-00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "ALTER TABLE t1 MODIFY fld1 DATETIME NOT NULL" "CREATE TABLE t1 (fld0 DATETIME, fld1 INT, fld2 DATETIME NOT NULL) ENGINE= INNODB" "CREATE TABLE t2 (fld0 POINT, fld1 INT, fld2 POINT NOT NULL) ENGINE= INNODB" @@ -1007,6 +1141,8 @@ ST_PointFromText('POINT(10 10)'))" "ALTER TABLE t2 MODIFY fld0 POINT NOT NULL AFTER fld2" "INSERT INTO t1 VALUES(NULL, 1, '2000-01-01')" "INSERT INTO t2 values(NULL, 1, ST_PointFromText('POINT(10 10)'))" +"ALTER TABLE t1 MODIFY fld0 DATETIME NOT NULL" +"ALTER TABLE t2 MODIFY fld0 POINT NOT NULL" "SET restrict_fk_on_non_standard_key=OFF" "CREATE TABLE t1(a INT, b VARCHAR(30), c FLOAT)" "INSERT INTO t1 VALUES(1,'abcd',1.234)" @@ -1043,6 +1179,9 @@ RENAME COLUMN c TO z" "CREATE PROCEDURE sp1() INSERT INTO t2(d) VALUES(10)" "ALTER TABLE t2 RENAME COLUMN d TO g" "SHOW CREATE VIEW v1" +"SELECT * FROM v1" +"UPDATE t2 SET f = f + 10" +"CALL sp1()" "DROP TRIGGER trg1" "DROP PROCEDURE sp1" "CREATE TABLE t_gen(a INT, b DOUBLE GENERATED ALWAYS AS (SQRT(a)))" @@ -1050,6 +1189,8 @@ RENAME COLUMN c TO z" "SELECT * FROM t_gen" "SHOW CREATE TABLE t_gen" "ALTER TABLE t_gen RENAME COLUMN a TO c, CHANGE COLUMN b b DOUBLE GENERATED ALWAYS AS (SQRT(c))" +"ALTER TABLE t_gen CHANGE COLUMN c a INT" +"ALTER TABLE t_gen RENAME COLUMN c TO a" "DROP TABLE t_gen" "CREATE TABLE foo (col1 INT)" "INSERT INTO foo VALUES (1), (2)" @@ -1059,6 +1200,18 @@ JSON_REMOVE(histogram, '$.""last-updated""') FROM information_schema.COLUMN_STATISTICS" "ALTER TABLE foo RENAME COLUMN col1 TO col2" "DROP TABLE foo" +"ALTER TABLE t1 RENAME COLUMN b z",,syntax_error +"ALTER TABLE t1 RENAME COLUMN FROM b TO z",,syntax_error +"ALTER TABLE t1 RENAME COLUMN b TO 1",,syntax_error +"ALTER TABLE t1 RENAME COLUMN b TO e, RENAME COLUMN c TO e" +"ALTER TABLE t1 ADD COLUMN z INT, RENAME COLUMN b TO z" +"ALTER TABLE t1 DROP COLUMN b, RENAME COLUMN b TO z" +"ALTER TABLE t1 RENAME COLUMN b TO b, RENAME COLUMN b TO b" +"ALTER TABLE t1 RENAME COLUMN b TO c3, DROP COLUMN c3" +"ALTER TABLE t1 ADD COLUMN z INT, CHANGE COLUMN z y INT, DROP COLUMN y" +"ALTER TABLE t1 ADD COLUMN z INT, RENAME COLUMN z TO y, DROP COLUMN y" +"ALTER TABLE t1 RENAME COLUMN b TO `nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn`" +"ALTER TABLE t1 CHANGE b `nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn` int" "SET restrict_fk_on_non_standard_key=ON" "DROP VIEW v1" "DROP TABLE t3,t1,t2" @@ -1071,8 +1224,14 @@ ADD COLUMN b DATE GENERATED ALWAYS AS ('1999-09-09') VIRTUAL NOT NULL" ADD COLUMN c DATE GENERATED ALWAYS AS ('1999-09-09') STORED NOT NULL" "ALTER TABLE t ADD COLUMN d DATE GENERATED ALWAYS AS (NULL) VIRTUAL NOT NULL" +"CREATE INDEX idx ON t(d)" +"ALTER TABLE t +ADD COLUMN e DATE GENERATED ALWAYS AS (NULL) STORED NOT NULL" "SELECT * FROM t" "ALTER TABLE t1 ALTER COLUMN i SET DEFAULT 10, ALGORITHM=INSTANT" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT 11, ALGORITHM=INSTANT, LOCK=NONE" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT 12, ALGORITHM=INSTANT, LOCK=SHARED" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT 13, ALGORITHM=INSTANT, LOCK=EXCLUSIVE" "ALTER TABLE t1 ALTER COLUMN i SET DEFAULT 13, ALGORITHM=INSTANT, LOCK=DEFAULT" "ALTER TABLE t1 ALTER COLUMN i SET DEFAULT 14, ALGORITHM=INSTANT" "ALTER TABLE t1 ALTER COLUMN i DROP DEFAULT, ALGORITHM=INSTANT" @@ -1083,6 +1242,7 @@ ADD COLUMN d DATE GENERATED ALWAYS AS (NULL) VIRTUAL NOT NULL" "ALTER TABLE t1 ALTER COLUMN i SET DEFAULT 15, ALGORITHM=INPLACE" "ALTER TABLE t1 ALTER COLUMN i DROP DEFAULT, ALGORITHM=INPLACE" "ALTER TABLE t1 MODIFY COLUMN j ENUM('a', 'b', 'c', 'd', 'e', 'f', 'g'), ALGORITHM=INPLACE" +"ALTER TABLE t1 ADD KEY(j), ALGORITHM=INSTANT" "CREATE TABLE t1 (i INT, j ENUM('a', 'b'), KEY(i)) ENGINE=MyISAM" "ALTER TABLE t1 CHANGE COLUMN i k INT, ALGORITHM=INSTANT" "ALTER TABLE t1 RENAME INDEX i TO k, ALGORITHM=INSTANT" @@ -1090,6 +1250,8 @@ ADD COLUMN d DATE GENERATED ALWAYS AS (NULL) VIRTUAL NOT NULL" "ALTER TABLE t1 ALTER COLUMN k DROP DEFAULT, ALGORITHM=INPLACE" "ALTER TABLE t1 CHANGE COLUMN k i INT, ALGORITHM=INPLACE" "ALTER TABLE t1 RENAME INDEX k TO i, ALGORITHM=INPLACE" +"ALTER TABLE t1 ADD COLUMN l INT, ALGORITHM=INSTANT" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT 12, DROP COLUMN j, ALGORITHM=INSTANT" "CREATE TABLE t1 (a INT) ENGINE=INNODB" "ALTER TABLE t1 CONVERT TO CHARACTER SET utf16 COLLATE utf16_turkish_ci, DEFAULT CHARACTER SET utf16 COLLATE utf16_slovak_ci" @@ -1098,10 +1260,17 @@ DEFAULT CHARACTER SET utf16 COLLATE utf16_slovak_ci" "CREATE TABLE t1 SELECT 100000000000000000000000000000000000000000000000000000000000000001 AS c1" "ALTER TABLE t1 ADD INDEX (c1)" "SET SQL_MODE=default" +"CREATE TABLE t1 (fld1 VARCHAR(768), KEY(fld1)) CHARSET latin1 ENGINE =InnoDB +ROW_FORMAT= COMPACT" +"CREATE TABLE t2 (fld1 VARCHAR(3073), KEY(fld1)) CHARSET latin1 ENGINE= InnoDB" "CREATE TABLE t1 (fld1 VARCHAR(767), KEY(fld1)) CHARSET latin1 ENGINE=INNODB ROW_FORMAT=COMPACT" +"ALTER TABLE t1 MODIFY fld1 VARCHAR(768), ALGORITHM= INPLACE" +"ALTER TABLE t1 MODIFY fld1 VARCHAR(768), ALGORITHM= COPY" "CREATE TABLE t2 (fld1 VARCHAR(3072), KEY(fld1)) CHARSET latin1 ENGINE=INNODB ROW_FORMAT=DYNAMIC" +"ALTER TABLE t2 MODIFY fld1 VARCHAR(3073), ALGORITHM= INPLACE" +"ALTER TABLE t2 MODIFY fld1 VARCHAR(3073), ALGORITHM= COPY" "CREATE TABLE t1 (fld1 VARCHAR(768), KEY(fld1)) ENGINE= InnoDB ROW_FORMAT=COMPACT" "CREATE TABLE t2 (fld1 VARCHAR(3073), KEY(fld1)) ENGINE= InnoDB" @@ -1112,12 +1281,21 @@ ROW_FORMAT=COMPACT" ROW_FORMAT=DYNAMIC" "ALTER TABLE t4 MODIFY fld1 VARCHAR(3073), ALGORITHM= INPLACE" "ALTER TABLE t4 MODIFY fld1 VARCHAR(3074), ALGORITHM= COPY" +"CREATE TABLE t5(fld1 VARCHAR(768) PRIMARY KEY) ENGINE= InnoDB +ROW_FORMAT=COMPACT" +"CREATE TABLE t5(fld1 VARCHAR(3073), UNIQUE KEY(fld1)) ENGINE= InnoDB" "DROP TABLE t1, t2, t3, t4" "CREATE TABLE t1(fld1 VARCHAR(3), KEY(fld1)) ENGINE=MYISAM" +"ALTER TABLE t1 MODIFY fld1 VARCHAR(10), ALGORITHM=INPLACE" "ALTER TABLE t1 MODIFY fld1 VARCHAR(10), ALGORITHM=COPY" "CREATE TABLE t2(fld1 VARCHAR(768), KEY(fld1)) ENGINE= InnoDB ROW_FORMAT= DYNAMIC" +"ALTER TABLE t2 ADD INDEX idx1(fld1(769))" "CREATE TABLE t1(fld1 INT, fld2 INT GENERATED ALWAYS AS (-fld1) VIRTUAL, fld3 INT GENERATED ALWAYS AS (-fld1) STORED)" +"ALTER TABLE t1 ALTER COLUMN fld2 SET DEFAULT -1" +"ALTER TABLE t1 ALTER COLUMN fld3 SET DEFAULT -1" +"ALTER TABLE t1 CHANGE fld2 fld2 INT GENERATED ALWAYS AS (-fld1) DEFAULT -1" +"ALTER TABLE t1 MODIFY fld3 INT GENERATED ALWAYS AS (-fld1) STORED DEFAULT -1" "SET GLOBAL max_allowed_packet=17825792" "CREATE TABLE t1 (t1_fld1 TEXT) ENGINE=InnoDB" "CREATE TABLE t2 (t2_fld1 MEDIUMTEXT) ENGINE=InnoDB" @@ -1148,17 +1326,21 @@ ALGORITHM = INPLACE" ALGORITHM = INPLACE" "INSERT INTO t1 VALUES (0xf0909080)" "INSERT INTO t1 VALUES ('a string')" -"CREATE TABLE t1(c1 VARCHAR(512) CHARSET UTF8MB3)" -"INSERT INTO t1 VALUES (CONCAT(0xc3a6, 0xc3b8, 0xc3a5, ""text""))" +"ALTER TABLE t1 MODIFY COLUMN c1 VARCHAR(512) CHARSET SWE7, ALGORITHM = INPLACE" +"ALTER TABLE t1 MODIFY COLUMN c1 VARCHAR(512) CHARSET UCS2, ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN c1 VARCHAR(512) CHARSET UTF8MB4, ALGORITHM = INPLACE" +"CREATE TABLE t1(c1 VARCHAR(512) CHARSET UTF8MB3)" +"INSERT INTO t1 VALUES (CONCAT(0xc3a6, 0xc3b8, 0xc3a5, ""text""))" "CREATE TABLE t1(c1 CHAR(1) CHARSET UTF8MB3)" "INSERT INTO t1 VALUES (0xc3a6), (0xc3b8)" "ALTER TABLE t1 MODIFY COLUMN c1 CHAR(1) CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c1 CHAR(31) CHARSET UTF8MB3)" "ALTER TABLE t1 MODIFY COLUMN c1 CHAR(31) CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c1 CHAR(85) CHARSET UTF8MB3)" +"ALTER TABLE t1 MODIFY COLUMN c1 CHAR(85) CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c1 CHAR(64) CHARSET UTF8MB3)" +"ALTER TABLE t1 MODIFY COLUMN c1 CHAR(64) CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c1 CHAR(86) CHARSET UTF8MB3)" "ALTER TABLE t1 MODIFY COLUMN c1 CHAR(86) CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c1 CHAR(63) CHARSET UTF8MB3)" @@ -1176,6 +1358,8 @@ ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN c1 ENUM('a','b','c', 0xf0909080) CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c1 ENUM(0xc3a6,0xc3b8,0xc3a5) CHARSET UTF8MB3)" +"ALTER TABLE t1 MODIFY COLUMN c1 ENUM(0xc3a6,0xf0909080,0xc3b8,0xc3a5) +CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c1 ENUM('a', 'b','c') CHARSET ASCII)" "ALTER TABLE t1 MODIFY COLUMN c1 ENUM('a','b','c') CHARSET BINARY, ALGORITHM = INPLACE" @@ -1187,6 +1371,8 @@ ALGORITHM = INPLACE" CHARSET UTF8MB4, ALGORITHM = INPLACE" "INSERT INTO t1 VALUES (CONCAT('b,', 0xf0909080, ',', 0xc3b8))" "CREATE TABLE t1(c1 SET(0xc3a6,0xc3b8,0xc3a5) CHARSET UTF8MB3)" +"ALTER TABLE t1 MODIFY COLUMN c1 SET(0xc3a6,0xf0909080,0xc3b8,0xc3a5) +CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c1 SET('a','b','c') CHARSET ASCII)" "ALTER TABLE t1 MODIFY COLUMN c1 SET('a','b','c') CHARSET BINARY, ALGORITHM = INPLACE" @@ -1196,8 +1382,13 @@ ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a3'), ALGORITHM = INPLACE" "INSERT INTO t1 VALUES ('a2,a3')" "SELECT a FROM t1" +"ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','xx','a5'), ALGORITHM = INPLACE" +"ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2'), ALGORITHM = INPLACE" +"ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','a3'), ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a3','a4'), ALGORITHM = INPLACE" "INSERT INTO t1 VALUES ('a3,a4')" +"ALTER TABLE t1 MODIFY COLUMN a +SET('a1','a2','a3','a4','a5','a6','a7','a8','a9','a10'), ALGORITHM = INPLACE" "CREATE TABLE t1(c1 int, c2 CHAR(1) CHARSET ASCII)" "INSERT INTO t1 VALUES(1,'a')" "ALTER TABLE t1 ADD COLUMN c3 VARCHAR(1) CHARSET UTF8MB3 DEFAULT 'b', ALGORITHM = INSTANT" @@ -1211,17 +1402,23 @@ c4 VARCHAR(2) GENERATED ALWAYS AS (CONCAT(c2,c3)) virtual)" MODIFY COLUMN c2 VARCHAR(1) CHARSET UTF8MB4, MODIFY COLUMN c3 VARCHAR(1) CHARSET UTF8MB4, ALGORITHM = INPLACE" "CREATE TABLE t1(c CHAR(1) CHARSET ASCII)" +"ALTER TABLE t1 MODIFY COLUMN c CHAR(4) CHARSET BINARY, ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN c CHAR(1) CHARSET BINARY, ALGORITHM = INPLACE" "CREATE TABLE t1(c VARCHAR(1) CHARSET ASCII UNIQUE KEY)" +"ALTER TABLE t1 MODIFY COLUMN c VARCHAR(1) CHARSET BINARY, ALGORITHM = INPLACE" "CREATE TABLE t1(c VARCHAR(1) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci PRIMARY KEY)" +"ALTER TABLE t1 MODIFY COLUMN c VARCHAR(1) CHARSET utf8mb4 COLLATE utf8mb4_0900_as_ci, ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN c VARCHAR(1) CHARSET utf8mb4 COLLATE utf8mb4_0900_as_ci, ALGORITHM = COPY" "CREATE TABLE t1(c VARCHAR(1) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci)" +"ALTER TABLE t1 MODIFY COLUMN c VARCHAR(1) CHARSET utf8mb4 COLLATE utf8mb4_0900_as_ci, ADD UNIQUE INDEX(c), ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN c VARCHAR(1) CHARSET utf8mb4 COLLATE utf8mb4_0900_as_ci, ADD UNIQUE INDEX(c), ALGORITHM = COPY" "CREATE TABLE t1(i INT, c VARCHAR(10) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci)" +"ALTER TABLE t1 MODIFY COLUMN c VARCHAR(10) CHARSET utf8mb4 COLLATE utf8mb4_0900_as_ci, ADD INDEX idx(i, c(5)), ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN c VARCHAR(10) CHARSET utf8mb4 COLLATE utf8mb4_0900_as_ci, ADD INDEX idx(i, c(5)), ALGORITHM = COPY" "CREATE TABLE t1(c VARCHAR(1) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci, UNIQUE INDEX idx(c))" "ALTER TABLE t1 MODIFY COLUMN c VARCHAR(1) CHARSET utf8mb4 COLLATE utf8mb4_0900_as_ci, DROP INDEX idx, ALGORITHM = INPLACE" "CREATE TABLE t1(c VARCHAR(1) CHARSET ASCII)" +"ALTER TABLE t1 MODIFY COLUMN c VARCHAR(256) CHARSET BINARY, ALGORITHM = INPLACE" "ALTER TABLE t1 MODIFY COLUMN c VARCHAR(255) CHARSET BINARY, ALGORITHM = INPLACE" "CREATE TABLE t1(c VARCHAR(1)) CHARSET ASCII" "ALTER TABLE t1 CONVERT TO CHARSET BINARY, ALGORITHM = INPLACE" @@ -1241,8 +1438,14 @@ SET('1234567890123456789a','1234567890123456789b','12345678901234567890c'))" "CREATE TABLE t1 (c1 SET('1234567890123456789a','1234567890123456789b','12345678901234567890cd') DEFAULT NULL)" +"CREATE TABLE t1 (c1 ENUM ('000', '001', +'0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'))" "CREATE TABLE t1 (c1 SET ('00', '01', '02', '03', '04', '05', '06'))" +"ALTER TABLE t1 MODIFY COLUMN c1 SET ('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15'), ALGORITHM=INPLACE" "CREATE TABLE t1 (c1 ENUM ('000', '001', '002', '003'))" +"ALTER TABLE t1 MODIFY COLUMN c1 ENUM ( +'000', '001', '002', '003', '004', '005', '006', '007', '008', '009', '010', '011', '012', '013', '014', '015', '016', '017', '018', '019', '020', '021', '022', '023', '024', '025', '026', '027', '028', '029', '030', '031', '032', '033', '034', '035', '036', '037', '038', '039', '040', '041', '042', '043', '044', '045', '046', '047', '048', '049', '050', '051', '052', '053', '054', '055', '056', '057', '058', '059', '060', '061', '062', '063', '064', '065', '066', '067', '068', '069', '070', '071', '072', '073', '074', '075', '076', '077', '078', '079', '080', '081', '082', '083', '084', '085', '086', '087', '088', '089', '090', '091', '092', '093', '094', '095', '096', '097', '098', '099', '100', '101', '102', '103', '104', '105', '106', '107', '108', '109', '110', '111', '112', '113', '114', '115', '116', '117', '118', '119', '120', '121', '122', '123', '124', '125', '126', '127', '128', '129', '130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '140', '141', '142', '143', '144', '145', '146', '147', '148', '149', '150', '151', '152', '153', '154', '155', '156', '157', '158', '159', '160', '161', '162', '163', '164', '165', '166', '167', '168', '169', '170', '171', '172', '173', '174', '175', '176', '177', '178', '179', '180', '181', '182', '183', '184', '185', '186', '187', '188', '189', '190', '191', '192', '193', '194', '195', '196', '197', '198', '199', '200', '201', '202', '203', '204', '205', '206', '207', '208', '209', '210', '211', '212', '213', '214', '215', '216', '217', '218', '219', '220', '221', '222', '223', '224', '225', '226', '227', '228', '229', '230', '231', '232', '233', '234', '235', '236', '237', '238', '239', '240', '241', '242', '243', '244', '245', '246', '247', '248', '249', '250', '251', '252', '253', '254', '255', '256'), ALGORITHM=INPLACE" +"ALTER TABLE z ADD b INT AS (EXISTS((SELECT 1 UNION DISTINCT SELECT 2) LIMIT 3))" "SET TIMESTAMP=1558818549" "CREATE TABLE t1 (i INT PRIMARY KEY, no_default DATETIME)" "ALTER TABLE t1 ADD alter_default DATETIME DEFAULT (now())" @@ -1260,20 +1463,24 @@ NATURAL JOIN t2" JOIN t2" "DROP TABLE t2, t1" "SET TIMESTAMP=default" +"CREATE TABLE t1(a VARBINARY(9223372036854775806) SECONDARY_ENGINE_ATTRIBUTE '')" +"ALTER TABLE t1 ADD COLUMN b VARBINARY(9223372036854775806) +SECONDARY_ENGINE_ATTRIBUTE ''" "CREATE TABLE t1(a INT)" "ALTER TABLE t1 ALTER COLUMN a SET DEFAULT TRUE" "CREATE TABLE t1(a SET('a') CHARACTER SET BINARY)" +"ALTER TABLE t1 MODIFY COLUMN a DECIMAL DEFAULT '4648-04-10'" "CREATE TABLE t1 ( c1 VARCHAR(10) COLLATE utf8mb4_bin DEFAULT NULL ) COLLATE=utf8mb4_bin PARTITION BY KEY (c1) PARTITIONS 3" "SELECT partition_name, table_rows FROM information_schema.partitions WHERE table_name = 't1'" +"ALTER TABLE t1 MODIFY c1 VARCHAR(10) CHARSET utf8mb4, ALGORITHM=INPLACE" "ALTER TABLE t1 MODIFY c1 VARCHAR(10) CHARSET utf8mb4" "ANALYZE TABLE t1" "SELECT * FROM t1 PARTITION(p2)" "SELECT * FROM t1 PARTITION(p1)" "CREATE TABLE t2(c1 VARCHAR(10)) COLLATE=utf8mb4_bin" -"ALTER TABLE t1 MODIFY c1 VARCHAR(10) CHARSET utf8mb4, ALGORITHM=INPLACE" "CREATE TABLE t3(c1 VARCHAR(10), c2 VARCHAR(10) COLLATE utf8mb4_bin) PARTITION BY KEY(c1) PARTITIONS 3" "ALTER TABLE t3 MODIFY c2 VARCHAR(10) CHARSET utf8mb4, ALGORITHM=INPLACE" "CREATE TABLE t1 ( @@ -1320,11 +1527,23 @@ e INT "ALTER TABLE t7 MODIFY COLUMN v1 INT GENERATED ALWAYS AS (a + b) VIRTUAL AFTER a, ALGORITHM=INPLACE" +"ALTER TABLE t7 +MODIFY COLUMN v2 INT GENERATED ALWAYS AS (a + b + 2) VIRTUAL AFTER a, +LOCK=NONE" +"ALTER TABLE t7 +MODIFY COLUMN v2 INT GENERATED ALWAYS AS (a + b + 2) VIRTUAL FIRST, +LOCK=NONE" "DROP TABLE t7" "CREATE TABLE t8 (a INT, b INT, v1 INT GENERATED ALWAYS AS (a + b) VIRTUAL, v2 INT GENERATED ALWAYS AS (a + b + 2) VIRTUAL) ENGINE=InnoDB" "ALTER TABLE t8 CHANGE COLUMN v1 v1_new INT GENERATED ALWAYS AS (a + b) VIRTUAL AFTER a, ALGORITHM=INPLACE" +"ALTER TABLE t8 +CHANGE COLUMN v2 v2_new INT GENERATED ALWAYS AS (a + b + 2) VIRTUAL AFTER a, +LOCK=NONE" +"ALTER TABLE t8 +MODIFY COLUMN v2 INT GENERATED ALWAYS AS (a + b + 2) VIRTUAL FIRST, +LOCK=NONE" "DROP TABLE t8" "CREATE TABLE T12207(a int) engine=MyISAM" "DROP TABLE IF EXISTS bug24219" @@ -1347,16 +1566,23 @@ name VARCHAR(50), purchased DATE, KEY(id))" "CREATE TABLE t2 ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50), purchased DATE, KEY(id)) PARTITION BY HASH( YEAR(purchased) ) PARTITIONS 4" "INSERT INTO t2 SELECT * FROM t1" +"ALTER TABLE t1 ALGORITHM = COPY, LOCK = NONE ADD PARTITION (PARTITION p4 VALUES LESS THAN (2010))",,syntax_error +"ALTER TABLE t1 ALGORITHM = COPY, LOCK = NONE DROP PARTITION p0",,syntax_error "ALTER TABLE t1 ALGORITHM = COPY, LOCK = SHARED, ADD PARTITION (PARTITION p4 VALUES LESS THAN (2010))" "ALTER TABLE t1 ALGORITHM = COPY, LOCK = SHARED, DROP PARTITION p4" "ALTER TABLE t1 ALGORITHM = COPY, LOCK = EXCLUSIVE, ADD PARTITION (PARTITION p4 VALUES LESS THAN (2010))" "ALTER TABLE t1 ALGORITHM = COPY, LOCK = EXCLUSIVE, DROP PARTITION p4" "SELECT * FROM t1 ORDER BY id" +"ALTER TABLE t1 ALGORITHM = COPY, LOCK = NONE, REORGANIZE PARTITION p3 INTO +(PARTITION p31 VALUES LESS THAN (2003), PARTITION p32 VALUES LESS THAN (2005))" "ALTER TABLE t1 ALGORITHM = COPY, LOCK = SHARED, REORGANIZE PARTITION p3 INTO (PARTITION p31 VALUES LESS THAN (2003), PARTITION p32 VALUES LESS THAN (2005))" "ALTER TABLE t1 ALGORITHM = COPY, LOCK = EXCLUSIVE, REORGANIZE PARTITION p31, p32 INTO (PARTITION p3 VALUES LESS THAN (2005))" +"ALTER TABLE t1 ALGORITHM = COPY, LOCK = NONE, REBUILD PARTITION p0" "ALTER TABLE t1 ALGORITHM = COPY, LOCK = SHARED, REBUILD PARTITION p1" "ALTER TABLE t2 ALGORITHM = COPY, LOCK = EXCLUSIVE, REBUILD PARTITION p2" +"ALTER TABLE t2 ALGORITHM = COPY, LOCK = NONE, ADD PARTITION PARTITIONS 1" +"ALTER TABLE t2 ALGORITHM = COPY, LOCK = NONE, COALESCE PARTITION 1" "ALTER TABLE t2 ALGORITHM = COPY, LOCK = SHARED, ADD PARTITION PARTITIONS 1" "ALTER TABLE t2 ALGORITHM = COPY, LOCK = SHARED, COALESCE PARTITION 1" "ALTER TABLE t2 ALGORITHM = COPY, LOCK = EXCLUSIVE, ADD PARTITION PARTITIONS 1" @@ -1367,11 +1593,16 @@ purchased DATE, KEY(id))" "ALTER TABLE t1 ALGORITHM = INPLACE, LOCK = SHARED, DROP PARTITION p4" "ALTER TABLE t1 ALGORITHM = INPLACE, LOCK = EXCLUSIVE, ADD PARTITION (PARTITION p4 VALUES LESS THAN (2010))" "ALTER TABLE t1 ALGORITHM = INPLACE, LOCK = EXCLUSIVE, DROP PARTITION p4" +"ALTER TABLE t1 ALGORITHM = INPLACE, LOCK = NONE, REORGANIZE PARTITION p3 INTO +(PARTITION p31 VALUES LESS THAN (2003), PARTITION p32 VALUES LESS THAN (2005))" "ALTER TABLE t1 ALGORITHM = INPLACE, LOCK = SHARED, REORGANIZE PARTITION p3 INTO (PARTITION p31 VALUES LESS THAN (2003), PARTITION p32 VALUES LESS THAN (2005))" "ALTER TABLE t1 ALGORITHM = INPLACE, LOCK = EXCLUSIVE, REORGANIZE PARTITION p31, p32 INTO (PARTITION p3 VALUES LESS THAN (2005))" +"ALTER TABLE t1 ALGORITHM = INPLACE, LOCK = NONE, REBUILD PARTITION p0" "ALTER TABLE t1 ALGORITHM = INPLACE, LOCK = SHARED, REBUILD PARTITION p1" "ALTER TABLE t2 ALGORITHM = INPLACE, LOCK = EXCLUSIVE, REBUILD PARTITION p2" +"ALTER TABLE t2 ALGORITHM = INPLACE, LOCK = NONE, ADD PARTITION PARTITIONS 1" +"ALTER TABLE t2 ALGORITHM = INPLACE, LOCK = NONE, COALESCE PARTITION 1" "ALTER TABLE t2 ALGORITHM = INPLACE, LOCK = SHARED, ADD PARTITION PARTITIONS 1" "ALTER TABLE t2 ALGORITHM = INPLACE, LOCK = SHARED, COALESCE PARTITION 1" "ALTER TABLE t2 ALGORITHM = INPLACE, LOCK = EXCLUSIVE, ADD PARTITION PARTITIONS 1" @@ -1403,6 +1634,8 @@ PARTITION P_20230201 VALUES IN (20230201) ENGINE = InnoDB)" "insert into t1 values('1'),('2'),('3'),('4'),('5')" "show index from t1" "create table t1(a int)" +"analyze table t1 extended",,syntax_error +"optimize table t1 extended",,syntax_error "CREATE PROCEDURE p() ANALYZE TABLE v UPDATE HISTOGRAM ON w" "CALL p()" "DROP PROCEDURE p" @@ -1461,6 +1694,7 @@ INDEX b (b) "SELECT 'A' || 'B'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (id INT, id2 int)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT id,NULL,1,1.1,'a' FROM t1 GROUP BY id","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"SELECT id FROM t1 GROUP BY id2","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SET @@SQL_MODE=""""","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SET @@SQL_MODE=""""" "CALL mtr.add_suppression(""Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"")" @@ -2712,6 +2946,7 @@ fld6 char(4) DEFAULT '' NOT NULL "OPTIMIZE TABLE t2" "REPAIR TABLE t2" "INSERT INTO t2 VALUES (1,000001,00,'Omaha','teethe','neat','') , (2,011401,37,'breaking','dreaded','Steinberg','W') , (3,011402,37,'Romans','scholastics','jarring','') , (4,011403,37,'intercepted','audiology','tinily','')" +"DELETE FROM t2" "CHECK TABLE t2" "ALTER TABLE t2 DROP COLUMN fld6" "SELECT * FROM t2 WHERE auto != 100000" @@ -2722,6 +2957,8 @@ PRIMARY KEY (`a`) ) DEFAULT CHARSET=latin1" "INSERT INTO t5 VALUES (NULL, ""foo"")" "INSERT INTO t5 VALUES (32, ""foo"")" +"INSERT INTO t5 VALUES (23, ""foo"")" +"INSERT INTO t5 VALUES (3, ""foo"")" "SELECT * FROM t5" "SELECT * FROM t5 WHERE a=3" "CREATE TABLE `t5` ( @@ -2729,8 +2966,6 @@ PRIMARY KEY (`a`) b char(12), KEY (`a`) ) DEFAULT CHARSET=latin1 AUTO_INCREMENT=5" -"INSERT INTO t5 VALUES (23, ""foo"")" -"INSERT INTO t5 VALUES (3, ""foo"")" "OPTIMIZE TABLE t5" "SELECT * FROM t5 WHERE a=32" "CREATE TABLE `t5` ( @@ -2845,6 +3080,7 @@ e CHAR(255), f INT) ENGINE=ARCHIVE DEFAULT CHARSET utf8mb3" "CREATE TABLE t1 (c1 decimal(19,14) NOT NULL) ENGINE=ARCHIVE" "CALL mtr.add_suppression(""Found wrong key definition in #sql.* Please do \"ALTER TABLE `#sql.*` FORCE \" to fix it!"")" "SET sql_mode='NO_ENGINE_SUBSTITUTION'" +"CREATE INDEX i1 ON t1(c1)" "SET sql_mode= default" "CREATE TABLE t1(a BLOB, b VARCHAR(200)) ENGINE=ARCHIVE" "INSERT INTO t1 VALUES(NULL, '')" @@ -2852,11 +3088,41 @@ e CHAR(255), f INT) ENGINE=ARCHIVE DEFAULT CHARSET utf8mb3" "CREATE TABLE t2 SELECT * FROM t1" "CREATE TABLE t (j JSON) ENGINE=ARCHIVE" "INSERT INTO t VALUES ('{}')" +"UPDATE t SET j = '[1]'" "CREATE TABLE archive_table (id INT, x INT) ENGINE=ARCHIVE" "CREATE TABLE innodb_table (id INT PRIMARY KEY, x INT) ENGINE=InnoDB" "CREATE VIEW v AS SELECT * FROM archive_table" +"DELETE FROM archive_table" +"DELETE FROM v" +"DELETE t1, t2 FROM archive_table AS t1, innodb_table AS t2 +WHERE t1.id = t2.id" +"DELETE t1 FROM v AS t1, innodb_table AS t2 WHERE t1.id = t2.id" +"UPDATE archive_table SET x = 1000" +"UPDATE archive_table AS t1, innodb_table AS t2 +SET t1.x = 1000, t2.x = 2000 WHERE t1.id = t2.id" +"UPDATE v SET x = 1000" +"UPDATE v AS t1, innodb_table AS t2 +SET t1.x = 1000, t2.x = 2000 WHERE t1.id = t2.id" "INSERT INTO archive_table VALUES (1, 1), (2, 2), (3, 3)" "INSERT INTO innodb_table VALUES (1, 2), (3, 4), (5, 6)" +"UPDATE archive_table SET x = 1 WHERE id = 1" +"UPDATE archive_table SET x = x + 1 WHERE FALSE" +"UPDATE archive_table AS t1, innodb_table AS t2 +SET t1.x = 1, t2.x = 2 +WHERE t1.id = t2.id AND t1.id = 1" +"UPDATE v SET x = 1 WHERE id = 1" +"UPDATE v AS t1, innodb_table AS t2 +SET t1.x = 1, t2.x = 2 +WHERE t1.id = t2.id AND t1.id = 1" +"UPDATE archive_table SET x = x + 1" +"UPDATE archive_table SET x = NULL" +"UPDATE archive_table AS t1, innodb_table AS t2 +SET t1.x = t1.x + 1, t2.x = t2.x + 1 +WHERE t1.id = t2.id AND t1.id = 1" +"UPDATE v SET x = x + 1 WHERE id = 1" +"UPDATE v AS t1, innodb_table AS t2 +SET t1.x = t1.x + 1, t2.x = t2.x + 1 +WHERE t1.id = t2.id AND t1.id = 1" "SELECT * FROM archive_table ORDER BY id" "SELECT * FROM innodb_table ORDER BY id" "UPDATE archive_table AS t1, innodb_table AS t2 @@ -2952,9 +3218,10 @@ PRIMARY KEY USING HASH (dummyKey) ) engine=archive" "INSERT INTO t1 VALUES (NULL, ""first"", 1)" "INSERT INTO t1 VALUES (NULL, ""second"", 2)" "INSERT INTO t1 VALUES (NULL, ""third"", 3)" +"CREATE TABLE t1(a int) ENGINE=ARCHIVE" "INSTALL PLUGIN archive SONAME 'ha_archive.so'" +"INSTALL PLUGIN ARCHIVE SONAME 'ha_archive.so'" "UNINSTALL PLUGIN archive" -"CREATE TABLE t1(a int) ENGINE=ARCHIVE" "SELECT 1" "CREATE TABLE t1 ( a INT) ENGINE=archive" "SELECT * FROM t1 FOR UPDATE" @@ -3123,12 +3390,14 @@ PRIMARY KEY (t1_id) "create table t1 (rowid int not null auto_increment, val int not null,primary key (rowid), unique(val))" "replace into t1 (val) values ('1'),('2')" +"insert into t1 (val) values ('1'),('2')" "create table t1 (a int not null auto_increment primary key, val int)" "insert into t1 (val) values (1)" "update t1 set a=2 where a=1" "CREATE TABLE t1 (t1 INT(10) PRIMARY KEY, t2 INT(10))" "INSERT INTO t1 VALUES(0, 0)" "INSERT INTO t1 VALUES(1, 1)" +"ALTER TABLE t1 CHANGE t1 t1 INT(10) auto_increment" "create table t1 (a int primary key auto_increment, b int, c int, d timestamp default current_timestamp, unique(b),unique(c))" "insert into t1 values(null,1,1,now())" "insert into t1 values(null,0,0,null)" @@ -3140,17 +3409,20 @@ key (rowid), unique(val))" "CREATE TABLE t1 ( a INT )" "INSERT INTO t1 VALUES (1), (1)" "CREATE TABLE t2 ( a INT AUTO_INCREMENT KEY )" +"INSERT INTO t2 SELECT a FROM t1" "UPDATE t2 SET a = 2" "SELECT a FROM t2" "CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) engine=MyISAM" "INSERT INTO t1 VALUES (18446744073709551601)" "SET @@SESSION.AUTO_INCREMENT_INCREMENT=10" "SELECT @@SESSION.AUTO_INCREMENT_OFFSET" +"INSERT INTO t1 VALUES (NULL), (NULL), (NULL)" "SET @@SESSION.AUTO_INCREMENT_INCREMENT=default" "SET @@SESSION.AUTO_INCREMENT_OFFSET=default" "CREATE TABLE t1 (pk INT AUTO_INCREMENT, PRIMARY KEY (pk))" "INSERT INTO t1 VALUES (NULL), (-1), (NULL)" "CREATE TABLE t1 (pk BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY (pk))" +"INSERT INTO t1 VALUES (NULL), (18446744073709551615-1), (NULL)" "SHOW DATABASES" "create table t1(n int not null, key(n)) delay_key_write = 1" "select count(distinct n) from t1" @@ -3412,6 +3684,7 @@ where id between 8894754949779693574 and 17790886498483827171" "SELECT ( -1 BETWEEN 9223372036854775808 AND 1 )" "SELECT ( 0 BETWEEN 9223372036854775808 AND 1 )" "SELECT ( 1 BETWEEN 9223372036854775808 AND 1 )" +"drop table if exists t1,t2" "create table t1 (name char(20) not null, primary key (name)) charset latin1" "create table t2 (name char(20) collate utf8mb4_bin not null, primary key (name))" "insert into t1 values (""å"")" @@ -3511,6 +3784,7 @@ POINT(1, 1))" "call mtr.add_suppression(""You need to use --log-bin to make --binlog-format work."")" "SET @@GLOBAL.BINLOG_ROW_VALUE_OPTIONS= PARTIAL_JSON" "call mtr.add_suppression(""\\[Warning\\] \\[[^]]*\\] \\[[^]]*\\] You need to use --log-bin to make --binlog-format work."")" +"SELECT * FROM performance_schema.binlog_storage_iterator_entries" "CREATE TABLE t1(a INT NOT NULL)" "INSERT INTO t1 VALUES (1), (2), (3)" "CREATE TABLE t2 (a INT UNSIGNED, b INT, UNIQUE KEY (a, b)) ENGINE=BLACKHOLE" @@ -3521,8 +3795,8 @@ POINT(1, 1))" "INSERT INTO t VALUES ('abc'), ('xyz')" "SELECT MATCH (a) AGAINST ('abc') AS score FROM t" "SELECT 1 FROM t WHERE MATCH (a) AGAINST ('abc')" -"UNINSTALL PLUGIN blackhole" "CREATE TABLE t1(a int) ENGINE=BLACKHOLE" +"UNINSTALL PLUGIN blackhole" "SELECT IF(NULL AND 1, 1, 2), IF(1 AND NULL, 1, 2)" "SELECT NULL AND 1, 1 AND NULL, 0 AND NULL, NULL and 0" "insert into t1 values (0),(1),(NULL)" @@ -3560,14 +3834,17 @@ POINT(1, 1))" "SELECT (@id2=@id3)" "SELECT (@id3=@id4)" "SET GLOBAL log_error_services=''" +"SET GLOBAL log_error_services=NULL" "SET GLOBAL log_error_services=DEFAULT" "SELECT @@global.log_error_services" "CREATE TABLE t1(d DATE)" "INSERT INTO t1 VALUES('2011-02-20')" -"SET @old_sql_mode := @@sql_mode" -"SET @@sql_mode = 'ALLOW_INVALID_DATES'" +"SELECT * FROM t1 WHERE d <= '2013-02-32'" "SELECT * FROM t1 WHERE d <= '2013-02-30'" "SELECT * FROM t1 WHERE d >= '0000-00-00'" +"SELECT * FROM t1 WHERE d >= 'wrong-date'" +"SET @old_sql_mode := @@sql_mode" +"SET @@sql_mode = 'ALLOW_INVALID_DATES'" "SET @@sql_mode = @old_sql_mode" "CREATE TABLE t1 ( col_int_key integer, @@ -3676,6 +3953,7 @@ select a from t1 where a in ( select a from t1) )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'" "execute s1" "CREATE TABLE v0(c1 INT)" +"CREATE TABLE IF NOT EXISTS v2 ( CHECK ( c1 IN ( SELECT DISTINCT * FROM ( v0 a3 ) CROSS JOIN ( v0 ) ON c1 WHERE c1 ) ) ) TABLE v0 " "DROP TABLE v0" "CREATE TABLE t1(a TINYINT NOT NULL,b TINYINT,PRIMARY KEY(b)) ENGINE=innodb" "CREATE TABLE t2(d TINYINT NOT NULL,UNIQUE KEY(d)) ENGINE=innodb" @@ -3701,6 +3979,7 @@ WHERE plugin_name='example'" "CREATE TABLE db1.t1(a INT)" "SELECT CURRENT_USER()" "SHOW VARIABLES LIKE ""read_only%""" +"INSERT INTO db1.t1 VALUES (1)" "DROP USER user1@localhost" "CREATE TABLE t1 (a int, unique (a), b int not null, unique(b), c int not null, index(c))" "replace into t1 values (1,1,1),(2,2,2),(3,1,3)" @@ -3744,12 +4023,23 @@ CASE WHEN 1 THEN 0.1e1 else 0.1 END AS c10, CASE WHEN 1 THEN 0.1e1 else 1 END AS c11, CASE WHEN 1 THEN 0.1e1 else '1' END AS c12 " +"SELECT CASE +WHEN 1 +THEN _latin1'a' COLLATE latin1_danish_ci +ELSE _latin1'a' COLLATE latin1_swedish_ci +END" +"SELECT CASE _latin1'a' COLLATE latin1_general_ci +WHEN _latin1'a' COLLATE latin1_danish_ci THEN 1 +WHEN _latin1'a' COLLATE latin1_swedish_ci THEN 2 +END" "SELECT CASE _latin1'a' COLLATE latin1_general_ci WHEN _latin1'A' THEN '1' ELSE 2 END, CASE _latin1'a' COLLATE latin1_bin WHEN _latin1'A' THEN '1' ELSE 2 END, CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_swedish_ci THEN '1' ELSE 2 END, CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_bin THEN '1' ELSE 2 END " +"CREATE TABLE t1 SELECT COALESCE(_latin1'a',_latin2'a')" +"CREATE TABLE t1 SELECT COALESCE('a' COLLATE latin1_swedish_ci,'b' COLLATE latin1_bin)" "CREATE TABLE t1 SELECT COALESCE(1), COALESCE(1.0),COALESCE('a'), COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'), @@ -3758,6 +4048,7 @@ COALESCE('a' COLLATE latin1_bin,'b')" COALESCE(1), COALESCE(1.0),COALESCE('a'), COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'), COALESCE('a' COLLATE latin1_bin,'b')" +"CREATE TABLE t1 SELECT IFNULL('a' COLLATE latin1_swedish_ci, 'b' COLLATE latin1_bin)" "SELECT 'case+union+test' UNION SELECT CASE LOWER('1') WHEN LOWER('2') THEN 'BUG' ELSE 'nobug' END" @@ -3885,6 +4176,24 @@ GROUP BY e2,i1 ORDER BY nullif_c, SUM(d1)" "SELECT CASE t1.a WHEN 'a' THEN 'c' ELSE 'd' END FROM t1" "CREATE TABLE t1 (col_int int, col_double double, j json)" "INSERT INTO t1 VALUES (382218415, -36452.389, '{""key1"": 220655528}')" +"SELECT col_int FROM t1 +WHERE CASE WHEN POWER(col_double, col_int) THEN j ELSE j END" +"DO GROUP_CONCAT(DISTINCT NULLIF(1, PERIOD_ADD(0x6f09c5f8 ,'7451-01-27')))" +"DO IFNULL(multipolygon( +multilinestring( +linestring(point(8117,-31186), point(31282,20992)), +linestring(point(-10280,-15814), point(13662,-12122), +point(12677,16556)))), +benchmark(2, version() >> (NOT json_objectagg('{""ab"":2}', +'[{""a"":""3""},{""a"":2},{""b"":1},{""a"":0},{""a"":[1,2]}]'))))" +"DO COALESCE(multipolygon( +multilinestring( +linestring(point(8117,-31186), point(31282,20992)), +linestring(point(-10280,-15814), point(13662,-12122), +point(12677,16556)))), +benchmark(2, version() >> (NOT json_objectagg('{""ab"":2}', +'[{""a"":""3""},{""a"":2},{""b"":1},{""a"":0},{""a"":[1,2]}]'))))" +"select CAST(1-2 AS UNSIGNED)" "select CAST(CAST(1-2 AS UNSIGNED) AS SIGNED INTEGER)" "select CAST('10 ' as unsigned integer)" "select CAST('10x' as unsigned integer)" @@ -4051,6 +4360,8 @@ AND CAST(a AS BINARY)=x'65736D697468'" "SELECT CAST( 'a' AS BINARY(429496729))" "SELECT CAST( 'a' AS BINARY(4294967294))" "SELECT CAST( 'a' AS BINARY(4294967295))" +"SELECT CAST( 'a' AS BINARY(4294967296))" +"SELECT CAST( 'a' AS BINARY(4294967296784564))" "CREATE TABLE t1 AS SELECT CONCAT(CAST(REPEAT('9', 1000) AS SIGNED)), CONCAT(CAST(REPEAT('9', 1000) AS UNSIGNED))" "CREATE TABLE t (c1 ENUM('a','b','c'))" @@ -4062,6 +4373,13 @@ CAST(1/3 AS DOUBLE) as double_col, CAST(1/3 AS DOUBLE PRECISION) as double_prec_col, CAST(1/3 AS REAL) as real_col" "SELECT CAST(1/3 AS FLOAT(10)), CAST(1/3 AS FLOAT(53))" +"SELECT CAST(1/3 AS FLOAT(-1))",,syntax_error +"SELECT CAST(1/3 AS FLOAT(54))" +"SELECT CAST(1/3 AS DOUBLE(52))",,syntax_error +"SELECT CAST(1/3 AS REAL(34))",,syntax_error +"SELECT CAST(999.00009 AS FLOAT(7,4)) as float_col",,syntax_error +"SELECT CAST(999.00009 AS DOUBLE(7,4)) as double_col",,syntax_error +"SELECT CAST(999.00009 AS REAL(7,4)) as real_col",,syntax_error "SELECT ADDDATE(CAST(""20010101235959.9"" AS DOUBLE), INTERVAL 1 DAY)" "SELECT TIMEDIFF(CAST(""101112"" AS DOUBLE), TIME'101010')" "SELECT CAST(DATE'2000-01-01' AS FLOAT), CAST(DATE'2000-01-01' AS DOUBLE)" @@ -4075,7 +4393,10 @@ CAST(TIMESTAMP'2000-01-01 23:59:59.123456' AS DOUBLE)" "CREATE TABLE t1 as SELECT CAST(1/3 AS FLOAT) as float_col, CAST(1/3 AS DOUBLE) as double_col, CAST(CAST(999.00009 AS DECIMAL(7,4)) AS DOUBLE) as d2" +"SELECT PERIOD_ADD(200905, CAST(3.14e19 AS DOUBLE))" "SELECT -1.0 * CAST(3.14e19 AS DOUBLE)" +"SELECT CAST(""3.14e100"" AS FLOAT)" +"SELECT CAST(-1e308 as FLOAT)" "SELECT CONCAT(""value="", CAST(""3.4e5"" AS FLOAT))" "CREATE VIEW v1 AS SELECT CAST(1/3 AS REAL), CAST(1/3 AS FLOAT(2)), CAST(1/3 AS FLOAT(50))" "SELECT CAST(NULL AS REAL), CAST(NULL AS FLOAT), CAST(NULL AS DOUBLE)" @@ -4316,6 +4637,7 @@ WHERE (table3.col_char_key < table2.col_datetime_key)" "SELECT CAST(TIME'08:09:10' AS YEAR)" "SELECT CAST(TIME'00:00:00' AS YEAR)" "SET timestamp = DEFAULT" +"SELECT CAST(ST_PointFromText('POINT(10 10)') AS YEAR)" "CREATE TABLE t AS SELECT CAST(""2010"" AS YEAR)" "SELECT CAST(JSON_EXTRACT('{""key_year"":1934}', '$.key_year') AS YEAR)" "SELECT CAST(CAST('{""_id"":""192312412512""}' AS JSON) AS YEAR)" @@ -4409,6 +4731,8 @@ SELECT CONCAT(CAST(-1 AS UNSIGNED)) AS col1, CONCAT(CAST(9223372036854775808 AS SIGNED)) AS col3" "CREATE TABLE t (x VARCHAR(10) NOT NULL)" "INSERT INTO t VALUES ('')" +"SELECT CAST(x <= 0x4891f642 AS UNSIGNED) FROM t" +"SELECT CAST(STRCMP(x, 0x4891f642) AS UNSIGNED) FROM t" "CREATE TABLE tmp(beer CHAR(1))" "INSERT INTO tmp VALUES (CONVERT(X'F09F8DBA' USING utf8mb4))" "SELECT HEX(beer), beer FROM tmp" @@ -4432,9 +4756,11 @@ SELECT CONVERT(X'D83CDF7A' USING utf16) as beer" "set @a:= @b" "do convert(@a using latin1)" "SELECT CAST(1111111111111111 AS FLOAT) = CAST(1111111111111110 AS FLOAT) AS eq" +"select CAST( 1 AS FLOAT ( 54 ) ) and CAST( 1 AS FLOAT ( 54 ) )" "SELECT CAST(CAST(1111111111111111 AS FLOAT) AS CHAR) AS v" "SELECT CAST(CAST(1111111111111111 AS FLOAT) AS SIGNED) AS v" "SELECT CAST(CAST(1111111111111111 AS FLOAT) AS DECIMAL(20,2)) AS v" +"SELECT * from v0 WHERE v1 LIKE v1 ESCAPE CONVERT ( TRUE, DATETIME (100 ) )" "CREATE table t (a int not null)" "SELECT 1 FROM t WHERE CAST(a AS UNSIGNED INTEGER) = 1 AND a = (SELECT 1 FROM t)" @@ -4462,6 +4788,24 @@ AND a = (SELECT 1 FROM t)" "SELECT GET_LOCK('bug31418', 1)" "SELECT IS_USED_LOCK('bug31418') = CONNECTION_ID()" "FLUSH STATUS" +"CREATE PROCEDURE p_flush_status() +BEGIN +DECLARE x INT DEFAULT 3000; +WHILE x DO +SET x = x-1; +FLUSH STATUS; +END WHILE; +END " +"CREATE PROCEDURE p_processlist() +BEGIN +DECLARE x INT DEFAULT 3000; +WHILE x DO +SET x = x-1; +SELECT COUNT(*) INTO @a FROM information_schema.processlist; +END WHILE; +END " +"DROP PROCEDURE p_flush_status" +"DROP PROCEDURE p_processlist" "SELECT _utf8mb3'abc'" "SELECT n'abc'" "SELECT CONVERT ( 'abc' USING utf8mb3 )" @@ -4566,27 +4910,45 @@ COLUMNS (p CHAR(1) CHARACTER SET hp8 COLLATE hp8_english_ci PATH '$.a')) AS t" "RESET PERSIST character_set_server" "SHOW CHARACTER SET LIKE '%filename%'" "SHOW COLLATION LIKE '%filename%'" +"SELECT _filename'abcd'" +"SELECT CONVERT(_latin1'abcd' USING filename)" +"SELECT CAST(_latin1'abcd' AS CHAR CHARACTER SET filename)" +"SET NAMES 'filename'" "SET NAMES 'utf8mb3'" +"SET CHARACTER_SET_CLIENT=17" "SET CHARACTER_SET_CLIENT=33" "DROP DATABASE IF EXISTS db21958734" +"CREATE DATABASE db21958734 CHARACTER SET filename" +"CREATE DATABASE db21958734 COLLATE filename" "CREATE DATABASE db21958734 CHARACTER SET utf8mb3" +"ALTER DATABASE db21958734 CHARACTER SET filename" +"ALTER DATABASE db21958734 COLLATE filename" "ALTER DATABASE db21958734 CHARACTER SET latin1" "USE db21958734" +"CREATE TABLE t1(a VARCHAR(10)) CHARACTER SET filename" +"CREATE TABLE t1(a VARCHAR(10)) COLLATE filename" +"CREATE TABLE t1(a VARCHAR(10) CHARACTER SET filename)" +"CREATE TABLE t1(a VARCHAR(10) COLLATE filename)" "CREATE TABLE t1(a VARCHAR(10) CHARACTER SET utf8mb3) CHARACTER SET latin1" +"ALTER TABLE t1 CHARACTER SET filename" +"ALTER TABLE t1 COLLATE filename" "ALTER TABLE t1 CHARACTER SET gbk" +"ALTER TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET filename" +"ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE filename" "ALTER TABLE t1 MODIFY a VARCHAR(10) CHARACTER SET cp932" "DROP DATABASE db21958734" "SET NAMES utf8mb4" +"SELECT 'x' AS '🐬'" "SELECT '🐬'" "CREATE TABLE 🐬(a INT)" "CREATE TABLE t1(🐬 INT)" "CREATE TABLE t2(a INT COMMENT ""🐬"")" "CREATE TABLE t3(a INT)" +"CREATE VIEW v1 AS SELECT 'x' AS'🐬'" "DROP TABLE 🐬" "PREPARE stmt FROM ""SELECT 'x' AS '🐬'""" "EXECUTE stmt" "SET NAMES utf8mb3" -"SELECT 'x' AS '🐬'" "SET NAMES default" "CREATE TABLE t1 (f1 CHAR(20) COLLATE binary)" "CREATE TABLE t1 (f1 ENUM('a') COLLATE binary)" @@ -4609,7 +4971,6 @@ val varchar(32) NOT NULL) collate utf8mb4_sv_0900_ai_ci" "SET session collation_connection = 'utf8mb4_general_ci'" "DROP VIEW v2" "SET session collation_connection = @old_collation" -"drop table if exists t1,t2" "drop view if exists v1" "create table t1(n int not null, key(n), key(n), key(n), key(n))" "insert into t1 values (200000)" @@ -4625,7 +4986,6 @@ val varchar(32) NOT NULL) collate utf8mb4_sv_0900_ai_ci" "CHECK TABLE t1 FOR UPGRADE" "ALTER TABLE t1 CHANGE COLUMN i j INT, ALGORITHM=INPLACE" "ALTER TABLE t1 CHANGE COLUMN j k INT, ALGORITHM=COPY" -"ALTER TABLE t1 ADD COLUMN l INT, ALGORITHM=INSTANT" "CREATE TEMPORARY TABLE tt1(i INT)" "CHECK TABLE tt1 FOR UPGRADE" "DROP TABLE tt1" @@ -4637,29 +4997,76 @@ val varchar(32) NOT NULL) collate utf8mb4_sv_0900_ai_ci" "DROP VIEW u, v, w" "CALL mtr.add_suppression(""World-writable config file .* is ignored"")" "CALL mtr.add_suppression(""World-writable config file .* has been removed."")" +"CREATE TABLE t1(f1 int CHECK)",,syntax_error +"CREATE TABLE t1(f1 int CHECK())",,syntax_error +"CREATE TABLE t1(f1 int CONSTRAINT CHECK())",,syntax_error +"CREATE TABLE t1(f1 int t1_ck CHECK())",,syntax_error +"CREATE TABLE t1(f1 int CONSTRAINT t1_ck CHECK())",,syntax_error +"CREATE TABLE t1(f1 int CONSTRAINT t1_ck CHECK( f1 < 10) NOT)",,syntax_error +"CREATE TABLE t1(f1 int CHECK(f1))" +"CREATE TABLE t1(f1 int CHECK(f1 + 10))" +"CREATE TABLE t1(f1 int CHECK(f2 < 10))" "CREATE TABLE t1 (f1 int CHECK(f1 < 10), f2 int CONSTRAINT t1_f2_ck CHECK (f2 < 10))" +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int CHECK)",,syntax_error +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int CHECK())",,syntax_error +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int CONSTRAINT CHECK())",,syntax_error +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int t1_f2_ck CHECK(f2 < 10))",,syntax_error +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int CONSTRAINT t1_f2_ck CHECK(f2 < 10) NOT)",,syntax_error +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int CHECK(f2 < 10) NOT)",,syntax_error +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int CHECK(f2))" +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int CHECK(f2 + 10))" +"CREATE TABLE t1(f1 int CHECK(f1 < 10), f2 int CHECK(f3 < 10))" "CREATE TABLE t1 (f1 int CHECK(f1 < 10), f2 int CHECK(f2 < 10), f3 int CONSTRAINT t1_f3_ck CHECK (f3 < 10))" +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK)",,syntax_error +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK()",,syntax_error +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK())",,syntax_error +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1))" +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1 + 10))" +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f2 < 10))" "CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1 < 10))" +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1<10), CONSTRAINT t2_ck CHECK)",,syntax_error +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1<10), CONSTRAINT t2_ck CHECK()",,syntax_error +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1<10), CONSTRAINT t2_ck CHECK(f2 > 0) NOT)",,syntax_error +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1<10), CONSTRAINT t2_ck CHECK(f1))" +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1<10), CONSTRAINT t2_ck CHECK(f1 + 10))" +"CREATE TABLE t1(f1 int, CONSTRAINT t1_ck CHECK(f1<10), CONSTRAINT t2_ck CHECK(f2 > 1))" "CREATE TABLE t1(f1 int, CHECK(f1<10), CONSTRAINT t2_ck CHECK(f1 > 1))" "CREATE TABLE t1(c1 INT, c2 INT, CONSTRAINT `ck_1$` CHECK (c2 < 10))" "CREATE TABLE t1(c1 INT, c2 INT, CONSTRAINT ` ck_2$ ` CHECK (c2 < 10))" +"ALTER TABLE t1 DROP CHECK ck_2$" "ALTER TABLE t1 DROP CHECK ` ck_2$ `" "ALTER TABLE t1 ADD COLUMN c3 INTEGER , ADD CONSTRAINT ` c 3 ` CHECK ( c3 > 10 )" +"CREATE TABLE t1(c1 INT, c2 INT, CONSTRAINT FLOAT CHECK (c2 < 10))",,syntax_error "CREATE TABLE t1(c1 INT, c2 INT, CONSTRAINT `FLOAT` CHECK (c2 < 10))" "CREATE TABLE t1(c1 INT, c2 INT, CONSTRAINT ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk CHECK (c2 < 10))" +"CREATE TABLE t2(c1 INT, c2 INT, +CONSTRAINT ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk1 +CHECK (c2 < 10))" "CREATE TABLE t1 (f1 INT CHECK (f1 < 10))" +"RENAME TABLE t1 TO t123456789012345678901234567890123456789012345678901234567890" +"CREATE TABLE t123456789012345678901234567890123456789012345678901234567890(f1 INT CHECK(f1 < 10))" "CREATE TABLE t123456789012345678901234567890123456789012345678901234567890(f1 INT)" +"ALTER TABLE t123456789012345678901234567890123456789012345678901234567890 ADD CONSTRAINT CHECK (f1 < 10)" "DROP TABLE t123456789012345678901234567890123456789012345678901234567890" "CREATE TABLE t(c1 INT CONSTRAINT t2_chk_1 CHECK (c1 > 10))" "CREATE TABLE t1(c1 INT CHECK (c1 > 10), CONSTRAINT ck CHECK(c1 > 10))" +"CREATE TABLE t2(c1 INT, CONSTRAINT ck CHECK(c1 > 10))" +"ALTER TABLE t1 ADD CONSTRAINT ck CHECK(c1 > 10)" +"ALTER TABLE t1 ADD c2 INT, RENAME TO t2" "CREATE TABLE db1.t(c1 INT CONSTRAINT t2_chk_1 CHECK (c1 > 10))" +"ALTER TABLE t1 ADD c2 INT, RENAME TO db1.t2" +"ALTER TABLE t1 RENAME TO db1.t2" +"CREATE TABLE t1 (f1 INT, +CONSTRAINT cafe CHECK (f1 < 10), +CONSTRAINT CAFE CHECK (f1 < 10))" "create table t1 (f1 int, CONSTRAINT cafe CHECK (f1 < 10), CONSTRAINT café CHECK (f1 < 10))" +"CREATE TABLE t1(CHECK((f1 + f3) > 10), f1 int CHECK (f1 < 10), f2 int)" "CREATE TABLE t1(CHECK((f1 + f2) > 10), f1 int CHECK (f1 < 10), f2 int)" "SELECT * FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS" "CREATE TABLE t1(c1 INT, c2 INT, c3 INT, c4 INT)" @@ -4676,14 +5083,20 @@ c2 INT, c3 INT GENERATED ALWAYS AS (c1 + c2), CONSTRAINT ck CHECK (c3 > 10) )" +"INSERT INTO t1(c1,c2) VALUES(1,1)" "INSERT INTO t1(c1,c2) VALUES(10,10)" "CREATE TABLE t1(c1 INT DEFAULT 100 CHECK(c1 > 10))" +"INSERT INTO t1() VALUES(1)" "INSERT INTO t1() VALUES()" "CREATE TABLE t1(c1 int DEFAULT 1, CONSTRAINT CHECK(c1 IS NOT NULL))" +"INSERT INTO t1() VALUES(NULL)" "CREATE TABLE t1(c1 VARCHAR(1) CHARSET ASCII CHECK(c1 = 'a'), c2 VARCHAR(1) CHARSET ASCII DEFAULT('b'))" +"INSERT INTO t1(c1) VALUES('b')" "INSERT INTO t1(c1) VALUES('a')" "CREATE TABLE t1 (CHECK (1 < 1), f1 int)" +"INSERT INTO t1 VALUES(10)" +"INSERT INTO t1 VALUES()" "CREATE TABLE t1(f1 INT PRIMARY KEY, f2 INT CHECK (f2 < 10), CONSTRAINT t2_cc1 CHECK (f1 + SQRT(f2) > 6174))" "SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME='t1'" @@ -4705,13 +5118,18 @@ CONSTRAINT max CHECK (f1 + f2 < 929))" "INSERT INTO t2 VALUES(102, NULL)" "INSERT INTO t2 VALUES(103, 1000)" "INSERT INTO t1 VALUES(2, NULL)" +"INSERT INTO t1 VALUES(3, 1000)" "INSERT IGNORE INTO t1 VALUES (3, 1000)" +"INSERT INTO t1 SELECT * FROM t2" "INSERT IGNORE INTO t1 SELECT * FROM t2" "REPLACE INTO t1 VALUES(4, 1)" "REPLACE INTO t1 VALUES(5, NULL)" +"REPLACE INTO t1 VALUES(6, 100)" +"REPLACE INTO t1 VALUES(2, 10)" "REPLACE INTO t1 VALUES(2, 2)" "UPDATE t1 SET f2 = 2" "UPDATE t1 SET f2 = NULL" +"UPDATE t1 SET f2 = 1000" "UPDATE IGNORE t1 SET f2 = 1000" "CREATE TABLE t2(f1 INT,f2 INT)" "INSERT INTO t2 VALUES(1,1)" @@ -4720,6 +5138,7 @@ CONSTRAINT max CHECK (f1 + f2 < 929))" "LOAD DATA INFILE 'tmp1.txt' INTO TABLE t1" "INSERT INTO t2 VALUES(3,20)" "SELECT * FROM t2 INTO OUTFILE 'tmp2.txt'" +"LOAD DATA INFILE 'tmp2.txt' INTO TABLE t1" "LOAD DATA INFILE 'tmp2.txt' IGNORE INTO TABLE t1" "CREATE TABLE t1 (a INT CHECK(a < 3), b CHAR(10)) CHARSET latin1" "LOAD DATA INFILE '../../std_data/loaddata3.dat' IGNORE INTO TABLE t1 @@ -4727,9 +5146,11 @@ FIELDS TERMINATED BY '' ENCLOSED BY '' IGNORE 1 LINES" "INSERT INTO t1 VALUES (1, 1)" "INSERT INTO t1 VALUES (1, 2) ON DUPLICATE KEY UPDATE f2 = 4" "INSERT IGNORE INTO t1 VALUES (1, 1) ON DUPLICATE KEY UPDATE f2 = 20" +"INSERT INTO t1 VALUES (1, 1) ON DUPLICATE KEY UPDATE f2 = 20" "CREATE TABLE t1(f1 INT, f2 INT CHECK(f2 < 20))" "INSERT INTO t1 VALUES (4, 4)" "INSERT INTO t2 VALUES (4, 24)" +"UPDATE t1,t2 SET t1.f2 = t1.f2 + 20 WHERE t1.f1 = t2.f1" "UPDATE IGNORE t1,t2 SET t1.f2 = t1.f2 + 20 WHERE t1.f1 = t2.f1" "CREATE TABLE t1 ( `f1` int(10) unsigned NOT NULL auto_increment, @@ -4744,6 +5165,7 @@ PRIMARY KEY (`f3`,`f4`) )" "INSERT INTO t2 VALUES (495,500)" "INSERT INTO t2 VALUES (496,500)" +"UPDATE t2,t1 set t2.f4 = t2.f4 + 1" "UPDATE IGNORE t2,t1 set t2.f4 = t2.f4 + 1" "CREATE TABLE t1 (f1 INT CHECK(f1 < 10))" "RENAME TABLE t1 TO t2" @@ -4757,23 +5179,29 @@ PRIMARY KEY (`f3`,`f4`) "SHOW CREATE TABLE t7" "ALTER TABLE t6 RENAME TO t1" "ALTER TABLE t7 RENAME TO t3" +"ALTER TABLE t1 ADD f2 INT CHECK (f2 < 10), ALGORITHM=INPLACE" +"ALTER TABLE t3 ADD f2 INT CHECK (f2 < 10), ALGORITHM=INPLACE" "ALTER TABLE t1 ADD f3 INT CHECK (f3 < 10) NOT ENFORCED, ALGORITHM=INPLACE" "ALTER TABLE t1 ADD CONSTRAINT CHECK (f2 < 10) NOT ENFORCED, ALGORITHM=INPLACE" +"ALTER TABLE t1 RENAME COLUMN f1 TO f10" "ALTER TABLE t3 DROP CHECK t3_chk_3" "ALTER TABLE t3 DROP CHECK t3_p_ck, ADD CONSTRAINT t3_p_ck CHECK (f1 > 38)" "INSERT INTO t1 VALUES (5, 5, 5)" "ALTER TABLE t1 ALTER CHECK t1_chk_1 NOT ENFORCED, ALGORITHM=INPLACE" "INSERT INTO t1 VALUES (8, 8, 8)" -"ALTER TABLE t1 ALTER CHECK t1_chk_1 ENFORCED, ALGORITHM=COPY" "ALTER TABLE t1 ALTER CHECK t1_chk_1 ENFORCED, ALGORITHM=INPLACE" +"ALTER TABLE t1 ALTER CHECK t1_chk_1 ENFORCED, ALGORITHM=COPY" "INSERT INTO t1 VALUES (12, 5, 5)" "DROP TABLE t1, t3" "CREATE TABLE t1(c1 INT)" "ALTER TABLE t1 ADD CONSTRAINT CHECK (C1 > 10), ALGORITHM=COPY" +"ALTER TABLE t1 ADD CONSTRAINT CHECK (C1 > 10), ALGORITHM=INPLACE" +"ALTER TABLE t1 ADD CONSTRAINT CHECK (C1 > 10), ALGORITHM=INSTANT" "ALTER TABLE t1 DROP CHECK t1_chk_1, ALGORITHM=INPLACE" "CREATE TABLE t1 (c1 INT, CONSTRAINT ck1 CHECK (c1 > 10))" "ALTER TABLE t1 ADD COLUMN c2 INT, ADD CONSTRAINT ck2 CHECK (c2 > 10)" +"INSERT INTO t1 VALUES(20,10)" "ALTER TABLE t1 DROP CHECK ck2, DROP COLUMN c2" "ALTER TABLE t1 ADD COLUMN c3 INT, ADD CONSTRAINT ck3 CHECK (c3 < 10)" @@ -4792,6 +5220,8 @@ CONSTRAINT CHECK (f1 > 10) NOT ENFORCED)" "ALTER TABLE t1 ALTER CHECK t1_chk_2 ENFORCED" "ALTER TABLE t1 ADD f4 INT CONSTRAINT t1_f4_chk CHECK (f4 < 10) NOT ENFORCED" "ALTER TABLE t1 ALTER CHECK t1_f4_chk ENFORCED" +"ALTER TABLE t1 DROP CHECK ck13" +"ALTER TABLE t1 ALTER CHECK ck13 ENFORCED" "ALTER TABLE t1 DROP CHECK ck21, ADD CONSTRAINT ck21 CHECK (c1 > 10), DROP CHECK ck22, ADD CONSTRAINT ck22 CHECK (c1 < 10), @@ -4802,38 +5232,97 @@ DROP CHECK ck42, ADD CONSTRAINT ck42 CHECK (c1 < 10), ALTER CHECK ck11 NOT ENFORCED, ALTER CHECK ck12 NOT ENFORCED, ALTER CHECK ck11 ENFORCED" +"ALTER TABLE t1 DROP CHECK ck11, ALTER CHECK ck11 NOT ENFORCED, +ADD CONSTRAINT ck11 CHECK (c1 > 10)" "CREATE TABLE t1 (f1 INT check (f1 < 10), f2 INT)" "ALTER TABLE t1 DROP COLUMN f1" "ALTER TABLE t1 ADD COLUMN f1 INT check(f1 < 10), ADD CONSTRAINT check(f1 + f2 < 10), ADD CONSTRAINT check(f2 < 10)" +"ALTER TABLE t1 RENAME COLUMN f1 to f3" "ALTER TABLE t1 DROP CHECK t1_chk_2, DROP COLUMN f1" "CREATE TABLE t1(c1 CHAR(1), CHECK (c1 > 'A'))" +"INSERT INTO t1 VALUES('A')" "INSERT INTO t1 VALUES('B')" "ALTER TABLE t1 MODIFY COLUMN c1 FLOAT(10.3), DROP CHECK t1_chk_1, ADD CONSTRAINT CHECK(C1 > 10.1) ENFORCED" "CREATE TABLE t1 (f1 INT CHECK (f1 = default(f1)))" "INSERT INTO t1 VALUES (10)" +"ALTER TABLE t1 MODIFY COLUMN f1 INT DEFAULT 20, algorithm=inplace" +"ALTER TABLE t1 ALTER f1 SET DEFAULT 20, algorithm=inplace" +"ALTER TABLE t1 MODIFY COLUMN f1 INT DEFAULT 20, algorithm=copy" +"ALTER TABLE t1 CHANGE c1 c1 FLOAT, ALGORITHM=INPLACE" "ALTER TABLE t1 DROP CHECK t1_chk_1, CHANGE c1 c2 VARCHAR(20), ADD CONSTRAINT CHECK(c2 > 'B')" "CREATE TABLE t (a INT, b INT, CHECK(a != b))" "INSERT INTO t VALUES (2000000000, 2000000001)" +"ALTER TABLE t CHANGE a a FLOAT, CHANGE b b FLOAT" +"ALTER TABLE t ADD CONSTRAINT CHECK(a > b)" "CREATE TABLE t1(f1 int CHECK (f1 IN (10, 20, 30)), f2 int, CHECK(f2 IN (100, 120, 450)))" "INSERT INTO t1 VALUES(10, 100)" +"INSERT INTO t1 VALUES(15, 100)" +"INSERT INTO t1 VALUES(10, 105)" "CREATE TABLE t1(f1 int CHECK(f1 BETWEEN 10 AND 30), f2 int, CHECK(f2 BETWEEN 100 AND 450))" "INSERT INTO t1 VALUES(20, 200)" +"INSERT INTO t1 VALUES(2, 200)" +"INSERT INTO t1 VALUES(20, 2000)" "CREATE TABLE t1 (f1 int CHECK(f1 IS NOT NULL))" -"INSERT INTO t1 VALUES(10)" -"CREATE TABLE t1 (f1 int CHECK(f1 IS NULL))" "INSERT INTO t1 VALUES(NULL)" +"CREATE TABLE t1 (f1 int CHECK(f1 IS NULL))" "CREATE TABLE t1(c1 INT, c2 INT)" "ALTER TABLE t1 ADD CONSTRAINT CHECK( (CASE WHEN c1 > 10 THEN c2 = 20 END) = 1)" "INSERT INTO t1 VALUES(1,1)" +"INSERT INTO t1 VALUES(15,1)" "INSERT INTO t1 VALUES(15,20)" +"CREATE TABLE t1 (f1 int primary key auto_increment, f2 int, CHECK (f1 != f2))" +"CREATE TABLE t1 (f1 int primary key auto_increment CHECK (f1 < 10), f2 int, CHECK (f1 != f2))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + NOW() > '2011-11-21'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + CURRENT_TIMESTAMP() > '2011-11-21 01:02:03'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + CURRENT_TIMESTAMP > '2011-11-21 01:02:03'))" +"CREATE TABLE t1 (f1 DATETIME CHECK (f1 + CURDATE() > '2011-11-21'))" +"CREATE TABLE t1 (f1 DATETIME CHECK (f1 + CURTIME() > '23:11:21'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + CURRENT_TIME > '01:02:03'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + CURRENT_DATE() > '2011-11-21'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + CURRENT_DATE > '2011-11-21'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + CURRENT_TIME() > '01:02:03'))" +"CREATE TABLE t1 (f1 DATETIME CHECK (f1 + LOCALTIME() > '23:11:21'))" +"CREATE TABLE t1 (f1 DATETIME CHECK (f1 + LOCALTIME > '23:11:21'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + LOCALTIMESTAMP() > '2011-11-21 01:02:03'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + LOCALTIMESTAMP > '2011-11-21 01:02:03'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + UNIX_TIMESTAMP() > '2011-11-21 01:02:03'))" +"CREATE TABLE t1 (f1 DATETIME CHECK (f1 + UTC_DATE() > '2011-11-21'))" +"CREATE TABLE t1 (f1 TIMESTAMP CHECK (f1 + UTC_TIMESTAMP() > '2011-11-21 01:02:03'))" +"CREATE TABLE t1 (f1 DATETIME CHECK (f1 + UTC_TIME() > '23:11:21'))" +"CREATE TABLE t1 (f1 INT CHECK (f1 + CONNECTION_ID() < 929))" +"CREATE TABLE t1 (a VARCHAR(32) CHECK (CURRENT_USER() != a))" +"CREATE TABLE t1 (a VARCHAR(32) CHECK (CURRENT_USER != a))" +"CREATE TABLE t1 (a VARCHAR(32) CHECK (SESSION_USER() != a))" +"CREATE TABLE t1 (a VARCHAR(32) CHECK (VERSION() != a))" +"CREATE TABLE t1 (a VARCHAR(1024), b INT CHECK (b + FOUND_ROWS() > 2000))" +"CREATE TABLE t1 (a INT CHECK ((a + LAST_INSERT_ID()) < 929))" +"CREATE TABLE t1 (a VARCHAR(32) CHECK (SYSTEM_USER() != a))" +"CREATE TABLE t1 (a VARCHAR(32) CHECK (USER() != a))" +"CREATE TABLE t1 (f1 FLOAT CHECK (f1 + RAND() < 929.929))" +"CREATE TABLE t1 (a INT CHECK (a + ROW_COUNT() > 1000))" +"CREATE TABLE t1 (a VARCHAR(1024), b VARCHAR(1024) CHECK (GET_LOCK(b,10) != 0))" +"CREATE TABLE t1 (a VARCHAR(1024), b VARCHAR(1024) CHECK (IS_FREE_LOCK(b) != 0))" +"CREATE TABLE t1 (a VARCHAR(1024), b VARCHAR(1024) CHECK (IS_USED_LOCK(b) != 0))" +"CREATE TABLE t1 (a VARCHAR(1024), b VARCHAR(1024) CHECK (RELEASE_LOCK(b) != 0))" +"CREATE TABLE t1 (a VARCHAR(1024), b VARCHAR(1024), CHECK (RELEASE_ALL_LOCKS() != 0))" +"CREATE TABLE t1 (f1 VARCHAR(1024), f2 VARCHAR(1024) CHECK (LOAD_FILE(f2) != NULL))" +"CREATE TABLE t1 (id CHAR(40) CHECK(UUID() != id))" +"CREATE TABLE t1 (id INT CHECK(UUID_SHORT() != id))" +"CREATE TABLE t1 (id INT CHECK(SLEEP(id) != 0))" "CREATE FUNCTION func() RETURNS INT DETERMINISTIC return 1" +"CREATE TABLE t1 (id INT CHECK(id = func()))" "DROP FUNCTION func" "CREATE PROCEDURE proc() SELECT 1" +"CREATE TABLE t1 (id INT CHECK(id = proc()))" "DROP PROCEDURE proc" "SET @v = 10" +"CREATE TABLE t1 (id INT CHECK (id != @v))" +"CREATE TABLE t1 (id INT CHECK (id != @@global.max_execution_time))" +"CREATE TABLE t1 (id INt CHECK (id != @@session.max_execution_time))" +"CREATE TABLE t1 (id INT CHECK (id != (SELECT 1)))" "CREATE TABLE t1 ( c1 BIT(7) CHECK(c1 < B'1111100'), c2 BOOLEAN CHECK(c2 > 0), @@ -4845,6 +5334,16 @@ c7 BIGINT CHECK(c7 > 10), c8 DECIMAL(6,2) CHECK(c8 > 10.1), c9 FLOAT(6,2) CHECK(c9 > 10.1), c10 DOUBLE(6,2) CHECK(c10 > 10.1))" +"INSERT INTO t1(c1) VALUES(B'1111110')" +"INSERT INTO t1(c2) VALUES(0)" +"INSERT INTO t1(c3) VALUES(1)" +"INSERT INTO t1(c4) VALUES(1)" +"INSERT INTO t1(c5) VALUES(1)" +"INSERT INTO t1(c6) VALUES(1)" +"INSERT INTO t1(c7) VALUES(1)" +"INSERT INTO t1(c8) VALUES(10.0)" +"INSERT INTO t1(c9) VALUES(10.0)" +"INSERT INTO t1(c10) VALUES(10.0)" "INSERT INTO t1(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10) VALUES(B'1111000',1,11,11,11,11,11,10.2,10.2,10.2)" "CREATE TABLE t1(c1 CHAR(1) CHECK(c1 > 'a'), @@ -4859,6 +5358,17 @@ c9 MEDIUMBLOB CHECK(c9 > 'a'), c10 MEDIUMTEXT CHECK(c10 > 'a'), c11 LONGBLOB CHECK(c11 > 'a'), c12 LONGTEXT CHECK(c12 > 'a'))" +"INSERT INTO t1(c2) VALUES('a')" +"INSERT INTO t1(c3) VALUES('a')" +"INSERT INTO t1(c4) VALUES('a')" +"INSERT INTO t1(c5) VALUES('a')" +"INSERT INTO t1(c6) VALUES('a')" +"INSERT INTO t1(c7) VALUES('a')" +"INSERT INTO t1(c8) VALUES('a')" +"INSERT INTO t1(c9) VALUES('a')" +"INSERT INTO t1(c10) VALUES('a')" +"INSERT INTO t1(c11) VALUES('a')" +"INSERT INTO t1(c12) VALUES('a')" "INSERT INTO t1(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12) VALUES('b',""b"",""b"",""b"",""b"",""b"",""b"",""b"",""b"",""b"",""b"",""b"")" "CREATE TABLE t1 (c1 DATE CHECK(c1 > '2007-01-01'), @@ -4866,6 +5376,11 @@ c2 DATETIME CHECK(c2 > '2007-01-01 12:00:01'), c3 TIMESTAMP CHECK(c3 > '2007-01-01 00:00:01.000000'), c4 TIME CHECK(c4 > '12:00:01.000000'), c5 YEAR CHECK(c5 > '2007'))" +"INSERT INTO t1(c1) VALUES('2006-01-01')" +"INSERT INTO t1(c2) VALUES('2007-01-01 11:00:01')" +"INSERT INTO t1(c3) VALUES('2007-01-01 00:00:00.000000')" +"INSERT INTO t1(c4) VALUES('12:00:00.000000')" +"INSERT INTO t1(c5) VALUES('2006')" "INSERT INTO t1(c1,c2,c3,c4,c5) VALUES('2008-01-01','2007-01-01 12:00:02','2007-01-01 00:00:02.000000', '12:00:02.000000','2008')" @@ -4874,8 +5389,13 @@ id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), browser JSON CHECK( browser->'$.name' = ""Chrome"" ))" "INSERT INTO t1(name,browser) +VALUES('pageview','{ ""name"": ""Safari"", ""os"": ""Mac"" }')" +"INSERT INTO t1(name,browser) VALUES('pageview','{ ""name"": ""Chrome"", ""os"": ""Mac"" }')" "CREATE TABLE t1 (c1 ENUM ('a','b') CHECK (c1 IN ('c', 'd')) )" +"INSERT INTO t1 VALUES('b')" +"INSERT INTO t1 VALUES('c')" +"INSERT INTO t1 VALUES('d')" "CREATE TABLE t1 (c1 SET ('a','b') CHECK (c1 IN ('c', 'd')) )" "CREATE TABLE t1( pt POINT CHECK(ST_Equals(pt, ST_GEOMFROMTEXT('POINT(10 20)')) = TRUE), @@ -4886,6 +5406,11 @@ poly POLYGON CHECK(ST_Equals(poly, ST_GEOMFROMTEXT('POLYGON((0 0,6 7,8 8,3 9,0 0 (3 6,4 6,4 7,3 6))'))), mpoly MULTIPOLYGON CHECK(ST_Equals(mpoly, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)), ((2 2,4 5,6 2,2 2)))'))))" +"INSERT INTO t1(pt) VALUES (ST_GEOMFROMTEXT('POINT(10 21)'))" +"INSERT INTO t1(lnstr) VALUES (ST_GEOMFROMTEXT('LINESTRING(0 0,5 5,6 7)'))" +"INSERT INTO t1(mlnstr) VALUES (ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 3,4 5),(6 6,8 8,9 9,10 11))'))" +"INSERT INTO t1(poly) VALUES (ST_GEOMFROMTEXT('POLYGON((0 0,6 7,8 8,3 9,0 0),(3 6,4 6,4 8,3 6))'))" +"INSERT INTO t1(mpoly) VALUES (ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((2 2,4 5,6 3,2 2)))'))" "INSERT INTO t1(pt) VALUES (ST_GEOMFROMTEXT('POINT(10 20)'))" "INSERT INTO t1(lnstr) VALUES (ST_GEOMFROMTEXT('LINESTRING(0 0,5 5,6 6)'))" "INSERT INTO t1(mlnstr) VALUES (ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 3,4 5),(6 6,8 8,9 9,10 10))'))" @@ -4907,49 +5432,76 @@ CONSTRAINT ck5 CHECK (scholarship BETWEEN 5000 AND 20000), CONSTRAINT ck6 CHECK (country IN ('usa','uk')) )" "SHOW CREATE TABLE student" +"INSERT INTO student VALUES(0,""j001"",""name1"",""name1@oracle.com"",6000,'usa')" +"INSERT INTO student VALUES(1,""s001"",""name1"",""name1@oracle.com"",6000,'usa')" +"INSERT INTO student VALUES(1,""j001"",""NONAME"",""name1@oracle.com"",6000,'usa')" +"INSERT INTO student VALUES(1,""j001"",""name1"",""name1oracle.com"",6000,'usa')" +"INSERT INTO student VALUES(1,""j001"",""name1"",""name1@oracle.com"",4000,'usa')" +"INSERT INTO student VALUES(1,""j001"",""name1"",""name1@oracle.com"",6000,'nocountry')" "INSERT INTO student VALUES(1,""j001"",""name1"",""name1@oracle.com"",6000,'usa')" "SELECT * FROM student" "DROP TABLE student" "CREATE TABLE t1(c1 INT, c2 VARCHAR(20))" "ALTER TABLE t1 ADD CONSTRAINT ck1 CHECK ( c1 > c2 )" +"CREATE TABLE t1(c1 INT, CHECK ( c1 IN ( SELECT COALESCE(NULL, 1, 1))))" +"CREATE TABLE t1(c1 INT, CHECK ( c1 < ( SELECT COALESCE(NULL, 1, 1))))" "CREATE TABLE t1(c1 INT , CHECK ( c1 <=> NULL ))" "ALTER TABLE t1 ADD COLUMN c2 INT, ADD CONSTRAINT CHECK( c2 > 10 )" +"INSERT INTO t1(c2) VALUES(10)" "INSERT INTO t1(c2) VALUES(11)" "ALTER TABLE t1 ADD COLUMN c3 INT, ADD CONSTRAINT CHECK( c3 >= 10 )" +"INSERT INTO t1(c3) VALUES(9)" "INSERT INTO t1(c3) VALUES(10)" "ALTER TABLE t1 ADD COLUMN c4 INT, ADD CONSTRAINT CHECK( c4 < 10 )" +"INSERT INTO t1(c4) VALUES(10)" "INSERT INTO t1(c4) VALUES(9)" "ALTER TABLE t1 ADD COLUMN c5 INT, ADD CONSTRAINT CHECK( c5 <= 10 )" +"INSERT INTO t1(c5) VALUES(11)" "INSERT INTO t1(c5) VALUES(10)" "ALTER TABLE t1 ADD COLUMN c6 INT, ADD CONSTRAINT CHECK( c6 != 10 )" +"INSERT INTO t1(c6) VALUES(10)" "INSERT INTO t1(c6) VALUES(20)" "ALTER TABLE t1 ADD COLUMN c7 INT, ADD CONSTRAINT CHECK( c7 <> 10 )" +"INSERT INTO t1(c7) VALUES(10)" "INSERT INTO t1(c7) VALUES(20)" "ALTER TABLE t1 ADD COLUMN c8 INT, ADD CONSTRAINT CHECK( c8 = GREATEST(1,2,3) )" +"INSERT INTO t1(c8) VALUES(1)" "INSERT INTO t1(c8) VALUES(3)" "ALTER TABLE t1 ADD COLUMN c9 INT, ADD CONSTRAINT CHECK( c9 = LEAST(1,2,3) )" +"INSERT INTO t1(c9) VALUES(3)" "INSERT INTO t1(c9) VALUES(1)" "ALTER TABLE t1 ADD COLUMN c10 INT, ADD CONSTRAINT CHECK( c10 NOT IN (1,2,3) )" +"INSERT INTO t1(c10) VALUES(1)" +"INSERT INTO t1(c10) VALUES(3)" "INSERT INTO t1(c10) VALUES(10)" "ALTER TABLE t1 ADD COLUMN c11 YEAR, ADD CONSTRAINT CHECK ( c11 > '2007-01-01' + INTERVAL +1 YEAR)" +"INSERT INTO t1(c11) VALUES(2007)" +"INSERT INTO t1(c11) VALUES(2008)" "INSERT INTO t1(c11) VALUES(2009)" "ALTER TABLE t1 ADD COLUMN c12 INT, ADD CONSTRAINT CHECK ( c12 NOT BETWEEN 10 AND 20)" +"INSERT INTO t1(c12) VALUES(15)" "INSERT INTO t1(c12) VALUES(25)" "ALTER TABLE t1 ADD COLUMN c13 INT, ADD CONSTRAINT CHECK ( c13 NOT IN (1, 2, 3))" +"INSERT INTO t1(c13) VALUES(1)" "INSERT INTO t1(c13) VALUES(15)" "ALTER TABLE t1 ADD COLUMN c14 CHAR(10), ADD CONSTRAINT CHECK ( c14 LIKE 'A%')" +"INSERT INTO t1(c14) VALUES('Good')" "INSERT INTO t1(c14) VALUES('All')" "ALTER TABLE t1 ADD COLUMN c15 INT, ADD CONSTRAINT CHECK ( c15 = STRCMP('A','A'))" +"INSERT INTO t1(c15) VALUES(1)" "INSERT INTO t1(c15) VALUES(0)" "ALTER TABLE t1 ADD CONSTRAINT CHECK( (c1 > 10) AND (c2 < 20) )" +"INSERT INTO t1 VALUES(1,10)" "ALTER TABLE t1 ADD CONSTRAINT CHECK( (c1 > 10) && (c2 < 20) )" +"INSERT INTO t1 VALUES(15,25)" "ALTER TABLE t1 DROP CHECK `t1_chk_1`" "ALTER TABLE t1 DROP CHECK `t1_chk_2`" "ALTER TABLE t1 ADD CONSTRAINT CHECK( (c1 > 10) || (c2 < 20) )" "ALTER TABLE t1 ADD CONSTRAINT CHECK( (c1 > 10) OR (c2 < 20) )" -"INSERT INTO t1 VALUES(15,25)" "INSERT INTO t1 VALUES(5,10)" +"INSERT INTO t1 VALUES(5,25)" "ALTER TABLE t1 ADD CONSTRAINT CHECK( (c1 > 10) XOR (c2 < 20) )" +"INSERT INTO t1 VALUES(15,10)" "CREATE TABLE t1(c1 INT DEFAULT 2 PRIMARY KEY CHECK(c1 > 1 OR c1 IS NOT NULL))" "CREATE TABLE t1(c1 INT DEFAULT 2 PRIMARY KEY CHECK(c1 > 1 OR c1 > 2))" "INSERT INTO t1 VALUES(2)" @@ -4970,6 +5522,8 @@ CONSTRAINT fk FOREIGN KEY (cid) REFERENCES parent(pid))" "SHOW CREATE TABLE parent" "SHOW CREATE TABLE child" "INSERT INTO parent VALUES(2)" +"INSERT INTO child VALUES(1)" +"INSERT INTO child VALUES(3)" "INSERT INTO child VALUES(2)" "SELECT * FROM parent" "SELECT * FROM child" @@ -4980,21 +5534,49 @@ CONSTRAINT fk FOREIGN KEY (cid) REFERENCES parent(pid))" b INT, c INT CHECK (c < 10), INDEX(b), +FOREIGN KEY (b) REFERENCES parent(a) ON DELETE SET NULL, +CHECK (b IS NOT NULL) +)" +"CREATE TABLE child ( +b INT, +c INT CHECK (c < 10), +INDEX(b), FOREIGN KEY (b) REFERENCES parent(a) ON DELETE SET NULL )" +"ALTER TABLE child ADD CONSTRAINT CHECK (b IS NOT NULL)" "ALTER TABLE child DROP FOREIGN KEY child_ibfk_1" +"ALTER TABLE child ADD CONSTRAINT FOREIGN KEY (b) REFERENCES parent(a) ON DELETE SET NULL, +ADD CONSTRAINT CHECK (b IS NOT NULL)" +"CREATE TABLE child ( +b INT, +c INT CHECK (c < 10), +INDEX(b), +FOREIGN KEY (b) REFERENCES parent(a) ON UPDATE SET NULL, +CHECK (b IS NOT NULL) +)" "CREATE TABLE child ( b INT, c INT CHECK (c < 10), INDEX(b), FOREIGN KEY (b) REFERENCES parent(a) ON UPDATE SET NULL )" +"ALTER TABLE child ADD CONSTRAINT FOREIGN KEY (b) REFERENCES parent(a) ON UPDATE SET NULL, +ADD CONSTRAINT CHECK (b IS NOT NULL)" +"CREATE TABLE child ( +b INT, +c INT CHECK (c < 10), +INDEX(b), +FOREIGN KEY (b) REFERENCES parent(a) ON UPDATE CASCADE, +CHECK (b IS NOT NULL) +)" "CREATE TABLE child ( b INT, c INT CHECK (c < 10), INDEX(b), FOREIGN KEY (b) REFERENCES parent(a) ON UPDATE CASCADE )" +"ALTER TABLE child ADD CONSTRAINT FOREIGN KEY (b) REFERENCES parent(a) ON UPDATE CASCADE, +ADD CONSTRAINT CHECK (b IS NOT NULL)" "CREATE TABLE t2(c1 INT, c2 INT)" "CREATE TRIGGER before_t2_insert BEFORE INSERT ON t2 @@ -5003,6 +5585,7 @@ BEGIN INSERT INTO t1 VALUES(NEW.c1,NEW.c2); END " +"INSERT INTO t2 VALUES(1,20)" "DROP TRIGGER before_t2_insert" "CREATE TRIGGER after_t2_insert AFTER INSERT ON t2 @@ -5011,6 +5594,7 @@ BEGIN INSERT INTO t1 VALUES(NEW.c1,NEW.c2); END " +"INSERT INTO t2 VALUES(1,30)" "DROP TRIGGER after_t2_insert" "INSERT INTO t2 VALUES(1,5)" "INSERT INTO t1 VALUES(1,5)" @@ -5021,6 +5605,7 @@ BEGIN UPDATE t1 SET c2=NEW.c2 WHERE c1=NEW.c1; END " +"UPDATE t2 SET c2=20 WHERE c1=1" "DROP TRIGGER before_t2_update" "CREATE TRIGGER after_t2_update AFTER UPDATE ON t2 @@ -5068,6 +5653,9 @@ BEGIN CALL proc1(new.c1); END " +"INSERT INTO t1 VALUES(20)" +"INSERT INTO t1 VALUES(9)" +"INSERT INTO t1 VALUES(4)" "DROP PROCEDURE proc1" "CREATE TABLE t1 ( c1 BIT(7) CHECK(c1 < B'1111100') NOT ENFORCED, @@ -5082,16 +5670,20 @@ c9 FLOAT(6,2) CHECK(c9 > 10.1), c10 DOUBLE(6,2) CHECK(c10 > 10.1), c11 CHAR(6) CHECK (c11 IS NULL))" "INSERT INTO t1(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10) +VALUES(B'1111111',0,5,5,5,1,1,1.2,1.2,1.2)" +"INSERT INTO t1(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10) VALUES(B'1111111',0,5,5,5,11,11,10.2,10.2,10.2)" "SELECT HEX(c1), c2, c3, c4, c5, c6, c7, c8, c9, c10, c11 FROM t1" "CREATE TABLE t1(c1 INT CHECK(c1 > 10))" "PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(1)'" +"EXECUTE stmt1" "DEALLOCATE PREPARE stmt1" "PREPARE stmt2 FROM 'INSERT INTO t1 VALUES(20)'" "EXECUTE stmt2" "DEALLOCATE PREPARE stmt2" "CREATE TABLE t2(c1 INT CHECK(c1 > 10))" "SET AUTOCOMMIT = OFF" +"INSERT INTO t2 VALUES(1)" ROLLBACK "ALTER TABLE t1 ADD CONSTRAINT CHECK (C1 > 10)" "SET AUTOCOMMIT = ON" @@ -5104,6 +5696,7 @@ PARTITION p1 VALUES LESS THAN (1970), PARTITION p2 VALUES LESS THAN (1980), PARTITION p3 VALUES LESS THAN (1990) )" +"INSERT INTO t1 VALUES('1940-01-01')" "INSERT INTO t1 VALUES('1960-01-01')" "CREATE TABLE t1( id INT NOT NULL CHECK(id BETWEEN 10 AND 50), @@ -5115,22 +5708,24 @@ PARTITION p1 VALUES IN (20,29), PARTITION p2 VALUES IN (30,39), PARTITION p3 VALUES IN (40,49) )" +"INSERT INTO t1 VALUES(60,'aaa')" "INSERT INTO t1 VALUES(30,'aaa')" "CREATE TABLE t1(id INT NOT NULL CHECK(id > 10), name VARCHAR(40) ) PARTITION BY HASH(id) PARTITIONS 4" -"INSERT INTO t1 VALUES(60,'aaa')" +"INSERT INTO t1 VALUES(1,'aaa')" "CREATE TABLE t1(id INT PRIMARY KEY NOT NULL CHECK(id > 10), name VARCHAR(40) ) PARTITION BY KEY() PARTITIONS 4" "CREATE VIEW v1 AS SELECT * FROM t1" +"INSERT INTO v1 VALUES(1,20)" "INSERT INTO v1 VALUES(1,5)" -"SELECT * FROM v1" "CREATE TABLE t1 (f1 CHAR(10) CHECK (f1 < 10))" +"INSERT INTO t1 VALUES (""xy"")" "SHOW WARNINGS" "CREATE TABLE t1(a INTEGER CHECK (a > 0) NOT NULL)" "CREATE TABLE t2(a INTEGER CHECK (a > 0) UNIQUE)" @@ -5140,6 +5735,11 @@ PARTITIONS 4" "SHOW CREATE TABLE t5" "CREATE TABLE t6(a INTEGER CHECK (a > 0) UNIQUE CHECK (a IS NOT NULL) NULL CHECK (a < 100))" "CREATE TABLE t7(a INTEGER CHECK (a > 0) ENFORCED NOT NULL)" +"CREATE TABLE t8(a INTEGER ENFORCED)",,syntax_error +"CREATE TABLE t8(a INTEGER NOT ENFORCED)",,syntax_error +"CREATE TABLE t8(a INTEGER AUTO_INCREMENT NOT ENFORCED)",,syntax_error +"CREATE TABLE t8(a INTEGER, b INTEGER CHECK (a + b > 0) UNIQUE CHECK ( a - b < 1000))" +"CREATE TABLE t7(a INTEGER, b INTEGER CHECK (b > 0) UNIQUE CHECK ( a - b < 1000))" "DROP TABLE t1,t2,t3,t4,t5,t6,t7" "SET @binlog_format_saved = @@binlog_format" "SET binlog_format = 'STATEMENT'" @@ -5151,11 +5751,15 @@ PRIMARY KEY (id), CONSTRAINT chk_dat CHECK (end_date > start_date) )" "INSERT INTO tst (id, start_date, end_date) VALUES (1, '2019-04-25', '2019-04-30')" +"UPDATE tst SET end_date = '2019-04-20' WHERE id = 1" +"UPDATE tst SET start_date = '2019-05-01' WHERE id = 1" "UPDATE tst SET id = 5 WHERE start_date = '2019-04-25'" +"UPDATE tst SET id = 6, start_date = '2019-05-02', end_date = '2019-04-23' WHERE id = 5" "UPDATE tst SET id = 6, start_date = '2019-05-02', end_date = '2049-04-23' WHERE id = 5" "DROP TABLE tst" "SET binlog_format=@binlog_format_saved" "CREATE TABLE t1 (f1 INT CONSTRAINT ck1 CHECK (f1 > 0), f2 INT)" +"ALTER TABLE t1 ADD CONSTRAINT ck2 CHECK (f2 > 0), DROP CHECK ck2" "ALTER TABLE t1 ADD CONSTRAINT ck1 CHECK (f2 > 0), DROP CHECK ck1" "ALTER TABLE t1 DROP COLUMN f2, ADD CONSTRAINT ck1 CHECK (f1 > 0)" "ALTER TABLE t1 DROP COLUMN f1, ADD COLUMN f1 BIGINT, ADD CONSTRAINT CHECK (f1!= 0)" @@ -5168,6 +5772,7 @@ PRIMARY KEY (id), CONSTRAINT chk_dat CHECK (start_date >= created) )" "INSERT INTO tst (id, start_date) VALUES (1, CURDATE())" +"INSERT INTO tst (id, start_date) VALUES (2, '2019-04-25')" "SET TIME_ZONE = ""+00:00""" "SET TIMESTAMP=1557251462" "CREATE TABLE tst (id INT PRIMARY KEY, @@ -5176,6 +5781,8 @@ col DATE, CHECK ( scol < col))" "SHOW CREATE TABLE tst" "INSERT INTO tst(id, col) VALUES (1, '2019-05-20')" +"INSERT INTO tst(id, col) VALUES (1, '2019-05-06')" +"REPLACE INTO tst(id, col) VALUES (2, '2019-05-06')" "REPLACE INTO tst(id, col) VALUES (2, '2019-05-20')" "CREATE TABLE tmp(id INT, col DATE)" "INSERT INTO tmp VALUES(3, '2019-05-06')" @@ -5183,23 +5790,31 @@ CHECK ( scol < col))" "DELETE FROM tst" "ALTER TABLE tst MODIFY COLUMN scol TIME DEFAULT(CURTIME()), MODIFY COLUMN col TIME" "INSERT INTO tst(id, col) VALUES (1, '20:20:20')" +"INSERT INTO tst(id, col) VALUES (1, '15:15:15')" +"REPLACE INTO tst(id, col) VALUES (2, '15:15:15')" "REPLACE INTO tst(id, col) VALUES (2, '20:20:20')" "CREATE TABLE tmp(id INT, col TIME)" "INSERT INTO tmp VALUES(3, '15:15:15')" "ALTER TABLE tst MODIFY COLUMN scol timestamp DEFAULT(CURRENT_TIMESTAMP()), MODIFY COLUMN col timestamp" "INSERT INTO tst(id, col) VALUES (1, '2019-05-20 12:12:12')" +"INSERT INTO tst(id, col) VALUES (1, '2019-05-06 12:12:12')" +"REPLACE INTO tst(id, col) VALUES (2, '2019-05-06 12:12:12')" "REPLACE INTO tst(id, col) VALUES (2, '2019-05-20 12:12:12')" "CREATE TABLE tmp(id INT, col TIMESTAMP)" "INSERT INTO tmp VALUES(3, '2019-05-06 12:12:12')" "ALTER TABLE tst MODIFY COLUMN scol timestamp ON UPDATE CURRENT_TIMESTAMP" +"INSERT INTO tst(id, col) VALUES (1, '2019-05-20 12:12:12') ON DUPLICATE KEY UPDATE id=3" +"UPDATE tst SET col='2019-05-21 12:12:12' WHERE id = 1" "CREATE TABLE tst1 (id INT, col timestamp DEFAULT('2019-05-21 12:12:12'))" "SHOW CREATE TABLE tst1" "INSERT INTO tst1(id) VALUES(1)" +"UPDATE tst,tst1 SET tst.col = tst1.col WHERE tst.id = tst1.id" "DELETE FROM tst1" "ALTER TABLE tst MODIFY COLUMN scol datetime DEFAULT(CURRENT_TIMESTAMP()), MODIFY COLUMN col datetime" "ALTER TABLE tst MODIFY COLUMN scol datetime ON UPDATE CURRENT_TIMESTAMP" +"UPDATE tst SET col='2019-05-21 12:12:12' WHERE id = 1" "ALTER TABLE tst1 MODIFY COLUMN col datetime DEFAULT('2019-05-21 12:12:12')" "DROP TABLE tmp, tst, tst1" "SET TIME_ZONE=DEFAULT" @@ -5209,6 +5824,8 @@ col INT, CHECK ( scol < col))" "INSERT INTO tst VALUES (1, 10, 20)" "SELECT * FROM tst" +"INSERT INTO tst(id, col) VALUES (2, 10)" +"REPLACE INTO tst(id, col) VALUES (2, 10)" "REPLACE INTO tst VALUES (2, 10, 20)" "CREATE TABLE tmp(id INT, col INT)" "INSERT INTO tmp VALUES(3, 10)" @@ -5247,15 +5864,22 @@ SET NEW.f2 = '2018-06-06 00:00:00'; END IF; END;" "INSERT INTO v1(f1) VALUES(1)" +"INSERT INTO v1(f1) VALUES(2)" +"INSERT INTO v1(f1) VALUES(3)" "INSERT INTO v1 VALUES (4, '2017-01-01 00:00:00') ON DUPLICATE KEY UPDATE f1 = 7" +"INSERT INTO v1 VALUES (5, '2017-01-01 00:00:00') ON DUPLICATE KEY UPDATE f1 = 7" +"INSERT INTO v1 VALUES (6, '2017-01-01 00:00:00') ON DUPLICATE KEY UPDATE f1 = 7" "DELETE FROM v1 WHERE f1 = 7" "REPLACE INTO v1 VALUES(4, '2017-06-06 00:00:00')" +"REPLACE INTO v1(f1) VALUES(2)" +"REPLACE INTO v1(f1) VALUES(3)" "UPDATE v1 SET f1 = 7 WHERE f1 = 4" +"UPDATE v1 SET f1 = 8 WHERE f1 = 5" +"UPDATE v1 SET f1 = 8 WHERE f1 = 6" "UPDATE v1 SET f1 = 4, f2 = '2017-06-06 00:00:00' WHERE f1 = 7" "CREATE TABLE t2 (f1 INT)" "INSERT INTO t2 VALUES (1)" "DELETE FROM t1 WHERE f1 = 1" -"DELETE FROM t2" "INSERT INTO t2 VALUES (3)" "CREATE TABLE t1 (f1 INT CHECK (f1 < 10), f2 CHAR(100))" "INSERT INTO t2 VALUES (1, 10), (20, 20), (3, 30), (4, 40)" @@ -5263,15 +5887,31 @@ END;" "CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT, b INT, CONSTRAINT c CHECK (b IS NULL)) IGNORE AS SELECT 1 AS id, 1 AS b" "CREATE TABLE t1 (f1 INT, f2 INT, f3 INT, f4 FLOAT AS (f3 * 0.01), f5 INT, CHECK (f1 < f2))" +"ALTER TABLE t1 RENAME COLUMN f1 TO f6" +"ALTER TABLE t1 CHANGE f1 f6 FLOAT" "ALTER TABLE t1 RENAME COLUMN f1 TO f1" "ALTER TABLE t1 CHANGE f1 f1 FLOAT" +"ALTER TABLE t1 DROP COLUMN f1, ADD COLUMN f1 FLOAT" +"ALTER TABLE t1 DROP COLUMN f3, ADD COLUMN f3 FLOAT" +"ALTER TABLE t1 RENAME COLUMN f1 TO f6, RENAME COLUMN f5 TO f1" +"ALTER TABLE t1 RENAME COLUMN f3 TO f6, RENAME COLUMN f5 TO f3" +"ALTER TABLE t1 DROP COLUMN f5, ADD CONSTRAINT CHECK (f5 < 10)" +"ALTER TABLE t1 DROP COLUMN f5, ADD COLUMN f7 FLOAT AS (f5 * 0.01)" +"ALTER TABLE t1 RENAME COLUMN f5 to f6, ADD CONSTRAINT CHECK (f5 < 10)" +"ALTER TABLE t1 RENAME COLUMN f5 to f6, ADD COLUMN f7 FLOAT AS (f5 * 0.01)" +"ALTER TABLE t1 CHANGE f5 f6 FLOAT, ADD CONSTRAINT CHECK (f5 < 10)" +"ALTER TABLE t1 CHANGE f5 f6 FLOAT, ADD COLUMN f7 FLOAT AS (f5 * 0.01)" "ALTER TABLE t1 RENAME COLUMN f2 TO f2, ADD CONSTRAINT CHECK(f2 < 1105)" "ALTER TABLE t1 CHANGE f2 f2 FLOAT, ADD CONSTRAINT CHECK(f2 < 1105)" "ALTER TABLE t1 RENAME COLUMN f5 to f6, ADD CONSTRAINT CHECK (f6 < 10)" "ALTER TABLE t1 DROP CONSTRAINT t1_chk_1, RENAME COLUMN f1 to f11, ADD CONSTRAINT t1_chk_1 CHECK (f11 < 10)" "CREATE TABLE t1 (f1 INT, f2 INT)" +"ALTER TABLE t1 CHANGE f1 f3 INT CHECK (f3 > 0), ALGORITHM = INPLACE" +"ALTER TABLE t1 CHANGE f1 f3 INT CHECK (f3 > 0), ALGORITHM = INSTANT" "ALTER TABLE t1 CHANGE f1 f3 INT CHECK (f3 > 0), ALGORITHM = COPY" +"ALTER TABLE t1 MODIFY f2 INT CHECK (f2 > 0), ALGORITHM = INPLACE" +"ALTER TABLE t1 MODIFY f2 INT CHECK (f2 > 0), ALGORITHM = INSTANT" "ALTER TABLE t1 MODIFY f2 INT CHECK (f2 > 0), ALGORITHM = COPY" "SET DEBUG_SYNC=""after_acquiring_lock_on_check_constraints SIGNAL cc_locked WAIT_FOR continue""" "SET DEBUG_SYNC=""now WAIT_FOR cc_locked""" @@ -5299,6 +5939,7 @@ ADD CONSTRAINT t1_chk_1 CHECK (f11 < 10)" "ALTER TABLE t2 CHANGE COLUMN i j INT, ALGORITHM=INPLACE" "ALTER TABLE t2 CHANGE COLUMN j k INT, ALGORITHM=COPY" "SELECT @@max_heap_table_size INTO @old_max_heap_table_size" +"DROP TABLE no_such_table" "SHOW ERRORS" "SHOW COUNT(*) ERRORS" "SHOW COUNT(*) WARNINGS" @@ -5308,6 +5949,8 @@ ADD CONSTRAINT t1_chk_1 CHECK (f11 < 10)" "SELECT @@error_count" "SELECT @@warning_count" "CREATE TABLE IF NOT EXISTS t2 (f1 INT)" +"GET DIAGNOSTICS",,syntax_error +"SET GLOBAL wombat = 'pangolin'" "CREATE PROCEDURE p0_proc_with_warning () BEGIN SELECT CAST('2001-01-01' AS SIGNED INT); @@ -5466,6 +6109,7 @@ END" "DROP PROCEDURE p6_bubble_warning" "CALL p3_non_diagnostics_stmt_clears" "DROP PROCEDURE p3_non_diagnostics_stmt_clears" +"CALL p4_unhandled_exception_returned" "DROP PROCEDURE p4_unhandled_exception_returned" "CALL p7_show_warnings" "DROP PROCEDURE p7_show_warnings" @@ -5485,13 +6129,17 @@ BEGIN /* throw a warning */ RETURN CAST('2001-01-01' AS SIGNED INT); END" +"CREATE FUNCTION f4_show_warnings() RETURNS TEXT +BEGIN +SHOW WARNINGS; +RETURN ""yeah, not so much""; +END" "SELECT f2_unseen_warnings()" "SET @@max_heap_table_size= 1" "DROP FUNCTION f2_unseen_warnings" "SELECT f3_stacking_warnings(),f3_stacking_warnings(),f3_stacking_warnings()" "DROP FUNCTION f3_stacking_warnings" "PREPARE stmt1 FROM 'create table if not exists t1 (f1 int)'" -"EXECUTE stmt1" "CREATE PROCEDURE p10_ps_with_warning () BEGIN DECLARE CONTINUE HANDLER FOR 1050 SELECT ""a warn place""; @@ -5501,6 +6149,13 @@ END" "DROP PROCEDURE p10_ps_with_warning" "PREPARE stmt1 FROM 'create table if not exists t1 (f1 year)'" "SET @sql1='GET DIAGNOSTICS CONDITION 1 @err_no = MYSQL_ERRNO, @err_txt = MESSAGE_TEXT'" +"PREPARE stmt1 FROM @sql1" +"PREPARE stmt2 FROM 'SHOW WARNINGS'" +"PREPARE stmt2 FROM 'SHOW ERRORS'" +"PREPARE stmt2 FROM 'SHOW COUNT(*) WARNINGS'" +"PREPARE stmt2 FROM 'SHOW COUNT(*) ERRORS'" +"PREPARE stmt2 FROM 'SELECT @@warning_count'" +"PREPARE stmt2 FROM 'SELECT @@error_count'" "SELECT 1 FROM (SELECT 1) t1" "CREATE PROCEDURE peter1 () BEGIN @@ -5636,6 +6291,7 @@ END" "ALTER TABLE t1 DROP COLUMN c1" "ALTER TABLE t1 ADD COLUMN c11 INTEGER COMMENT 'ABCDEfghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdABCDEfghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdABCDEfghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd'" "set sql_mode='TRADITIONAL'" +"ALTER TABLE t1 ADD COLUMN c12 INTEGER COMMENT 'ABCDEfghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdABCDEfghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdABCDEfghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd'" "set sql_mode=''" "set sql_mode=''",PIPES_AS_CONCAT "set sql_mode=''","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -5794,6 +6450,8 @@ c65 INTEGER COMMENT 'abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi "CREATE INDEX i1_3 ON t1(c1,c2,c3) COMMENT 'abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd'" "CREATE INDEX i11 ON t1(c11) COMMENT 'abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd'" "ALTER TABLE t1 ADD INDEX (c13) COMMENT 'abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd'" +"ALTER TABLE t1 ADD INDEX i12 (c12) COMMENT 'abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd'" +"CREATE INDEX i12 ON t1(c12) COMMENT 'abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd'" "create table t1 (c1 VARCHAR(10) NOT NULL COMMENT 'c1 comment', c2 INTEGER,c3 INTEGER COMMENT '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789', c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, INDEX i1 (c1) COMMENT 'i1 comment',INDEX i2(c2) ) COMMENT='abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcd'" "create table t1 (c1 VARCHAR(10) NOT NULL COMMENT 'c1 comment', c2 INTEGER,c3 INTEGER COMMENT '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789', c4 INTEGER, c5 INTEGER, c6 INTEGER, c7 INTEGER, INDEX i1 (c1) COMMENT 'i1 comment',INDEX i2(c2) @@ -5814,10 +6472,18 @@ multi line comment */" "select 1 # The rest of the row will be ignored " "/* line with only comment */" +"select 1/*!2*/",,syntax_error +"select 1/*!000002*/",,syntax_error "select 1/*!999992*/" "select 1 + /*!00000 2 */ + 3 /*!99999 noise*/ + 4" "drop table if exists table_28779" "create table table_28779 (a int)" +"prepare bar from ""DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';""" +"prepare bar from ""DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';*""" +"prepare bar from ""DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=2;""" +"prepare bar from ""DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=2;*""" +"prepare bar from ""DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!98765' AND b = 'bar';""" +"prepare bar from ""DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!98765' AND b = 'bar';*""" "drop table table_28779" "SELECT 1 /*!99999 /* */ */" "SELECT 2 /*!12345 /* */ */" @@ -5841,6 +6507,7 @@ multi line comment */" "SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ" "CREATE TABLE t1 (s1 INT) ENGINE=InnoDB" "INSERT INTO t1 VALUES (1),(2)" +"SET TRANSACTION ISOLATION LEVEL SERIALIZABLE" "SET @@autocommit=0" "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED" "SELECT @@transaction_isolation" @@ -5865,16 +6532,19 @@ multi line comment */" "SET @@autocommit=1" "START TRANSACTION READ ONLY" "START TRANSACTION READ WRITE" +"START TRANSACTION READ ONLY, READ WRITE",,syntax_error "START TRANSACTION READ ONLY, WITH CONSISTENT SNAPSHOT" "START TRANSACTION READ WRITE, WITH CONSISTENT SNAPSHOT" "START TRANSACTION WITH CONSISTENT SNAPSHOT, READ ONLY" "START TRANSACTION WITH CONSISTENT SNAPSHOT, READ WRITE" +"START TRANSACTION READ ONLY, WITH CONSISTENT SNAPSHOT, READ WRITE",,syntax_error "SET TRANSACTION READ ONLY" "SET TRANSACTION READ WRITE" "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ ONLY" "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ WRITE" "SET TRANSACTION READ ONLY, ISOLATION LEVEL READ COMMITTED" "SET TRANSACTION READ WRITE, ISOLATION LEVEL READ COMMITTED" +"SET TRANSACTION READ ONLY, READ WRITE",,syntax_error "SET SESSION TRANSACTION READ WRITE" "SELECT @@transaction_read_only" "SET SESSION TRANSACTION READ ONLY" @@ -5883,7 +6553,17 @@ multi line comment */" "SET GLOBAL TRANSACTION READ ONLY" "SET GLOBAL TRANSACTION READ WRITE" "CREATE TEMPORARY TABLE temp_t2(a INT)" +"ALTER TABLE t1 COMMENT ""Test""" +"CREATE TEMPORARY TABLE temp_t3(a INT)" +"ALTER TABLE temp_t2 COMMENT ""Test""" +"DROP TEMPORARY TABLE temp_t2" +"CREATE FUNCTION f1() RETURNS INT RETURN 1" +"CREATE PROCEDURE p1() BEGIN END" +"DROP PROCEDURE p1" +"DROP PROCEDURE p1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE VIEW v1 AS SELECT 1" +"RENAME TABLE temp_t2 TO temp_t3" +"UPDATE t1 SET a= 3" "INSERT INTO temp_t2 VALUES (1), (2)" "UPDATE temp_t2 SET a= 3" "DELETE FROM temp_t2" @@ -5892,6 +6572,7 @@ multi line comment */" "HANDLER temp_t2 OPEN" "HANDLER temp_t2 READ FIRST" "HANDLER temp_t2 CLOSE" +"PREPARE stmt FROM ""DELETE FROM t1""" "PREPARE stmt FROM ""DELETE FROM temp_t2""" "DEALLOCATE PREPARE stmt" "CREATE FUNCTION f1() RETURNS INT @@ -5906,14 +6587,17 @@ RETURN 1; END" "CREATE PROCEDURE p1() DELETE FROM t1" "CREATE PROCEDURE p2() DELETE FROM temp_t2" +"SELECT f1()" +"SELECT f1()","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT f2()" +"CALL p1()" +"CALL p1()","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CALL p2()" "CALL p2()","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" -"DROP PROCEDURE p1" -"DROP PROCEDURE p1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "DROP PROCEDURE p2" "DROP PROCEDURE p2","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE VIEW v1 AS SELECT a FROM t1" +"INSERT INTO v1 VALUES (1), (2)" "LOCK TABLE t1 READ" "DROP TABLE temp_t2, t1" "SET @only= 1" @@ -5924,9 +6608,8 @@ END" BEGIN DECLARE only INT DEFAULT 1; END" -"CALL p1()" -"CALL p1()","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "XA START 'test1'" +"UPDATE t1 SET a=2" "XA END 'test1'" "XA PREPARE 'test1'" "XA COMMIT 'test1'" @@ -5939,8 +6622,6 @@ BEGIN SET SESSION TRANSACTION READ ONLY; RETURN 1; END" -"SELECT f1()" -"SELECT f1()","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE FUNCTION f1() RETURNS INT BEGIN SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ ONLY; @@ -6027,6 +6708,14 @@ WHERE t1.x = t2.x and t1.i < t2.x" "INSTALL COMPONENT ""file://component_example_component1""" "SELECT COUNT(*) FROM mysql.component" "UNINSTALL COMPONENT ""file://component_example_component1""" +"INSTALL COMPONENT ""file://component_example_component4""" +"INSTALL COMPONENT ""file://component_example_component3""" +"INSTALL COMPONENT ""file:component_example_component3""" +"INSTALL COMPONENT ""bad_scheme://component_example_component3""" +"INSTALL COMPONENT ""file:///component_example_component3""" +"INSTALL COMPONENT ""file://./component_example_component3""" +"INSTALL COMPONENT ""file://../component_example_component3""" +"UNINSTALL COMPONENT ""file://component_example_component4""" "INSTALL COMPONENT ""file://component_example_component1"", ""file://component_example_component2""" "UNINSTALL COMPONENT ""file://component_example_component1"", ""file://component_example_component2""" "UNINSTALL COMPONENT ""file://component_example_component2"", ""file://component_example_component1""" @@ -6040,10 +6729,22 @@ WHERE t1.x = t2.x and t1.i < t2.x" "INSTALL COMPONENT ""file://component_example_component1"", ""file://component_example_component2"", ""file://component_example_component3""" "UNINSTALL COMPONENT ""file://component_example_component1"", ""file://component_example_component2"", ""file://component_example_component3""" "INSTALL COMPONENT ""file://component_example_component2"", ""file://component_example_component3""" -"INSTALL COMPONENT ""file://component_example_component3""" +"INSTALL COMPONENT ""file://component_example_component3"", ""file://component_example_component2""" +"UNINSTALL COMPONENT ""file://component_example_component2"", ""file://component_example_component2""" +"INSTALL COMPONENT ""dynamic_loader_test_lib1""" +"INSTALL COMPONENT ""file://dynamic_loader_test_lib2"", ""dynamic_loader_test_lib3""" +"UNINSTALL COMPONENT ""fle://dynamic_loader_test_lib1"", ""file://dynamic_loader_test_lib3""" +"UNINSTALL COMPONENT ""dynamic_loader_test_lib2""" +"INSTALL COMPONENT ""file://localhost/tmp/dynamic_loader_test_lib1""" +"INSTALL COMPONENT ""http://dynamic_loader_test_lib1""" +"INSTALL COMPONENT ""file://dynamic_loader_test_lib2"", ""http://dynamic_loader_test_lib3""" +"UNINSTALL COMPONENT ""file://dynamic_loader_test_lib1"", ""http://dynamic_loader_test_lib3""" +"UNINSTALL COMPONENT ""http://dynamic_loader_test_lib2""" "CREATE USER mysqltest_u1@localhost" "DROP USER mysqltest_u1@localhost" "SET @@session.insert_id=42949672950" +"INSTALL COMPONENT +""file://component_example_component2"",""file://component_example_component3""" "SET @@session.insert_id=0" "ALTER TABLE mysql.component AUTO_INCREMENT=1" "INSTALL COMPONENT ""file://component_test_backup_lock_service""" @@ -6065,26 +6766,44 @@ FROM performance_schema.metadata_locks WHERE object_type = 'BACKUP LOCK'" "call mtr.add_suppression(""Error while setting value '[^']*' to '[^']*'"")" "call mtr.add_suppression(""variable registration failed"")" "call mtr.add_suppression(""boolean value '[^']*' was not recognized. Set to OFF"")" +"INSTALL COMPONENT ""file://component_validate_password"" SET",,syntax_error +"INSTALL COMPONENT ""file://component_validate_password"" SET SESSION foo = 16",,syntax_error +"INSTALL COMPONENT ""file://component_validate_password"" SET PERSIST_ONLY bar = 16",,syntax_error +"INSTALL COMPONENT ""file://component_validate_password"" SET @@bar = 16",,syntax_error +"INSTALL COMPONENT ""file://component_validate_password"" SET @@bar = DEFAULT",,syntax_error +"INSTALL COMPONENT ""file://component_validate_password"" SET @@bar = xxx",,syntax_error +"INSTALL COMPONENT ""file://component_validate_password"" SET length = NULL" "INSTALL COMPONENT ""file://component_validate_password"" SET length = 8 + 8" "SELECT @@global.validate_password.length" "UNINSTALL COMPONENT ""file://component_validate_password""" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = (SELECT a FROM t1)",,syntax_error "SET @gizmo = 32" "INSTALL COMPONENT ""file://component_validate_password"" SET length = @gizmo" "INSTALL COMPONENT ""file://component_validate_password"" SET length = @@global.max_connections" "SELECT @@global.validate_password.length = @@global.max_connections" "INSTALL COMPONENT ""file://component_validate_password"" SET length = DAYOFMONTH('1972-07-29')" "INSTALL COMPONENT ""file://component_validate_password"" SET length = CAST(RAND() * 10 AS SIGNED)" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = SUM(100)" "INSTALL COMPONENT ""file://component_validate_password"" SET length = 1024 * 1024 * 1024 * 1024" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024" "INSTALL COMPONENT ""file://component_validate_password"" SET length = -100" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = 3.14159" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = 3.000000000000" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = 1e2" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = 1e308 * 100" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = '100'" "CREATE FUNCTION test_func () RETURNS INT DETERMINISTIC RETURN 12 + 3" +"INSTALL COMPONENT ""file://component_validate_password"" SET length = testfunc()" "DROP FUNCTION test_func" +"INSTALL COMPONENT ""file://component_validate_password"" SET init_connect = ""SELECT 1""" "INSTALL COMPONENT ""file://component_validate_password"" SET check_user_name = ON" "SELECT @@global.validate_password.check_user_name" "INSTALL COMPONENT ""file://component_validate_password"" SET check_user_name = ""ON""" "INSTALL COMPONENT ""file://component_validate_password"" SET check_user_name = OFF" "INSTALL COMPONENT ""file://component_validate_password"" SET check_user_name = ""OFF""" "INSTALL COMPONENT ""file://component_validate_password"" SET check_user_name = gizmo" +"INSTALL COMPONENT ""file://component_validate_password"" SET check_user_name = gizmo.off" "INSTALL COMPONENT ""file://component_validate_password"" SET check_user_name = 1" "INSTALL COMPONENT ""file://component_validate_password"" SET check_user_name = 11" "INSTALL COMPONENT ""file://component_validate_password""" @@ -6105,7 +6824,15 @@ SET GLOBAL validate_password.length = 60, validate_password.number_count = 50" "CREATE USER wl10916@localhost" "GRANT INSERT,DELETE,UPDATE ON mysql.component TO wl10916@localhost" "DROP USER wl10916@localhost" +"INSTALL COMPONENT ""file://component_validate_password"" SET GLOBAL validate_password.length = 'gizmo'" +"INSTALL COMPONENT ""file://component_validate_password"" SET PERSIST validate_password.length = 'gizmo'" "INSTALL COMPONENT ""file://component_validate_password"" SET length = 12" +"INSTALL COMPONENT ""file://component_validate_password"", ""file://component_example_component1"" SET length = 12" +"INSTALL COMPONENT ""file://component_validate_password"" SET foo = 1" +"INSTALL COMPONENT ""file://component_validate_password"" SET foo = 1, bar = 2" +"INSTALL COMPONENT ""file://component_validate_password"" SET foo = 1, bar = 2, baz = 3" +"INSTALL COMPONENT ""file://component_validate_password"", ""file://component_example_component1"" +SET PERSIST validate_password.number_count = 13, GLOBAL validate_password.length = 'gizmo'" "INSTALL COMPONENT ""file://component_test_string_service""" "UNINSTALL COMPONENT ""file://component_test_string_service""" "SET character_set_client= 'utf8mb3'" @@ -6203,6 +6930,7 @@ SELECT b FROM t2 ORDER BY b LIMIT 2) x where b > 1)" "CALL mtr.add_suppression('\\[ERROR] \\[MY-\\d+] \\[Server] Plugin ''sql'' has conflicting system variables')" "SHOW VARIABLES LIKE 'sql_mode%'" "UNINSTALL PLUGIN `sql`" +"SELECT @@sql_mode2" "show tables where Tables_in_mysql != 'ndb_binlog_index'" "show tables" "create user test@localhost identified by ""gambling""" @@ -6235,6 +6963,9 @@ WHERE user='must_change' and host = 'localhost'" "ALTER USER must_change@localhost IDENTIFIED BY 'aha3'" "ALTER USER must_change@localhost PASSWORD EXPIRE" "ALTER USER must_change@localhost IDENTIFIED BY 'aha4'" +"ALTER USER +invalid_user@localhost, +must_change@localhost PASSWORD EXPIRE" "ALTER USER must_change@localhost IDENTIFIED BY 'aha5'" "DROP PROCEDURE test_t1" "DROP FUNCTION last_t1" @@ -6432,6 +7163,10 @@ c17 varchar(20) "INSERT INTO t1 VALUES (3.3)" "CREATE TABLE t2 (ts TIMESTAMP)" "INSERT INTO t2 VALUES ('2018-09-15 11:00:25.00')" +"WITH RECURSIVE +cte1 AS ( SELECT ts AS a1 FROM t2 ), +cte2 AS ( SELECT LAST_DAY(18446744073709551615+1) AS a2 FROM t1 ) +SELECT * FROM cte1, cte2 WHERE cte1.a1 <> cte2.a2" "CREATE TABLE t(c DECIMAL(9,3))" "SELECT * FROM t WHERE c <=> 8106.000000" "EXPLAIN SELECT * from t WHERE c <=> 8106.000000" @@ -6446,6 +7181,7 @@ c17 varchar(20) "create table t1 (a int check (a>0))" "create table t1 (a int, b int, check (a>b))" "insert into t1 values (1,0)" +"insert into t1 values (0,1)" "create table t1 (a int ,b int, constraint abc check (a>b))" "create table t1 (a int null)" "insert into t1 values (1),(NULL)" @@ -6453,10 +7189,18 @@ c17 varchar(20) "alter table t1 add constraint unique key_1(a)" "alter table t1 add constraint constraint_2 unique key_2(a)" "drop table if exists t_illegal" +"create table t_illegal (a int, b int, check a>b)",,syntax_error +"create table t_illegal (a int, b int, constraint abc check a>b)",,syntax_error +"create table t_illegal (a int, b int, constraint abc)",,syntax_error "drop table if exists t_11714" "create table t_11714(a int, b int)" +"alter table t_11714 add constraint cons1",,syntax_error "drop table t_11714" +"CREATE TABLE t_illegal (col_1 INT CHECK something (whatever))",,syntax_error +"CREATE TABLE t_illegal (col_1 INT CHECK something)",,syntax_error "CREATE TABLE t2 (f1 INT PRIMARY KEY)" +"ALTER TABLE t1 DROP CONSTRAINT",,syntax_error +"ALTER TABLE t1 DROP CONSTRAINT unknown" "ALTER TABLE t1 ADD CONSTRAINT f2_check CHECK (f2 > 0)" "ALTER TABLE t1 DROP CONSTRAINT f2_check" "ALTER TABLE t1 ADD CONSTRAINT PRIMARY KEY (f1), @@ -6474,6 +7218,7 @@ DROP CONSTRAINT f2_check" ADD CONSTRAINT name2 UNIQUE (f1), ADD CONSTRAINT `primary` FOREIGN KEY (f1) REFERENCES t2(f1), ADD CONSTRAINT name2 CHECK (f2 > 0)" +"ALTER TABLE t1 DROP CONSTRAINT name2" "ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX name2, DROP FOREIGN KEY `primary`, @@ -6553,10 +7298,18 @@ DROP CONSTRAINT fk, DROP CONSTRAINT f2_check'" "EXECUTE drop_constraint_stmt" "DROP PREPARE drop_constraint_stmt" +"ALTER TABLE t1 ALTER CONSTRAINT",,syntax_error +"ALTER TABLE t1 ALTER CONSTRAINT unknown NOT",,syntax_error +"ALTER TABLE t1 ALTER CONSTRAINT unknown ENFORCED" "ALTER TABLE t1 ALTER CONSTRAINT f2_check NOT ENFORCED" +"ALTER TABLE t1 ALTER CONSTRAINT name2 NOT ENFORCED" +"ALTER TABLE t1 ALTER CONSTRAINT `primary` NOT ENFORCED" +"ALTER TABLE t1 ALTER CONSTRAINT f2_unique NOT ENFORCED" +"ALTER TABLE t1 ALTER CONSTRAINT fk NOT ENFORCED" "ALTER TABLE t1 ALTER CHECK f2_check NOT ENFORCED, ALTER CHECK f2_check ENFORCED" "ALTER TABLE t1 ALTER CONSTRAINT f2_check NOT ENFORCED, ALTER CONSTRAINT f2_check ENFORCED" "ALTER TABLE t1 ALTER CHECK f2_check NOT ENFORCED, ALTER CONSTRAINT f2_check ENFORCED" +"ALTER TABLE t1 DROP CONSTRAINT f2_check, ALTER CONSTRAINT f2_check NOT ENFORCED" "CREATE PROCEDURE alter_constraint_proc() ALTER TABLE t1 ALTER CONSTRAINT f2_check NOT ENFORCED" "CALL alter_constraint_proc()" @@ -6782,6 +7535,9 @@ t1 A, "create trigger t1_bi before insert on t1 for each row set @a:=1" "set debug_sync='create_table_like_after_open SIGNAL parked WAIT_FOR go'" "set debug_sync='create_table_like_before_binlog SIGNAL parked WAIT_FOR go'" +"ALTER TABLE t1 ADD COLUMN too_much int" +"ALTER TABLE t1 ADD COLUMN too_much ENUM('a9999')" +"ALTER TABLE t1 ADD COLUMN too_much SET('a9999')" "INSERT INTO t1 values ('a0'), ('a1'), ('a2')" "drop database if exists mysqltest" "create table t1 (b char(0))" @@ -6789,13 +7545,26 @@ t1 A, "create table t1 (b char(0) not null)" "create table if not exists t1 (b char(0) not null)" "create table t1 (a int not null auto_increment,primary key (a)) engine=heap" +"create table t2 engine=heap select * from t1" +"create table t2 select auto+1 from t1" +"create table t1 (b char(0) not null, index(b))" +"create table t1 (a int not null,b text) engine=heap" +"create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) engine=heap" +"create table not_existing_database.test (a int)" +"create temporary table not_existing_database.test (a int)" "create table `a/a` (a int)" "show create table `a/a`" "create table t1 like `a/a`" "drop table `a/a`" "drop table `t1`" +"create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa int)" +"create table a (`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` int)" +"create table t1 (a int default 100 auto_increment)" +"create table t1 (a tinyint default 1000)" +"create table t1 (a varchar(5) default 'abcdef')" "create table t1 (a varchar(5) default 'abcde')" "insert into t1 values()" +"alter table t1 alter column a set default 'abcdef'" "create table 1ea10 (1a20 int,1e int)" "insert into 1ea10 values(1,1)" "select 1ea10.1a20,1e+ 1e+10 from 1ea10" @@ -6806,7 +7575,12 @@ t1 A, "select a$1, `$b`, c$ from mysqltest.`$test1`" "create table mysqltest.test2$ (a int)" "drop table mysqltest.test2$" +"create table `` (a int)" +"drop table if exists ``" +"create table t1 (`` int)" +"create table t1 (i int, index `` (i))" "lock tables t1 read" +"create table t2 (j int)" "create temporary table t2 (j int)" "drop temporary table t2" "create table t1 (a int auto_increment not null primary key, B CHAR(20))" @@ -6821,17 +7595,26 @@ t1 A, "create table t2 select CAST(""2001-12-29"" AS DATE) as d, CAST(""20:45:11"" AS TIME) as t, CAST(""2001-12-29 20:45:11"" AS DATETIME) as dt" "create table t1 (a tinyint)" "create table t2 (a int) select * from t1" +"create table t2 (a int, a float) select * from t1" +"create table t2 (a int) select a as b, a+1 as b from t1" +"create table t2 (b int) select a as b, a+1 as b from t1" "CREATE TABLE t1 (a int not null)" "INSERT INTO t1 values (1),(2),(1)" +"CREATE TABLE t2 (primary key(a)) SELECT * FROM t1" +"SELECT * from t2" "DROP TABLE IF EXISTS t2" "create table t1 (a int not null, b int, primary key(a), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b))" "create table t1 select if(1,'1','0'), month(""2002-08-02"")" "create table t1 select if('2002'='2002','Y','N')" "SET SESSION default_storage_engine=""heap""" "SELECT @@default_storage_engine" +"SET SESSION default_storage_engine=""gemini""" "SET SESSION default_storage_engine=default" "create table t1 ( k1 varchar(2), k2 int, primary key(k1,k2))" "insert into t1 values (""a"", 1), (""b"", 2)" +"insert into t1 values (""c"", NULL)" +"insert into t1 values (NULL, 3)" +"insert into t1 values (NULL, NULL)" "create table t1 select x'4132'" "create table t1 select 1,2,3" "create table if not exists t1 select 1,2" @@ -6843,6 +7626,12 @@ t1 A, "create table if not exists t1 select 3 as 'a',4 as 'b'" "show warnings" "show status like ""Opened_tables""" +"create table `t1 `(a int)" +"create database `db1 `" +"create table t1(`a ` int)" +"create table t1 (a int,)",,syntax_error +"create table t1 (a int,,b int)",,syntax_error +"create table t1 (,b int)",,syntax_error "create table t1 (a int, key(a))" "create table t2 (b int, foreign key(b) references t1(a), key(b))" "drop table if exists t2,t1" @@ -6859,7 +7648,9 @@ t1 A, "create table mysqltest.t3 like t1" "create temporary table t3 like mysqltest.t3" "create table t2 like t3" -"create table t2 (j int)" +"create table t3 like mysqltest.t3" +"create table non_existing_database.t1 like t1" +"create table t3 like non_existing_table" "create temporary table t3 like t1" "drop temporary table t3" "create table t1(a int,b int,c int unsigned,d date,e char,f datetime,g time,h blob)" @@ -6903,9 +7694,13 @@ from t1" "create user mysqltest_1" "select database(), user()" "drop user mysqltest_1" +"create table t1 (a int, index `primary` (a))" +"create table t1 (a int, index `PRIMARY` (a))" "create table t1 (`primary` int, index(`primary`))" "create table t2 (`PRIMARY` int, index(`PRIMARY`))" "create table t3 (a int)" +"alter table t3 add index `primary` (a)" +"alter table t3 add index `PRIMARY` (a)" "create table t4 (`primary` int)" "alter table t4 add index(`primary`)" "show create table t4" @@ -6920,15 +7715,24 @@ from t1" "CREATE TABLE t3 SELECT t1.dsc,COUNT(DISTINCT t2.id) AS countOfRuns FROM t1 LEFT JOIN t2 ON (t1.id=t2.id) GROUP BY t1.id" "create table t1 (b bool not null default false)" "create table t2 (b bool not null default true)" +"create table t1 select * from t1" +"create table t2 union = (t1) select * from t1" "flush tables with read lock" +"create table t1(column.name int)",,syntax_error +"create table t1(test.column.name int)",,syntax_error +"create table t1(xyz.t1.name int)",,syntax_error +"create table t1(t1.name int)",,syntax_error +"create table t2(test.t2.name int)",,syntax_error "CREATE TABLE t1 (f1 VARCHAR(255) CHARACTER SET utf8mb3)" "CREATE TABLE t2 AS SELECT LEFT(f1,171) AS f2 FROM t1 UNION SELECT LEFT(f1,171) AS f2 FROM t1" "DESC t2" "CREATE TABLE t12913 (f1 ENUM ('a','b')) AS SELECT 'a' AS f1" "SELECT * FROM t12913" "DROP TABLE t12913" +"create table test.t1 like x" "drop table if exists test.t1" "create view v1 as select 'foo' from dual" +"create table t1 like v1" "create database if not exists mysqltest character set latin2" "show create database mysqltest" "create table if not exists t1 (a int)" @@ -6979,19 +7783,28 @@ a1 int, a2 int, a3 int, a4 int, a5 int, a6 int, a7 int, a8 int, a9 int )" "create table t2 ( a int default 3, b int default 3) select a1,a2 from t1" +"create table t1(a set(""a,b"",""c,d"") not null)" +"create table t1 select * from t2" +"create table t1 select coalesce(_latin1 'a' collate latin1_swedish_ci,_latin1 'b' collate latin1_bin)" +"create table t1 (primary key(a)) select ""b"" as b" "create table if not exists t1 select 1 as a, 2 as b" +"create table t1 (primary key (a)) (select 1 as a) union all (select 1 as a)" +"create table t1 select 1 as i" "create table if not exists t1 select 1 as i" "create table if not exists t1 select * from t1" "create temporary table t1 (j int)" "drop temporary table t1" "insert into t1 values (1), (2)" -"lock table t1 read, t2 read" +"create table t2 select * from t1" "create table if not exists t2 select * from t1" +"lock table t1 read, t2 read" "lock table t1 read, t2 write" "create temporary table t2 select * from t1" "create temporary table if not exists t2 select * from t1" "create table t1 (upgrade int)" "create table t1(a int not null, b int not null, primary key (a, b))" +"create table t2(a int not null, b int not null, c int not null, primary key (a), +constraint fk_bug26104 foreign key (b,c) references t1(a))" "create table t1(f1 int,f2 int)" "insert into t1 value(1,1),(1,2),(1,3),(2,1),(2,2),(2,3)" "create table t2 select sql_big_result f1,count(f2) from t1 group by f1" @@ -7000,6 +7813,7 @@ select a1,a2 from t1" "CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE)" "CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY" "CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY" +"create user mysqltest_1@'test@test'" "CREATE TABLE t1 (a INTEGER AUTO_INCREMENT PRIMARY KEY, b INTEGER NOT NULL)" "INSERT IGNORE INTO t1 (b) VALUES (5)" "CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY) @@ -7008,12 +7822,19 @@ SELECT a FROM t1" "INSERT INTO t1 VALUES (1),(2),(3)" "INSERT INTO t2 VALUES (1),(2),(3)" "CREATE VIEW v1 AS SELECT t1.a FROM t1, t2" +"CREATE TABLE v1 AS SELECT * FROM t1" "CREATE TABLE t1 (a int, b int)" "insert into t1 values (1,1),(1,2)" +"CREATE TABLE t2 (primary key (a)) select * from t1" +"CREATE TEMPORARY TABLE t2 (primary key (a)) select * from t1" "CREATE TABLE t2 (a int, b int, primary key (a))" -"SELECT * from t2" +"INSERT INTO t2 select * from t1" "TRUNCATE table t2" "CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) ENGINE=InnoDB" +"CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +"DROP DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +"USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +"SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "set names utf8mb3" "create database имя_базы_в_кодировке_утф8_длиной_больше_чем_45" "use имя_базы_в_кодировке_утф8_длиной_больше_чем_45" @@ -7044,22 +7865,348 @@ before insert on имя_таблицы_в_кодировке_утф8_длино "select TRIGGER_NAME from information_schema.triggers where trigger_schema='test'" "drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49" +"create trigger +очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66 +before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1" +"drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66" "create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50() begin end" "select ROUTINE_NAME from information_schema.routines where routine_schema='test'" "drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50" +"create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() +begin +end" "create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49() returns int return 0" "drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49" +"create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66() +returns int +return 0" "drop view имя_вью_кодировке_утф8_длиной_больше_чем_42" "drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48" "drop function if exists f1" "drop function if exists f1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"create function f1() returns int +begin +declare res int; +create temporary table t3 select 1 i; +set res:= (select count(*) from t1); +drop temporary table t3; +return res; +end" +"create table t1 as select 1" +"create table t2 as select f1() from t1" +"drop function f1" +"drop function f1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"create table t1 like information_schema.processlist" +"create temporary table t1 like information_schema.processlist" +"create table t1 as select * from information_schema.character_sets" +"CREATE TABLE t1( +c1 INT DEFAULT 12 COMMENT 'column1', +c2 INT NULL COMMENT 'column2', +c3 INT NOT NULL COMMENT 'column3', +c4 VARCHAR(255) CHARACTER SET utf8mb3 NOT NULL DEFAULT 'a', +c5 VARCHAR(255) COLLATE utf8mb3_unicode_ci NULL DEFAULT 'b', +c6 VARCHAR(255)) +COLLATE latin1_bin" +"CREATE TABLE t2 AS SELECT * FROM t1" +"DROP TABLE IF EXISTS t3" +"CREATE TABLE t1(c1 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, c2 TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00')" +"SET sql_mode = 'NO_ZERO_DATE'" +"CREATE TABLE t2(c1 TIMESTAMP, c2 TIMESTAMP DEFAULT 0)" +"CREATE TABLE t2(c1 TIMESTAMP NULL)" +"ALTER TABLE t1 ADD INDEX(c1)" +"SET sql_mode = ''" +"SET sql_mode = ''",NO_BACKSLASH_ESCAPES +"CREATE TABLE t1(c1 YEAR DEFAULT 2008, c2 YEAR DEFAULT 0)" +"ALTER TABLE t1 MODIFY c1 YEAR DEFAULT 0" +"create table `me:i`(id int)" +"drop table `me:i`" +"create table t1 (a int) transactional=0",,syntax_error +"create table t2 (a int) page_checksum=1",,syntax_error +"create table t3 (a int) row_format=page",,syntax_error +"CREATE TABLE B ( +pk INTEGER AUTO_INCREMENT, +int_key INTEGER NOT NULL, +PRIMARY KEY (pk), +KEY (int_key) +)" +"INSERT IGNORE INTO B VALUES ('9', '9')" +"CREATE TABLE IF NOT EXISTS t1 ( +`pk` INTEGER NOT NULL AUTO_INCREMENT , +`int` INTEGER , +PRIMARY KEY ( `pk` ) +) SELECT `pk` , `int_key` FROM B " +"CREATE TRIGGER f BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +INSERT INTO t1 ( `int` ) VALUES (4 ),( 8 ),( 2 ) ; +END ; " +"INSERT INTO t1 (pk, int_key) SELECT `pk` , `int_key` FROM B " +"CREATE TRIGGER f BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +UPDATE A SET `pk`=1 WHERE `pk`=0 ; +END ;" +"DROP TABLE B" +"CREATE TABLE t1(f1 integer)" +"HANDLER t1 OPEN AS A" +"CREATE TABLE t1 SELECT 1 AS f2" +"CREATE TABLE t2(f1 integer)" +"CREATE TABLE t1 LIKE t2" +"CREATE TEMPORARY TABLE t1 (a INT)" +"CREATE TEMPORARY TABLE t2 (a INT)" +"CREATE VIEW t2 AS SELECT 1" +"CREATE TABLE t3 (a INT)" +"CREATE TEMPORARY TABLE t3 SELECT 1" +"CREATE TEMPORARY TABLE t4 (a INT)" +"CREATE TABLE t4 AS SELECT 1" +"DROP TEMPORARY TABLE t1, t2, t3, t4" +"DROP TABLE t1, t3, t4" +"DROP VIEW t2" +"CREATE TEMPORARY TABLE t2 (ID INT)" +"CREATE TEMPORARY TABLE t1 (ID INT)" +"CREATE TABLE IF NOT EXISTS t1 (ID INT)" +"CREATE TABLE IF NOT EXISTS t1 SELECT * FROM t2" +"CREATE TABLE t1 SELECT * FROM t2" +"DROP TEMPORARY TABLE t2" +"drop tables if exists t1, t2" +"create table t1 (dt datetime default '2008-02-31 00:00:00')" +"set @old_mode= @@sql_mode" +"set @@sql_mode='ALLOW_INVALID_DATES'" +"set @@sql_mode= @old_mode" +"create table t2 like t1" +"CREATE TABLE t2 (id int)" +"INSERT INTO t2 VALUES (2), (2)" +"CREATE VIEW v1 AS SELECT id FROM t2" +"CREATE TABLE IF NOT EXISTS v1(a int, b int) SELECT id, id FROM t1" +"SHOW CREATE TABLE v1" +"CREATE TEMPORARY TABLE tt1 AS SELECT id FROM t2" +"CREATE TEMPORARY TABLE IF NOT EXISTS tt1(a int, b int) SELECT id, id FROM t1" +"SELECT * FROM tt1" +"DROP TEMPORARY TABLE tt1" +"create table if not exists t1 (a int) select 1 as a" +"create table t1 (a int) select 2 as a" +"create table if not exists t1 (a int) select 2 as a" +"create temporary table if not exists t1 (a int) select 1 as a" +"create temporary table t1 (a int) select 2 as a" +"create temporary table if not exists t1 (a int) select 2 as a" +"create view v1 as select a from t1" +"create temporary table t1 (a int) select 1 as a" +"select * from v1" +"create table if not exists t1 (a int) select 3 as a" +"create table t1 (a int) select 1 as a" +"create temporary table if not exists t1 select 2 as a" +"create temporary table if not exists t1 select 3 as a" +"create table t2 (a int unique)" +"create view t1 as select a from t2" +"insert into t1 (a) values (1)" +"create temporary table if not exists t1 (a int) select 3 as a" +"create temporary table if not exists t1 (a int) select 4 as a" +"drop view t1" +"create view t1 as select a + 5 as a from t2" +"update t1 set a=3 where a=2" +"create view t1 as select 1 as a" +"create temporary table if not exists t1 (a int) select * from t1" +"create table if not exists t1 (a int) select * from t1" +"create table t1 (a int) select 1 as b, 2 as c" +"create table if not exists t1 (a int, b date, c date) select 1 as b, 2 as c" +"set @@session.sql_mode=default" +"create table if not exists t1 (a int, b date, c date) +replace select 1 as b, 2 as c" +"create table if not exists t1 (a int, b date, c date) +ignore select 1 as b, 2 as c" +"create table if not exists t1 (a int unique, b int) +replace select 1 as a, 1 as b union select 1 as a, 2 as b" +"create table if not exists t1 (a int unique, b int) +ignore select 1 as a, 1 as b union select 1 as a, 2 as b" +"create function f() +returns int +begin +insert into t2 values(1); +return 1; +end" +"create table t2(c1 int)" +"create table t1 select f()" +"create temporary table t1 select f()" +"create table t3(c1 int)" +"create view t2 as select c1 from t3" +"drop view t2" +"create table t4(c1 int)" +"create view t2 as select t3.c1 as c1 from t3, t4" +"drop tables t3, t4" +"create view t2 as select 1" +"drop function f" +"CREATE TABLE t1 (v varchar(65535) CHARACTER SET latin1)" +"CREATE TABLE t01234567890123456789012345678901234567890123456789012345678901234567890123456789(a int)" +"CREATE DATABASE t01234567890123456789012345678901234567890123456789012345678901234567890123456789" +"CREATE DATABASE db_with_no_tables_and_an_unrelated_file_in_data_directory" +"DROP DATABASE db_with_no_tables_and_an_unrelated_file_in_data_directory" +"CREATE DATABASE db_with_tables_and_an_unrelated_file_in_data_directory" +"DROP DATABASE db_with_tables_and_an_unrelated_file_in_data_directory" +"DROP DATABASE db_created_with_mkdir_and_an_unrelated_file_in_data_directory" +"CREATE TABLE t1 (id INT) INDEX DIRECTORY = 'a#######################################################b#######################################################################################b#####################################################################################b######################################################################################b######################################################################################b#############################################################################################################'" +"CREATE TABLE t2 (id INT NOT NULL, name VARCHAR(30)) +ENGINE = InnoDB +PARTITION BY RANGE (id) ( +PARTITION p0 VALUES LESS THAN (10) INDEX DIRECTORY = 'a#######################################################b#######################################################################################b#####################################################################################b######################################################################################b######################################################################################b#############################################################################################################' +)" +"CREATE TABLE t3 (id INT) INDEX DIRECTORY = 'test'" +"CREATE TABLE t4 (id INT NOT NULL, name VARCHAR(30)) +ENGINE = InnoDB +PARTITION BY RANGE (id) ( +PARTITION p0 VALUES LESS THAN (10) INDEX DIRECTORY = 'test' +)" +"SET @saved_innodb_default_row_format= @@global.innodb_default_row_format" +"SET @saved_show_create_table_verbosity= @@session.show_create_table_verbosity" +"SELECT @@global.innodb_default_row_format" +"SELECT @@session.show_create_table_verbosity" +"CREATE TABLE t1(fld1 INT) ENGINE= InnoDB" +"CREATE TABLE t2(fld1 INT) ENGINE= InnoDB, ROW_FORMAT= DEFAULT" +"SET GLOBAL innodb_default_row_format= 'COMPACT'" +"CREATE TABLE t3(fld1 INT) ENGINE= InnoDB" +"CREATE TABLE t4(fl1 INT) ENGINE= InnoDB, ROW_FORMAT= COMPRESSED" +"SET SESSION show_create_table_verbosity= ON" +"SET GLOBAL innodb_default_row_format= 'DYNAMIC'" +"SET SESSION show_create_table_verbosity= OFF" +"CREATE TEMPORARY TABLE t1(fld1 INT) ENGINE= InnoDB" +"CREATE TEMPORARY TABLE t2(fld1 INT) ENGINE= InnoDB, ROW_FORMAT= DEFAULT" +"CREATE TEMPORARY TABLE t3(fld1 INT) ENGINE= InnoDB" +"CREATE TEMPORARY TABLE t4(fl1 INT) ENGINE= InnoDB, ROW_FORMAT= REDUNDANT" +"SET GLOBAL innodb_default_row_format= @saved_innodb_default_row_format" +"SET SESSION show_create_table_verbosity= @saved_show_create_table_verbosity" +"CREATE TABLE t0(a ENUM('aaa', 'bbb', 'ccc') BYTE)" +"SHOW CREATE TABLE t0" +"SHOW COLUMNS FROM t0" +"CREATE TABLE t1(a ENUM( b'1001001'))" +"SHOW COLUMNS FROM t1" +"CREATE TABLE t2(a ENUM( b'1001001') BYTE)" +"SHOW COLUMNS FROM t2" +"CREATE TABLE t3(a ENUM( b'10010010') BYTE)" +"SHOW COLUMNS FROM t3" +"CREATE TABLE t4(a ENUM( b'1001001101101111') BYTE)" +"SHOW COLUMNS FROM t4" +"CREATE TABLE t5(a ENUM( b'10010011011011111111011000011') BYTE)" +"SHOW COLUMNS FROM t5" +"CREATE TABLE t6 (a INT)" +"ALTER TABLE t6 +MODIFY COLUMN a ENUM( b'10010011011011111111011000011') BYTE UNIQUE FIRST" +"SHOW COLUMNS FROM t6" +"SET GLOBAL sql_require_primary_key= ON" +"SELECT @@global.sql_require_primary_key" +"SELECT @@session.sql_require_primary_key" +"CREATE TABLE t2(i INT PRIMARY KEY, j INT)" +"ALTER TABLE t2 DROP COLUMN i" +"CREATE TABLE t1(i INT PRIMARY KEY, j INT)" +"ALTER TABLE t1 DROP COLUMN i" +"SET SESSION sql_require_primary_key= OFF" +"SET SESSION sql_require_primary_key= ON" +"CREATE TABLE t3 (I INT PRIMARY KEY)" +"CREATE TABLE t4 AS SELECT * FROM t1" +"CREATE TABLE t4 AS SELECT * FROM t3" +"CREATE TABLE t4(i INT PRIMARY KEY) AS SELECT * FROM t3" +"CREATE TABLE t5(i INT PRIMARY KEY, j INT)" +"ALTER TABLE t5 DROP PRIMARY KEY, ADD CONSTRAINT PRIMARY KEY (j)" +"CREATE TEMPORARY TABLE t6(i INT)" +"CREATE USER subuser@localhost" +"REVOKE SUPER ON *.* FROM subuser@localhost" +"SET GLOBAL sql_require_primary_key= OFF" +"DROP USER subuser@localhost" +"SET @saved_mode= @@sql_mode" +"CREATE TABLE t1(fld1 int)" +"CREATE TABLE t2 SELECT fld1, CURDATE() fld2 FROM t1" +"CREATE TABLE t3 AS SELECT now()" +"DROP TABLE t2, t3" +"SET SQL_MODE= ""NO_ZERO_DATE""" +"SET SQL_MODE= DEFAULT" +"CREATE TABLE t1(fld1 DATETIME NOT NULL DEFAULT '1111:11:11')" +"CREATE TABLE t1 (fld1 INT, fld2 DATETIME DEFAULT '1211:1:1')" +"CREATE TRIGGER t1_bi BEFORE INSERT ON t1 +FOR EACH ROW +BEGIN +CREATE TEMPORARY TABLE t2 AS SELECT NEW.fld1, NEW.fld2; +END +" +"INSERT INTO t1 VALUES (1, '1111:11:11')" +"SET SQL_MODE= @saved_mode" +"SET SESSION sql_require_primary_key=1" +"CREATE TABLE IF NOT EXISTS t1(i INT)" +"SET SESSION sql_require_primary_key=DEFAULT" +"CREATE TABLE types(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100))" +"INSERT INTO types(name) VALUES +('TINYINT'), ('SMALLINT'), ('MEDIUMINT'), ('INT'), ('BIGINT'), +('TINYINT(10)'), ('SMALLINT(10)'), ('MEDIUMINT(10)'), ('INT(10)'), ('BIGINT(10)'), +('DOUBLE'), ('FLOAT'), ('DECIMAL(5, 2)'), ('YEAR')" +"DROP TABLE types" +"CREATE TABLE t1( +a TINYINT, +b SMALLINT, +c MEDIUMINT, +d INT, +e BIGINT, +f TINYINT(1), +g SMALLINT(1), +h MEDIUMINT(1), +i INT(1), +j BIGINT(1), +k TINYINT ZEROFILL, +l SMALLINT ZEROFILL, +m MEDIUMINT ZEROFILL, +n INT ZEROFILL, +o BIGINT ZEROFILL +)" +"SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'" +"SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'v1'" +"DESCRIBE v1" +"CREATE FUNCTION f1(a INT) RETURNS INT RETURN 1" +"CREATE FUNCTION f2(a INT ZEROFILL) RETURNS INT ZEROFILL RETURN 1" +"SHOW CREATE FUNCTION f1" +"SHOW CREATE FUNCTION f2" +"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'f1'" +"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'f2'" +"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'f1'" +"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'f2'" +"CREATE PROCEDURE p1(a INT, b INT ZEROFILL) BEGIN END" +"SHOW CREATE PROCEDURE p1" +"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'p1'" +"CREATE TABLE t1(a BOOLEAN, b TINYINT(1), c TINYINT(1) UNSIGNED, d TINYINT(1) ZEROFILL)" +"SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'" +"CREATE FUNCTION f1(a BOOLEAN, b TINYINT(1), c TINYINT(1) UNSIGNED, +d TINYINT(1) ZEROFILL) RETURNS BOOLEAN RETURN 1" +"CREATE PROCEDURE p1(a BOOLEAN, b TINYINT(1), c TINYINT(1) UNSIGNED, +d TINYINT(1) ZEROFILL) BEGIN END" +"CREATE TABLE t1(i INT PRIMARY KEY) KEY_BLOCK_SIZE = 2147483647",,syntax_error +"CREATE TABLE t1(i INT PRIMARY KEY) KEY_BLOCK_SIZE = -2147483647",,syntax_error +"CREATE TABLE t1(i INT PRIMARY KEY) KEY_BLOCK_SIZE = 2147483648",,syntax_error +"CREATE TABLE t1(i INT PRIMARY KEY) KEY_BLOCK_SIZE = -2147483648",,syntax_error +"CREATE TABLE t2(i INT PRIMARY KEY) KEY_BLOCK_SIZE = 4294967295",,syntax_error +"CREATE TABLE t3(i INT PRIMARY KEY) KEY_BLOCK_SIZE = 4294967296",,syntax_error +"CREATE TABLE t4( +c0 DECIMAL ZEROFILL UNIQUE KEY STORAGE MEMORY, +c1 DECIMAL ZEROFILL PRIMARY KEY COLUMN_FORMAT DYNAMIC UNIQUE KEY STORAGE MEMORY NOT NULL, +c2 FLOAT ZEROFILL COMMENT 'asdf' COLUMN_FORMAT FIXED NULL STORAGE MEMORY, +c3 TINYINT(120) ZEROFILL STORAGE DISK UNIQUE KEY NULL COMMENT 'asdf' +) CHECKSUM = 1, AUTO_INCREMENT = 1093400439, KEY_BLOCK_SIZE = 3927749503218772669, COMPRESSION = 'NONE'",,syntax_error +"CREATE TABLE t1(a INT) ENGINE=myisam key_block_size=65535" +"SHOW TABLE STATUS LIKE 't1'" +"CREATE TABLE t1(a INT) avg_row_length=18446744073709551615",,syntax_error +"CREATE TABLE t1(a INT) avg_row_length=4294967296",,syntax_error +"CREATE TABLE t1(a INT) avg_row_length=4294967295" +"CREATE TABLE t1(a INT) max_rows=18446744073709551615" +"CREATE TABLE t1(a INT) min_rows=18446744073709551615" +"CREATE TABLE t1 AS SELECT @max_error_count UNION SELECT 'a'" +"CREATE TABLE t2 AS SELECT @max_error_count UNION SELECT 'a'" +"CREATE TABLE t1 (x INT)" +"CREATE TABLE t2 (pk INT PRIMARY KEY)" +"CREATE TABLE t3 AS +SELECT 1 FROM t1 LEFT JOIN t2 +ON t1.x IN (SELECT it1.pk FROM t2 AS it1, t2 AS it2)" +"SELECT COUNT(*) FROM t3" "CREATE PROCEDURE IF NOT EXISTS sp1() BEGIN END" +"CREATE PROCEDURE sp1() BEGIN END" "CREATE FUNCTION IF NOT EXISTS sf1() RETURNS INT DETERMINISTIC return 0" +"CREATE FUNCTION sf1() RETURNS INT DETERMINISTIC return 0" "DROP FUNCTION sf1" "CREATE FUNCTION IF NOT EXISTS abs() RETURNS INT DETERMINISTIC return 0" "DROP FUNCTION abs" @@ -7067,13 +8214,15 @@ return 0" "DROP FUNCTION metaphon" "DROP FUNCTION test.metaphon" "CREATE TRIGGER IF NOT EXISTS trg1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN END" +"CREATE TRIGGER IF NOT EXISTS trg1 BEFORE INSERT ON t2 FOR EACH ROW BEGIN END" +"CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN END" "create table t1 (i int) engine=myisam max_rows=100000000000" "alter table t1 max_rows=100000000000" "CREATE TABLE t3(c1 DATETIME NOT NULL) ENGINE=MYISAM" "INSERT INTO t3 VALUES (0)" "SET sql_mode = TRADITIONAL" -"SET sql_mode = ''" -"SET sql_mode = ''",NO_BACKSLASH_ESCAPES +"ALTER TABLE t3 ADD INDEX(c1)" +"drop table if exists `about:text`" "create table `about:text` ( _id int not null auto_increment, `about:text` varchar(255) not null default '', @@ -7087,6 +8236,7 @@ primary key (_id) "CREATE TABLE t0 (f1 INT PRIMARY KEY)" "INSERT INTO t0 VALUES (1),(2),(3),(4)" "SET global DEBUG='+d, crash_before_create_select_insert'" +"CREATE TABLE t1 AS SELECT * FROM t0" "SET global DEBUG='-d, crash_before_create_select_insert'" "SET global DEBUG='+d, crash_after_create_select_insert'" "SET global DEBUG='-d, crash_after_create_select_insert'" @@ -7108,6 +8258,13 @@ CREATE TABLE t1 (f1 INT) START TRANSACTION; COMMIT; END" "CALL proc1()" +"PREPARE stmt FROM ""CREATE TABLE t1 (f1 INT) START TRANSACTION""" +"CREATE TABLE t1 (f1 INT) ENGINE=MyiSAM START TRANSACTION" +"UPDATE t1 SET f1=932" +"CREATE TABLE t2 (f2 INT)" +"ALTER TABLE t2 ADD f2 INT, START TRANSACTION" +"CREATE TEMPORARY TABLE t1 (f1 INT) START TRANSACTION" +"CREATE TABLE t1 START TRANSACTION as SELECT * FROM t0" "SET @saved_sql_log_bin = @@SESSION.sql_log_bin" "CREATE TABLE myisam_table1 (m INT, n INT, FOREIGN KEY (n) REFERENCES t0(f1)) ENGINE=MyISAM AS SELECT 101 as m, 5 as n" @@ -7119,6 +8276,8 @@ ENGINE=MyISAM AS SELECT 101 as m, 2 as n" "DROP TABLE myisam_table2" "SET sql_log_bin = OFF" "CREATE TABLE innodb_table1 (m INT, n INT, FOREIGN KEY (n) REFERENCES t0(f1)) +AS SELECT 101 as m, 5 as n" +"CREATE TABLE innodb_table1 (m INT, n INT, FOREIGN KEY (n) REFERENCES t0(f1)) AS SELECT 101 as m, 2 as n" "CREATE TABLE innodb_table2 as SELECT m, 4 FROM innodb_table1" "SHOW CREATE TABLE innodb_table1" @@ -7129,19 +8288,27 @@ AS SELECT 101 as m, 2 as n" "SET @@SESSION.binlog_format=STATEMENT" "SET @@SESSION.binlog_format=MIXED" "SET @@SESSION.binlog_format=ROW" +"CREATE TABLE innodb_table1 (m INT, n INT, +FOREIGN KEY (n) REFERENCES t0(f1)) START TRANSACTION" "CREATE TABLE innodb_table1(m INT, FOREIGN KEY (m) REFERENCES t0(f1)) AS SELECT f1 AS m FROM t0" +"DELETE FROM t0 WHERE f1 = 1" "CREATE TABLE self_referencing_table(pk INT PRIMARY KEY, fk INT, FOREIGN KEY (fk) REFERENCES self_referencing_table(pk)) AS SELECT 1 AS pk, 1 as fk" "INSERT INTO self_referencing_table VALUES (2,1), (3, NULL), (4,3)" +"DELETE FROM self_referencing_table WHERE pk=1" "SELECT pk, fk FROM self_referencing_table ORDER BY pk" -"DELETE FROM self_referencing_table WHERE pk=4" "DELETE FROM self_referencing_table WHERE pk=3" +"DELETE FROM self_referencing_table WHERE pk=4" "DROP TABLE self_referencing_table" "SET sql_log_bin = @saved_sql_log_bin" "CREATE TABLE t1 ( a int )" "INSERT INTO t1 VALUES (1),(2),(1)" +"CREATE TABLE t2 ( PRIMARY KEY (a) ) ENGINE=INNODB SELECT a FROM t1" +"CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=INNODB SELECT a FROM t1" +"CREATE TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1" +"CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1" "create table t1 ( c1 int, c2 int, c3 int, c4 int, c5 int, c6 int, c7 int, c8 int, c9 int, c10 int, c11 int, c12 int, c13 int, c14 int, c15 int, c16 int, @@ -7419,9 +8586,16 @@ add key a063_long_123456789_123456789_123456789_123456789_123456789_1234 ( c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16), add key a064_long_123456789_123456789_123456789_123456789_123456789_1234 ( c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16)" +"alter table t1 add key +a065_long_123456789_123456789_123456789_123456789_123456789_1234 ( +c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16)" "create table t1 (c1 int, c2 int, c3 int, c4 int, c5 int, c6 int, c7 int, c8 int, c9 int, c10 int, c11 int, c12 int, c13 int, c14 int, c15 int, c16 int, c17 int)" +"alter table t1 add key i1 ( +c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16, c17)" +"alter table t1 add key +a001_long_123456789_123456789_123456789_123456789_123456789_12345 (c1)" "drop table if exists t1,t2,t3,t4" "CREATE TABLE t1 ( Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL, @@ -7529,8 +8703,8 @@ founded char(4) DEFAULT '' NOT NULL "select * from t1 where i between 2 and 4 and v in ('def','3r4f','abc')" "create table bug15205 (val int(11) not null) engine=csv" "create table bug15205_2 (val int(11) not null) engine=csv" -"select * from bug15205_2" "select * from bug15205" +"select * from bug15205_2" "drop table bug15205" "drop table bug15205_2" "create table t1 ( @@ -7577,12 +8751,14 @@ name varchar(64) not null "create table t1(a blob not null) engine=csv" "create table t1(a bit(1) not null) engine=csv" "select BIN(a) from t1" +"create table t1(a enum('foo','bar') default null) engine=csv" +"create table t1(a enum('foo','bar') default 'foo') engine=csv" "create table t1(a enum('foo','bar') default 'foo' not null) engine=csv" +"CREATE TABLE t1(a INT) ENGINE=CSV" "create table t1 (c1 tinyblob not null) engine=csv" "insert into t1 values(""This"")" "update t1 set c1=""That"" where c1=""This""" "CREATE TABLE t1 (e enum('foo','bar') NOT NULL) ENGINE = CSV" -"INSERT INTO t1 VALUES()" "INSERT INTO t1 VALUES(default)" "INSERT IGNORE INTO t1 VALUES(0)" "INSERT IGNORE INTO t1 VALUES(3)" @@ -7596,6 +8772,9 @@ name varchar(64) not null "ALTER TABLE t1 DROP COLUMN b" "ALTER TABLE t1 MODIFY a BIGINT NOT NULL" "ALTER TABLE t1 CHANGE a a INT NOT NULL" +"ALTER TABLE t1 ADD COLUMN b CHAR(5)" +"ALTER TABLE t1 MODIFY a BIGINT" +"ALTER TABLE t1 CHANGE a a INT" "CREATE TABLE `bug21328` ( `col1` int(11) NOT NULL, `col2` int(11) NOT NULL, @@ -7604,11 +8783,16 @@ name varchar(64) not null "insert into bug21328 values (1,0,0)" "alter table bug21328 engine=myisam" "drop table bug21328" +"CREATE TABLE t1 (a int) ENGINE = CSV" +"CREATE TABLE t2 (a int NOT NULL, b char(20)) ENGINE = CSV" "CREATE TABLE t1 (a int NOT NULL, b blob NOT NULL, c CHAR(20) NOT NULL, d VARCHAR(20) NOT NULL, e enum('foo','bar') NOT NULL,f DATE NOT NULL) ENGINE = CSV" "INSERT INTO t1 VALUES(default,default,default,default,default,default)" "INSERT INTO t1 VALUES(0,'abc','def','ghi','bar','1999-12-31')" +"INSERT INTO t1 VALUES(NULL,'ab','a','b','foo','2007-01-01')" +"INSERT INTO t1 VALUES(default(a),default(b), default(c), default(d), +default(e), default(f))" "CREATE TABLE t1 (a int NOT NULL, b char(10) NOT NULL) ENGINE = CSV" "UPDATE t1 set b = 'new_value' where a = 0" "UPDATE t1 set b = NULL where b = 'new_value'" @@ -7620,6 +8804,7 @@ ENGINE = CSV" "select t1a.a, t1b.a from t1 as t1a, t1 as t1b where t1a.a=t1b.a order by binary t1a.a, binary t1b.a" "SET NAMES ascii" "CREATE TABLE t1 (v VARCHAR(10) CHARACTER SET ASCII)" +"INSERT INTO t1 VALUES(0xe5)" "SELECT HEX(v) FROM t1" "SET @test_character_set= 'big5'" "SET @test_collation= 'big5_chinese_ci'" @@ -7704,6 +8889,12 @@ FROM t1" "CREATE TABLE t1 ( latin1_f CHAR(32) NOT NULL ) charset latin1" +"CREATE TABLE t2 ( +latin1_f CHAR(32) CHARACTER SET latin1 COLLATE koi8r_general_ci NOT NULL +)" +"CREATE TABLE t2 ( +latin1_f CHAR(32) CHARACTER SET latin1 COLLATE some_non_existing_col NOT NULL +)" "INSERT INTO t1 (latin1_f) VALUES (_latin1'A')" "INSERT INTO t1 (latin1_f) VALUES (_latin1'a')" "INSERT INTO t1 (latin1_f) VALUES (_latin1'AD')" @@ -7736,20 +8927,24 @@ latin1_f CHAR(32) NOT NULL "SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_german2_ci, hex(latin1_f)" "SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_general_ci, hex(latin1_f)" "SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_bin" +"SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE koi8r_general_ci" "SELECT latin1_f COLLATE latin1_swedish_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as, hex(latin1_f_as)" "SELECT latin1_f COLLATE latin1_german2_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as, hex(latin1_f_as)" "SELECT latin1_f COLLATE latin1_general_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as, hex(latin1_f_as)" "SELECT latin1_f COLLATE latin1_bin AS latin1_f_as FROM t1 ORDER BY latin1_f_as" +"SELECT latin1_f COLLATE koi8r_general_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as" "SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f ORDER BY latin1_f" "SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_swedish_ci ORDER BY latin1_f COLLATE latin1_swedish_ci" "SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_german2_ci ORDER BY latin1_f COLLATE latin1_german2_ci" "SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_general_ci ORDER BY latin1_f COLLATE latin1_general_ci" "SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_bin ORDER BY latin1_f COLLATE latin1_bin" +"SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE koi8r_general_ci" "SELECT DISTINCT latin1_f FROM t1" "SELECT DISTINCT latin1_f COLLATE latin1_swedish_ci FROM t1" "SELECT DISTINCT latin1_f COLLATE latin1_german2_ci FROM t1" "SELECT DISTINCT latin1_f COLLATE latin1_general_ci FROM t1" "SELECT DISTINCT latin1_f COLLATE latin1_bin FROM t1" +"SELECT DISTINCT latin1_f COLLATE koi8r FROM t1" "SHOW FIELDS FROM t1" "ALTER TABLE t1 CHANGE latin1_f latin1_f CHAR(32) CHARACTER SET latin1 COLLATE latin1_bin" @@ -7760,9 +8955,11 @@ latin1_f CHAR(32) CHARACTER SET latin1 COLLATE latin1_bin" "explain SELECT charset('a'),collation('a'),coercibility('a'),'a'='A'" "SET CHARACTER SET koi8r" "SHOW VARIABLES LIKE 'collation_client'" +"SET CHARACTER SET 'DEFAULT'" "CREATE TABLE t1 (s1 CHAR(5) COLLATE latin1_german1_ci, s2 CHAR(5) COLLATE latin1_swedish_ci)" +"SELECT * FROM t1 WHERE s1 = s2" "CREATE TABLE t1 (s1 CHAR(5) COLLATE latin1_german1_ci, s2 CHAR(5) COLLATE latin1_swedish_ci, @@ -7821,12 +9018,12 @@ BEGIN RETURN ""Testtext""; END;" "SELECT getText(), CHARSET(getText()), COLLATION(getText()), COERCIBILITY(getText())" +"CREATE TABLE t1 AS SELECT ' - ' AS a UNION SELECT getText()" "DROP FUNCTION getText" "CREATE FUNCTION `getText`() RETURNS varchar(20) BEGIN RETURN ""Testtext""; END;" -"CREATE TABLE t1 AS SELECT ' - ' AS a UNION SELECT getText()" "CREATE FUNCTION `getText`() RETURNS varchar(20) CHARACTER SET latin1 COLLATE latin1_german2_ci BEGIN RETURN ""Testtext""; @@ -7864,6 +9061,7 @@ END;" "SET @test_collation= 'cp1250_czech_cs'" "CREATE TABLE t1 (a char(16)) character set cp1250 collate cp1250_czech_cs" "INSERT INTO t1 VALUES ('')" +"INSERT INTO t1 VALUES ('')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT a, length(a), a='', a=' ', a=' ' FROM t1" "CREATE TABLE t1 ( popisek varchar(30) collate cp1250_general_ci NOT NULL default '', @@ -7892,6 +9090,8 @@ UNIQUE KEY (str) "insert into t1 values(""ááčč"")" "select a from t1 where a like ""abcdefghá""" "set names cp1250 collate cp1250_czech_cs" +"set global LC_MESSAGES=convert((@@global.log_bin_trust_function_creators) +using cp1250)" "SET NAMES cp1250" "SET NAMES cp1251" "create table t1 (a varchar(10) not null) character set cp1251" @@ -7912,6 +9112,7 @@ primary key(a) ('we_martin'),('vw_grado'),('vw_vasko'),('tn_vili'),('tn_kalina'), ('tn_fakira'),('vw_silvia'),('vw_starshi'),('vw_geo'),('vw_b0x1')" "SELECT * FROM t1 WHERE a LIKE 'we_%' ORDER BY a" +"set global LC_TIME_NAMES=convert((-8388608) using cp1251)" "CREATE TABLE t1 (test1 INT, test2 VARCHAR(255))" "SELECT COALESCE(IF(test1=1, 1, NULL), test2) FROM t1" "SELECT COALESCE(IF(test1=1, NULL, 1), test2) FROM t1" @@ -7931,6 +9132,49 @@ e2 enum('ìëÿ)ªî') "SET @@character_set_client= @old_character_set_client" "SET @@character_set_connection= @old_character_set_connection" "SET @@character_set_results= @old_character_set_results" +"CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1, +s2 CHAR(50) CHARACTER SET cp932, +d DECIMAL(10,2))" +"CREATE PROCEDURE bug18293 (IN ins1 CHAR(50), +IN ins2 CHAR(50) CHARACTER SET cp932, +IN ind DECIMAL(10,2)) +BEGIN +INSERT INTO t4 VALUES (ins1, ins2, ind); +END" +"CALL bug18293(""Foo's a Bar"", _cp932 0xED40ED41ED42, 47.93)" +"SELECT HEX(s1),HEX(s2),d FROM t4" +"DROP PROCEDURE bug18293" +"CREATE TABLE t1 (a varchar(16)) character set cp932" +"INSERT INTO t1 VALUES (0x8372835E),(0x8352835E)" +"SELECT hex(a), hex(lower(a)), hex(upper(a)) FROM t1 ORDER BY binary(a)" +"SET collation_connection=cp932_japanese_ci" +"CREATE TABLE t1 AS +SELECT concat(head, tail) AS code, ' ' AS a +FROM head, tail +WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN 'A1' AND 'DF') +AND (tail BETWEEN '20' AND 'FF') +ORDER BY head, tail" +"INSERT t1 (code) SELECT head FROM head +WHERE (head BETWEEN 'A1' AND 'DF') +ORDER BY head" +"SET @@session.max_error_count = default" +"SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=1" +"SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2" +"SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 +WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a)) +ORDER BY code" +"SELECT * FROM t1 +WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8mb3)) <> +HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8mb3))) ORDER BY code" +"SELECT * FROM t1 +WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8mb3)) <> +HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8mb3))) ORDER BY code" +"SELECT HEX(a), HEX(CONVERT(a USING utf8mb3)) as b FROM t1 +WHERE a<>'' HAVING b<>'3F' ORDER BY code" +"SELECT HEX(a), HEX(CONVERT(a using cp932)) as b FROM t1 HAVING b<>'3F' ORDER BY BINARY a" +"set names cp932" +"set collation_connection=cp932_bin" +"SET @@character_set_server=latin5" "CREATE DATABASE mysqltest1 DEFAULT CHARACTER SET cp1251" "USE mysqltest1" "CREATE DATABASE mysqltest2" @@ -7946,19 +9190,28 @@ e2 enum('ìëÿ)ªî') "CREATE TABLE t1 (a char(10)) DEFAULT CHARACTER SET latin1" "CREATE TABLE t1 (a char(10)) DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci" +"create table t1 (a char) character set latin1 character set latin2" +"create table t1 (a char) character set latin1 collate latin2_bin" +"create database d1 default character set latin1 character set latin2" +"create database d1 default character set latin1 collate latin2_bin" "DROP DATABASE mysqltest1" "CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET latin7" "use mysqltest2" "ALTER DATABASE DEFAULT CHARACTER SET latin2" "show create database mysqltest2" "drop database mysqltest2" +"ALTER DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa DEFAULT CHARACTER SET latin2" +"ALTER DATABASE `` DEFAULT CHARACTER SET latin2" "CREATE TABLE t1(f1 INT)" "SET lc_messages=ru_RU" "SHOW VARIABLES LIKE 'lc_messages'" "SHOW GLOBAL VARIABLES LIKE 'lc_messages'" "SET GLOBAL lc_messages=ru_RU" "SET GLOBAL lc_messages=en_US" +"drop table `ק`" "SET lc_messages=cs_CZ" +"USE nonexistant" +"SELECT '01234567890123456789012345678901234\'",,syntax_error "drop table if exists t3" "drop table if exists t4" "set names eucjpms" @@ -8286,6 +9539,7 @@ DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci" "SET collation_connection='eucjpms_bin'" "select hex(convert(_eucjpms 0xA5FE41 using ucs2))" "select hex(convert(_eucjpms 0x8FABF841 using ucs2))" +"set global LC_TIME_NAMES=convert((convert((0x63) using eucjpms)) using utf8mb3)" "SET collation_connection=eucjpms_japanese_ci" "CREATE TABLE t1 AS SELECT 'XXXXXX' AS code, ' ' AS a LIMIT 0" "INSERT INTO t1 (code) SELECT concat('8E', head) FROM head @@ -8299,19 +9553,9 @@ ORDER BY head, tail" FROM head, tail WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF') ORDER BY head, tail" -"SET @@session.max_error_count = default" -"SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2" "SELECT * FROM t1 WHERE CHAR_LENGTH(a)=2" "SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=3" "SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a)) ORDER BY code" -"SELECT * FROM t1 -WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8mb3)) <> -HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8mb3))) ORDER BY code" -"SELECT * FROM t1 -WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8mb3)) <> -HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8mb3))) ORDER BY code" -"SELECT HEX(a), HEX(CONVERT(a USING utf8mb3)) as b FROM t1 -WHERE a<>'' HAVING b<>'3F' ORDER BY code" "SELECT HEX(a), HEX(CONVERT(a using sjis)) as b FROM t1 HAVING b<>'3F' ORDER BY BINARY a" "set collation_connection=eucjpms_bin" "SET NAMES eucjpms" @@ -8395,6 +9639,9 @@ ORDER BY t11.a, t12.a" "SELECT HEX(CONVERT(_ucs2 0xDFFF USING gb18030))" "SELECT HEX(CONVERT(_ucs2 0xE000 USING gb18030))" "SELECT HEX(CONVERT(_ucs2 0xF8FF USING gb18030))" +"SELECT HEX(CONVERT(_gb18030 0xA13941 USING ucs2))" +"SELECT HEX(CONVERT(_gb18030 0xFFFE USING ucs2))" +"SELECT HEX(CONVERT(_gb18030 0x81308140 USING ucs2))" "SELECT LOCATE(_gb18030 0x8140, _gb18030 0x814181408142)" "SELECT HEX(REVERSE(_gb18030 0x8140814181428130813081308131FE39FE39))" "SELECT HEX(SUBSTRING(_gb18030 0x81308131813081328130813381308134, 1, 2))" @@ -8509,6 +9756,7 @@ b MEDIUMTEXT CHARACTER SET big5)" "INSERT INTO t1 VALUES (_gb18030 0x8BF5819AEDC3), (_gb18030 0x99CC), (_gb18030 0x90459958), (_gb18030 0xAA95C0E59E509AED), (_gb18030 0xCCE7), (_gb18030 0x9068), (_gb18030 0x90459958)" "SELECT ANY_VALUE(HEX(c)), COUNT(c) FROM t1 GROUP BY c COLLATE gb18030_chinese_ci" "CREATE TABLE t1 (a int) ENGINE=InnoDB" +"LOAD DATA INFILE '../../std_data/bug21542698.dat' INTO TABLE t1 CHARACTER SET gb18030" "DROP DATABASE gb18030" "RESET BINARY LOGS AND GTIDS" "SET NAMES gb18030" @@ -8943,25 +10191,124 @@ ORDER BY schema_name" "INSERT INTO t1 VALUES(CONVERT(_ucs2 0xFB16 USING gb18030))" "INSERT INTO t1 VALUES(CONVERT(_ucs2 0xFB17 USING gb18030))" "INSERT INTO t1 VALUES(CONVERT(_ucs2 0x00DF USING gb18030))" -"CREATE TABLE t1 (c1 CHAR(20), c2 CHAR(20)) CHARACTER SET gb18030 COLLATE gb18030_unicode_520_ci" -"INSERT INTO t1 VALUES(CONVERT(_ucs2 0x005300DF00DF00DF00DF00DF00DF USING gb18030), CONVERT(_ucs2 0x00DF00DF00DF00DF00DF00DF0053 USING gb18030))" -"SELECT * FROM t1 WHERE c1 = c2" -"CREATE TABLE t1 (c CHAR(10), KEY(c)) CHARACTER SET gb18030 COLLATE gb18030_unicode_520_ci" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x02BC USING gb18030), CONVERT(_ucs2 0x004E USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x02BC USING gb18030), CONVERT(_ucs2 0x006E USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x004A USING gb18030), CONVERT(_ucs2 0x030C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x006A USING gb18030), CONVERT(_ucs2 0x030C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0399 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0301 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03B9 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0301 USING gb18030)))" +"INSERT INTO t1 VALUES(CONVERT(_ucs2 0x1FD3 USING gb18030))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A5 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0301 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C5 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0301 USING gb18030)))" +"INSERT INTO t1 VALUES(CONVERT(_ucs2 0x1FE3 USING gb18030))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0535 USING gb18030), CONVERT(_ucs2 0x0552 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0565 USING gb18030), CONVERT(_ucs2 0x0552 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0535 USING gb18030), CONVERT(_ucs2 0x0582 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0565 USING gb18030), CONVERT(_ucs2 0x0582 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0048 USING gb18030), CONVERT(_ucs2 0x0331 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0068 USING gb18030), CONVERT(_ucs2 0x0331 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0054 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0074 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0057 USING gb18030), CONVERT(_ucs2 0x030A USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0077 USING gb18030), CONVERT(_ucs2 0x030A USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0059 USING gb18030), CONVERT(_ucs2 0x030A USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0079 USING gb18030), CONVERT(_ucs2 0x030A USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0041 USING gb18030), CONVERT(_ucs2 0x02BE USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0061 USING gb18030), CONVERT(_ucs2 0x02BE USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A5 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C5 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A5 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030), CONVERT(_ucs2 0x0300 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C5 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030), CONVERT(_ucs2 0x0300 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x1F50 USING gb18030), CONVERT(_ucs2 0x0300 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A5 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030), CONVERT(_ucs2 0x0301 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C5 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030), CONVERT(_ucs2 0x0301 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x1F50 USING gb18030), CONVERT(_ucs2 0x0301 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A5 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C5 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x1F50 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0399 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0300 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03B9 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0300 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0399 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03B9 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0399 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03B9 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A5 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0300 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C5 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0300 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A1 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C1 USING gb18030), CONVERT(_ucs2 0x0313 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A5 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C5 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03A5 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x03C5 USING gb18030), CONVERT(_ucs2 0x0308 USING gb18030), CONVERT(_ucs2 0x0342 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0069 USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0069 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x006C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x006C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0xFB00 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0069 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0069 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0069 USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0069 USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0xFB00 USING gb18030), CONVERT(_ucs2 0x0069 USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0xFB01 USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0xFB01 USING gb18030)))" -"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" -"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0049 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0xFB00 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x006C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x006C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x006C USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x006C USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0xFB00 USING gb18030), CONVERT(_ucs2 0x006C USING gb18030)))" "INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0xFB02 USING gb18030)))" -"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" -"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0046 USING gb18030), CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0x004C USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0066 USING gb18030), CONVERT(_ucs2 0xFB02 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0053 USING gb18030), CONVERT(_ucs2 0x0054 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0053 USING gb18030), CONVERT(_ucs2 0x0074 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0073 USING gb18030), CONVERT(_ucs2 0x0054 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0073 USING gb18030), CONVERT(_ucs2 0x0074 USING gb18030)))" +"INSERT INTO t1 VALUES(CONVERT(_ucs2 0xFB06 USING gb18030))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0544 USING gb18030), CONVERT(_ucs2 0x0546 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0544 USING gb18030), CONVERT(_ucs2 0x0576 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0574 USING gb18030), CONVERT(_ucs2 0x0546 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0574 USING gb18030), CONVERT(_ucs2 0x0576 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0544 USING gb18030), CONVERT(_ucs2 0x0535 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0544 USING gb18030), CONVERT(_ucs2 0x0565 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0574 USING gb18030), CONVERT(_ucs2 0x0535 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0574 USING gb18030), CONVERT(_ucs2 0x0565 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0544 USING gb18030), CONVERT(_ucs2 0x053B USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0544 USING gb18030), CONVERT(_ucs2 0x056B USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0574 USING gb18030), CONVERT(_ucs2 0x053B USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0574 USING gb18030), CONVERT(_ucs2 0x056B USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x054E USING gb18030), CONVERT(_ucs2 0x0546 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x054E USING gb18030), CONVERT(_ucs2 0x0576 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x057E USING gb18030), CONVERT(_ucs2 0x0546 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x057E USING gb18030), CONVERT(_ucs2 0x0576 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0544 USING gb18030), CONVERT(_ucs2 0x053D USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0544 USING gb18030), CONVERT(_ucs2 0x056D USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0574 USING gb18030), CONVERT(_ucs2 0x053D USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0574 USING gb18030), CONVERT(_ucs2 0x056D USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0053 USING gb18030), CONVERT(_ucs2 0x0053 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0053 USING gb18030), CONVERT(_ucs2 0x0073 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0073 USING gb18030), CONVERT(_ucs2 0x0053 USING gb18030)))" +"INSERT INTO t1 VALUES(CONCAT(CONVERT(_ucs2 0x0073 USING gb18030), CONVERT(_ucs2 0x0073 USING gb18030)))" +"CREATE TABLE t1 (c1 CHAR(20), c2 CHAR(20)) CHARACTER SET gb18030 COLLATE gb18030_unicode_520_ci" +"INSERT INTO t1 VALUES(CONVERT(_ucs2 0x005300DF00DF00DF00DF00DF00DF USING gb18030), CONVERT(_ucs2 0x00DF00DF00DF00DF00DF00DF0053 USING gb18030))" +"SELECT * FROM t1 WHERE c1 = c2" +"CREATE TABLE t1 (c CHAR(10), KEY(c)) CHARACTER SET gb18030 COLLATE gb18030_unicode_520_ci" "SELECT c, hex(c) FROM t1 ORDER BY c, hex(c) ASC" "SELECT c, hex(c) FROM t1 ORDER BY c, hex(c) DESC" "SELECT c, hex(c) FROM t1 WHERE c = 'FFI'" @@ -9058,6 +10405,7 @@ a=@l FROM t1" "select 'a' regexp 'A' collate latin1_bin" "SET collation_connection='latin1_swedish_ci'" "SET collation_connection='latin1_bin'" +"CREATE TABLE „a (a int)" "SELECT '„a' as str" "set @str= _latin1 'ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc'" "SELECT convert(@str collate latin1_bin using utf8mb3)" @@ -9405,6 +10753,8 @@ col1 varchar(100) character set utf8mb3 COLLATE utf8mb3_test_ci "SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY a" "ALTER TABLE t1 CONVERT TO CHARACTER SET ucs2 COLLATE ucs2_5624_1" "SELECT a, HEX(WEIGHT_STRING(a)) FROM t1 ORDER BY a, LENGTH(a), BINARY(a)" +"SET NAMES utf8mb3 COLLATE utf8mb3_5624_2" +"SET NAMES utf8mb3 COLLATE utf8mb3_5624_3" "SET NAMES utf8mb3 COLLATE utf8mb3_5624_4" "CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS a LIMIT 0" "INSERT INTO t1 VALUES ('\\'),('u'),('x'),('X')" @@ -9699,13 +11049,19 @@ utf32 CHAR CHARACTER SET utf32 )" "INSERT INTO t1 VALUES ('','','','','')" "SELECT CHARSET(CONCAT(utf8mb3, utf8mb4)) FROM t1" +"SELECT CHARSET(CONCAT(utf8mb3, ucs2)) FROM t1" +"SELECT CHARSET(CONCAT(utf8mb3, utf16)) FROM t1" "SELECT CHARSET(CONCAT(utf8mb3, utf32)) FROM t1" "SELECT CHARSET(CONCAT(utf8mb4, utf8mb3)) FROM t1" "SELECT CHARSET(CONCAT(utf8mb4, ucs2)) FROM t1" "SELECT CHARSET(CONCAT(utf8mb4, utf16)) FROM t1" "SELECT CHARSET(CONCAT(utf8mb4, utf32)) FROM t1" +"SELECT CHARSET(CONCAT(ucs2, utf8mb3)) FROM t1" "SELECT CHARSET(CONCAT(ucs2, utf8mb4)) FROM t1" +"SELECT CHARSET(CONCAT(ucs2, utf16)) FROM t1" "SELECT CHARSET(CONCAT(ucs2, utf32)) FROM t1" +"SELECT CHARSET(CONCAT(utf16, utf8mb3)) FROM t1" +"SELECT CHARSET(CONCAT(utf16, ucs2)) FROM t1" "SELECT CHARSET(CONCAT(utf16, utf8mb4)) FROM t1" "SELECT CHARSET(CONCAT(utf16, utf32)) FROM t1" "SELECT CHARSET(CONCAT(utf32, utf8mb3)) FROM t1" @@ -9720,6 +11076,7 @@ utf32 CHAR CHARACTER SET utf32 "INSERT INTO t1 VALUES ('a'), ('b')" "CREATE TABLE t2 (a BINARY(1))" "INSERT INTO t2 VALUES ('x'),('z')" +"SELECT * FROM t2 WHERE a=(SELECT a FROM t1) AND a=_LATIN1'x'" "CREATE TABLE t1 SELECT _utf8mb3'test' as c1, _utf8mb3'тест' as c2" "ALTER TABLE t1 ADD c3 CHAR(4) CHARACTER SET utf8mb3" "INSERT IGNORE INTO t1 VALUES ('aaaabbbbccccdddd','aaaabbbbccccdddd','aaaabbbbccccdddd')" @@ -9761,7 +11118,7 @@ utf32 CHAR CHARACTER SET utf32 "SELECT 'тест' as s" "SET character_set_connection=binary" "CREATE TABLE t1 (`ä` CHAR(128) DEFAULT 'ä', `ä1` ENUM('ä1','ä2') DEFAULT 'ä2')" -"SHOW COLUMNS FROM t1" +"CREATE TABLE `goodÐÌÏÈÏ` (a int)" "create table t1 (a char(10) character set koi8r, b text character set koi8r)" "insert into t1 values ('test','test')" "insert ignore into t1 values ('ÊÃÕË','ÊÃÕË')" @@ -9770,6 +11127,7 @@ utf32 CHAR CHARACTER SET utf32 "insert into t1 values (_koi8r'вася')" "select * from t1 where a=_koi8r'вася'" "select * from t1 where a=concat(_koi8r'вася')" +"select * from t1 where a=_latin1'×ÁÓÑ'" "create table t1 (a char(1) character set latin1)" "select * from t1 where a='a'" "create table t1 (a char(10) character set utf8mb3 COLLATE utf8mb3_bin)" @@ -9795,6 +11153,7 @@ utf32 CHAR CHARACTER SET utf32 "select lpad(c1,3,'Ж'), lpad('Ж',3,c1) from t1" "select rpad(c1,3,'Ж'), rpad('Ж',3,c1) from t1" "create table t1(a char character set cp1251 default _koi8r 0xFF)" +"create table t1(a char character set latin1 default _cp1251 0xFF)" "set names sjis" "select 'a' like 'a'" "select 'A' like 'a'" @@ -9830,8 +11189,6 @@ c char(16) default NULL "SET collation_connection='sjis_bin'" "SELECT HEX('佐淘 圭') FROM DUAL" "CREATE TABLE t1 (a varchar(16)) character set sjis" -"INSERT INTO t1 VALUES (0x8372835E),(0x8352835E)" -"SELECT hex(a), hex(lower(a)), hex(upper(a)) FROM t1 ORDER BY binary(a)" "SELECT QUOTE('ソ')" "SET collation_connection=sjis_japanese_ci" "CREATE TABLE t1 AS @@ -9841,7 +11198,6 @@ WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN 'A1' AND 'DF') AND (tail BETWEEN '20' AND 'FF') ORDER BY head, tail" "INSERT t1 (code) SELECT head FROM head WHERE (head BETWEEN 'A1' AND 'DF')" -"SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=1" "SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a)) @@ -10315,6 +11671,7 @@ key a(a) "SET collation_connection=utf8_german2_ci" "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_520_ci" "SHOW COLLATION LIKE 'utf8_test'" +"CREATE TABLE t1(id INT PRIMARY KEY, c CHAR(1) COLLATE utf8mb3_test)" "call mtr.add_suppression(""Shift expected at '' for COLLATION : utf8_test"")" "CREATE TABLE t1 ( f1 CHAR(4) NOT NULL @@ -10519,6 +11876,10 @@ NOT NULL default 'passive' "ALTER TABLE t2 ADD a int NOT NULL AFTER status" "select quote(name) from bug20536" "drop table bug20536" +"set names ucs2" +"set names ucs2 collate ucs2_bin" +"set character_set_client= ucs2" +"set character_set_client= concat('ucs', substr('2', 1))" "CREATE TABLE t1 (a varchar(64) character set ucs2, b decimal(10,3))" "INSERT INTO t1 VALUES (""1.1"", 0), (""2.1"", 0)" "update t1 set b=a" @@ -10547,6 +11908,11 @@ from information_schema.columns where table_name='t1'" "select concat(a,if(b>10,_ucs2 0x0061,_ucs2 0x0062)) from t1" "select * from t1 where a=if(b<10,_ucs2 0x0061,_ucs2 0x0062)" "select * from t1 where a=if(b>10,_ucs2 0x0061,_ucs2 0x0062)" +"select concat(a,if(b<10,_ucs2 0x00C0,_ucs2 0x0062)) from t1" +"select concat(a,if(b>10,_ucs2 0x00C0,_ucs2 0x0062)) from t1" +"select concat(a,if(b<10,_ucs2 0x0062,_ucs2 0x00C0)) from t1" +"select concat(a,if(b>10,_ucs2 0x0062,_ucs2 0x00C0)) from t1" +"select * from t1 where a=if(b<10,_ucs2 0x00C0,_ucs2 0x0062)" "select * from t1 where a=if(b<10,_ucs2 0x0062,_ucs2 0x00C0)" "CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET UCS2)" "SET @@sql_mode=pad_char_to_full_length" @@ -10579,12 +11945,14 @@ WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'))" "select hex(char(0x01020304 using ucs2))" "CREATE TABLE t1 (f1 CHAR(255) unicode)" "INSERT INTO t1 values ('abc'),('bcd'),('abc')" +"ALTER TABLE t1 ADD UNIQUE Index_1 (f1)" "SET collation_connection=ucs2_german2_ci" "SELECT CONVERT(CHAR(NULL USING ucs2), UNSIGNED)" "DO IFNULL(CHAR(NULL USING ucs2), '')" "DO CAST(CONVERT('' USING ucs2) AS UNSIGNED)" "CREATE TABLE t1 (a DECIMAL(2,0))" "SET sql_mode=default" +"INSERT INTO t1 VALUES (CONVERT('9e99999999' USING ucs2))" "INSERT IGNORE INTO t1 VALUES (CONVERT('aaa' USING ucs2))" "SELECT CONVERT('-9223372036854775808' USING utf16le) & 0" "SELECT CONVERT('-9223372036854775808' USING utf8mb4) & 0" @@ -10598,6 +11966,7 @@ WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'))" col2 VARCHAR(32) CHARACTER SET ucs2 COLLATE ucs2_bin NOT NULL, UNIQUE KEY key1 USING HASH (col1, col2)) ENGINE=MEMORY" "INSERT INTO t1 VALUES('A', 'A'), ('B', 'B'), ('C', 'C')" +"INSERT INTO t1 VALUES('A ', 'A ')" "CREATE TABLE t1 ( c1 CHAR(255) CHARACTER SET UCS2 COLLATE UCS2_BIN NOT NULL, KEY(c1) @@ -11758,7 +13127,6 @@ FETCH cur1 INTO a; INSERT INTO t2 VALUES (a); CLOSE cur1; END" -"CALL sp1()" "SELECT c1,c2 FROM t1,t2" "SELECT hex(convert(_latin1 0xA4A2 using ujis)),hex(c2) FROM t1,t2" "SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis)" @@ -12975,6 +14343,10 @@ name char(64) "SELECT HEX(CONVERT(_ucs2 0xF8FF USING utf8mb4))" "SELECT HEX(CONVERT(_utf16 0xF8FF USING utf8mb4))" "SELECT HEX(CONVERT(_utf32 0xF8FF USING utf8mb4))" +"SELECT HEX(CONVERT(_utf8mb4 0x8F USING ucs2))" +"SELECT HEX(CONVERT(_utf8mb4 0xC230 USING ucs2))" +"SELECT HEX(CONVERT(_utf8mb4 0xE234F1 USING ucs2))" +"SELECT HEX(CONVERT(_utf8mb4 0xF4E25634 USING ucs2))" "SELECT ASCII('ABC')" "SELECT BIT_LENGTH('a')" "SELECT BIT_LENGTH('À')" @@ -13358,6 +14730,11 @@ NOT NULL default 'passive' "select hex(left(_utf16 0xD800DC00D87FDFFF, 1))" "select hex(right(_utf16 0xD800DC00D87FDFFF, 1))" "create table t1 (a varchar(10) character set utf16)" +"insert into t1 values (_utf16 0xD800)" +"insert into t1 values (_utf16 0xDC00)" +"insert into t1 values (_utf16 0xD800D800)" +"insert into t1 values (_utf16 0xD800E800)" +"insert into t1 values (_utf16 0xD8000800)" "insert into t1 values (_utf16 0xD800DC00)" "insert into t1 values (_utf16 0xD800DCFF)" "insert into t1 values (_utf16 0xDBFFDC00)" @@ -13388,6 +14765,7 @@ NOT NULL default 'passive' "insert ignore into t1 values ('1 x')" "create table t1 (a varchar(17000) character set utf16)" "create table t1 (a varchar(150) character set utf16 primary key)" +"create table t1 (a varchar(334) character set utf16 primary key) ROW_FORMAT=COMPACT" "create table t1 (a char(1) character set utf16)" "insert into t1 values (0xD800DC00),(0xD800DCFF),(0xDB7FDC00),(0xDB7FDCFF)" "insert into t1 values (0x00C0), (0x00FF),(0xE000), (0xFFFF)" @@ -13449,6 +14827,7 @@ a char(10) character set utf16 not null, index a (a) ) engine=myisam" "create table t1 (a varchar(250) character set utf16 primary key) engine=MyISAM" +"create table t1 (a varchar(334) character set utf16 primary key) engine=MyISAM" "set collation_connection=utf16_unicode_ci" "create table t1 (c1 char(10) character set utf16 collate utf16_bin)" "select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_unicode_ci" @@ -13616,6 +14995,11 @@ FROM information_schema.columns where table_name='t1'" "SELECT LEFT('abcd',2)" "SELECT HEX(LEFT(_utf16le 0x00D800DC7FD8FFDF, 1))" "SELECT HEX(RIGHT(_utf16le 0x00D800DC7FD8FFDF, 1))" +"INSERT INTO t1 VALUES (_utf16le 0x00D8)" +"INSERT INTO t1 VALUES (_utf16le 0x00DC)" +"INSERT INTO t1 VALUES (_utf16le 0x00D800D8)" +"INSERT INTO t1 VALUES (_utf16le 0x00D800E8)" +"INSERT INTO t1 VALUES (_utf16le 0x00D80008)" "INSERT INTO t1 VALUES (_utf16le 0x00D800DC)" "INSERT INTO t1 VALUES (_utf16le 0x00D8FFDC)" "INSERT INTO t1 VALUES (_utf16le 0xFFDB00DC)" @@ -13677,6 +15061,7 @@ FROM information_schema.columns where table_name='t1'" "INSERT IGNORE INTO t1 VALUES ('1 x')" "CREATE TABLE t1 (a VARCHAR(17000) CHARACTER SET utf16le)" "CREATE TABLE t1 (a VARCHAR(150) CHARACTER SET utf16le PRIMARY KEY)" +"CREATE TABLE t1 (a VARCHAR(334) CHARACTER SET utf16le PRIMARY KEY) ROW_FORMAT=COMPACT" "CREATE TABLE t1 (a CHAR(1) CHARACTER SET utf16le)" "INSERT INTO t1 VALUES (0x00D800DC),(0x00D8FFDC),(0x7FDB00DC),(0x7FDBFFDC)" "INSERT INTO t1 VALUES (0xC000), (0xFF00),(0x00E0), (0xFFFF)" @@ -13726,6 +15111,7 @@ INDEX a (a) "SELECT HEX(a) FROM t1 ORDER BY a" "ALTER TABLE t1 DROP INDEX a" "CREATE TABLE t1 (a VARCHAR(250) CHARACTER SET utf16le PRIMARY KEY) engine=MyISAM" +"CREATE TABLE t1 (a VARCHAR(334) CHARACTER SET utf16le PRIMARY KEY) engine=MyISAM" "SET character_set_connection=utf32" "select hex(_utf32 0x44)" "select hex(_utf32 0x3344)" @@ -13790,6 +15176,10 @@ NOT NULL default 'passive' "create table t1 (a varchar(10) character set utf32) engine=heap" "create table t1 (a varchar(10) character set utf32)" "insert into t1 values (_utf32 0x0010FFFF)" +"insert into t1 values (_utf32 0x00110000)" +"insert into t1 values (_utf32 0x00110101)" +"insert into t1 values (_utf32 0x01000101)" +"insert into t1 values (_utf32 0x11000101)" "create table t1 (utf32 varchar(2) character set utf32)" "insert into t1 values (0x110000)" "insert into t1 values (0x00110000)" @@ -13809,6 +15199,7 @@ NOT NULL default 'passive' "select hex(conv(convert('123' using utf32), 10, 16))" "create table t1 (a varchar(17000) character set utf32)" "create table t1 (a varchar(150) character set utf32 primary key)" +"create table t1 (a varchar(334) character set utf32 primary key) ROW_FORMAT=COMPACT" "create table t1 (a varchar(333) character set utf32, key(a)) row_format=dynamic" "insert into t1 values (repeat('a',333)), (repeat('b',333))" @@ -13841,10 +15232,29 @@ s4 LONGTEXT CHARACTER SET utf32 "select hex(weight_string(_utf32 0x10000))" "select hex(weight_string(_utf32 0x10001))" "set collation_connection=utf32_bin" +"CREATE TABLE table425 (b1 +SET('wgrpqu','Oklahoma','grpquarwkazzjeiwvdmdivjqsxmhjwagewclcfykywlcnemiuaabr +rifnhuufzasunkrcpvasdqkxbwptigbpnesqigwegcnfeuvrgnecpthmhffqbythjwpukqubzpomnt +rddrwhzjtqvbjiklcekxqyoxsolbxthdcprswpjxixmvfwmsyseblwcvumvyvbitxqjxdzdytunqvv +rmpyxrencqhuyrfluezqekmqpwutxnzddrbjycyoyqbzsoxvillooqxuvoxcgohdbytybwcqxdwtqr +ebgjzbycekyjgbpmqadutrqluyxhrdodxqqjwasfkvetfobocgpftrhvxugmmszwpoglvarsfiljrz +imqeplevleqdhepkhcfrahcpjj') NULL ) DEFAULT CHARACTER SET = utf32" +"CREATE FUNCTION hello (s SET('wgrpqu','Oklahoma','grpquarwkazzjeiwvdmdivjqsxmh +jwagewclcfykywlcnemiuaabrrifnhuufzasunkrcpvasdqkxbwptigbpnesqigwegcnfeuvrgnecp +thmhffqbythjwpukqubzpomntrddrwhzjtqvbjiklcekxqyoxsolbxthdcprswpjxixmvfwmsysebl +wcvumvyvbitxqjxdzdytunqvvrmpyxrencqhuyrfluezqekmqpwutxnzddrbjycyoyqbzsoxvilloo +qxuvoxcgohdbytybwcqxdwtqrebgjzbycekyjgbpmqadutrqluyxhrdodxqqjwasfkvetfobocgpft +rhvxugmmszwpoglvarsfiljrzimqeplevleqdhepkhcfrahcpjj') CHARACTER SET utf32) +RETURNS CHAR(50) DETERMINISTIC RETURN CONCAT('Hello, ',s,'!')" +"DO REPLACE(CONVERT(1 USING utf32),BIT_XOR(1),SHA1(@d))" "CREATE TABLE t1 (v VARCHAR(10) CHARACTER SET utf32)" "INSERT INTO t1 VALUES(x'D7FF')" +"INSERT INTO t1 VALUES(x'D800')" +"INSERT INTO t1 VALUES(x'D83C')" +"INSERT INTO t1 VALUES(x'DFFF')" "INSERT INTO t1 VALUES(x'E000')" "INSERT INTO t1 VALUES(x'10FFFF')" +"INSERT INTO t1 VALUES(x'110000')" "CREATE TABLE t1 ( word VARCHAR(64), bar INT(11) default 0, @@ -13877,6 +15287,7 @@ index a (a) "insert into t1 values (repeat(0x00002020, 10))" "insert into t1 values (repeat(0x00002021, 10))" "create table t1 (a varchar(250) character set utf32 primary key) engine=MyISAM" +"create table t1 (a varchar(334) character set utf32 primary key) engine=MyISAM" "CREATE TABLE t1 ( b char(250) CHARACTER SET utf32, key (b) @@ -13997,6 +15408,7 @@ c1 text character set utf32 collate utf32_polish_ci NOT NULL "create table t1 (s1 char(10) character set utf8mb3)" "insert ignore into t1 values (0x41FF)" "create table t1 (s1 varchar(10) character set utf8mb3)" +"create table t1 (a text character set utf8mb3, primary key(a(360)))" "CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8mb3" "INSERT INTO t1 VALUES ( 'test' )" "SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = b.a" @@ -14008,6 +15420,13 @@ c1 text character set utf32 collate utf32_polish_ci NOT NULL "select * from t1 where a = 'b' and a = 'b'" "select * from t1 where a = 'b' and a != 'b'" "set collation_connection=utf8_general_ci" +"select 'вася' rlike '[[:<:]]вася[[:>:]]'" +"select 'вася ' rlike '[[:<:]]вася[[:>:]]'" +"select ' вася' rlike '[[:<:]]вася[[:>:]]'" +"select ' вася ' rlike '[[:<:]]вася[[:>:]]'" +"select 'васяz' rlike '[[:<:]]вася[[:>:]]'" +"select 'zвася' rlike '[[:<:]]вася[[:>:]]'" +"select 'zвасяz' rlike '[[:<:]]вася[[:>:]]'" "CREATE TABLE t1 (a enum ('Y', 'N') DEFAULT 'N' COLLATE utf8mb3_unicode_ci)" "ALTER TABLE t1 ADD COLUMN b CHAR(20)" "create table t1 (a enum('aaaa','проба') character set utf8mb3)" @@ -14016,6 +15435,8 @@ c1 text character set utf32 collate utf32_polish_ci NOT NULL "create table t1 (c varchar(30) character set utf8mb3, unique(c(10)))" "insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z')" "insert into t1 values ('aaaaaaaaaa')" +"insert into t1 values ('aaaaaaaaaaa')" +"insert into t1 values ('aaaaaaaaaaaa')" "insert into t1 values (repeat('b',20))" "select c c1 from t1 where c='1'" "select c c2 from t1 where c='2'" @@ -14029,14 +15450,19 @@ c1 text character set utf32 collate utf32_polish_ci NOT NULL "create table t1 (c char(3) character set utf8mb3, unique (c(2)))" "insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z')" "insert into t1 values ('aa')" +"insert into t1 values ('aaa')" "insert into t1 values ('b')" "insert into t1 values ('bb')" +"insert into t1 values ('bbb')" "insert into t1 values ('а')" "insert into t1 values ('аа')" +"insert into t1 values ('ааа')" "insert into t1 values ('б')" "insert into t1 values ('бб')" +"insert into t1 values ('ббб')" "insert into t1 values ('ꪪ')" "insert into t1 values ('ꪪꪪ')" +"insert into t1 values ('ꪪꪪꪪ')" "create table t1 (c char(3) character set utf8mb3, unique (c(2))) engine=innodb" "create table t1 ( c char(10) character set utf8mb3, @@ -14190,6 +15616,8 @@ key (city(7),id) "insert into t1 values (2,'Durban')" "select * from t1 where city = 'Durban'" "select * from t1 where city = 'Durban '" +"create table t1 (x set('A', 'B') default 0) character set utf8mb3" +"create table t1 (x enum('A', 'B') default 0) character set utf8mb3" "CREATE TABLE t1 ( `id` int(20) NOT NULL auto_increment, `country` varchar(100) NOT NULL default '', @@ -14440,9 +15868,13 @@ a varchar(4000) not null "select coercibility(col1), collation(col1) from v2" "create table t1 (a varchar(10) character set latin1, b int)" "select concat(a, if(b>10, N'x', N'y')) from t1" +"select concat(a, if(b>10, N'æ', N'ß')) from t1" "select concat(a, if(b>10, _utf8mb3'x', _utf8mb3'y')) from t1" +"select concat(a, if(b>10, _utf8mb3'æ', _utf8mb3'ß')) from t1" "select concat(a, if(b>10, _utf8mb3 0x78, _utf8mb3 0x79)) from t1" +"select concat(a, if(b>10, _utf8mb3 0xC3A6, _utf8mb3 0xC3AF)) from t1" "select concat(a, if(b>10, 'x' 'x', 'y' 'y')) from t1" +"select concat(a, if(b>10, 'x' 'æ', 'y' 'ß')) from t1" "CREATE TABLE t1 ( colA int(11) NOT NULL, colB varchar(255) character set utf8mb3 NOT NULL, @@ -14471,6 +15903,10 @@ WHERE t1.colA < 3" "SELECT i FROM t2 UNION SELECT c FROM t1" "select hex(char(0xFF using utf8mb3))" "select hex(convert(0xFF using utf8mb3))" +"select hex(_utf8mb3 0x616263FF)" +"select hex(_utf8mb3 X'616263FF')" +"select hex(_utf8mb3 B'001111111111')" +"select (_utf8mb3 X'616263FF')" "CREATE TABLE t1 (id int not null primary key, name varchar(10)) character set utf8mb3" "INSERT INTO t1 VALUES (2,'一二三01'),(3,'一二三09'),(4,'一二三02'),(5,'一二三08'), @@ -14539,7 +15975,12 @@ GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size))" "CREATE TABLE t1(c1 TINYTEXT CHARACTER SET utf8mb4)" "CREATE TABLE t2(c2 TINYTEXT CHARACTER SET latin1)" "INSERT INTO t1 (c1) VALUES(REPEAT('A', 255))" +"INSERT INTO t1 (c1) VALUES(REPEAT('A', 256))" "INSERT INTO t1 (c1) VALUES(REPEAT(X'C385', 127))" +"INSERT INTO t1 (c1) VALUES(REPEAT(X'C385', 128))" +"INSERT INTO t1 (c1) VALUES(REPEAT(X'C385', 129))" +"INSERT INTO t1 (c1) VALUES(CONCAT('a', REPEAT(X'C385', 128)))" +"INSERT INTO t2 (c2) VALUES(REPEAT(_utf8mb4 0xE0B295, 128))" "set names utf8mb4" "select left(_utf8mb4 0xD0B0D0B1D0B2,1)" "select right(_utf8mb4 0xD0B0D0B2D0B2,1)" @@ -14568,6 +16009,7 @@ GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size))" "create table t1 (s1 text character set utf8mb4)" "create table t1 (s1 char(10) character set utf8mb4)" "create table t1 (s1 varchar(10) character set utf8mb4)" +"create table t1 (a text character set utf8mb4, primary key(a(371)))" "CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8mb4" "create table t1 (a char(255) character set utf8mb4)" "set collation_connection=utf8mb4_general_ci" @@ -14648,6 +16090,8 @@ id int not null, city varchar(20) not null, key (city(7),id) ) character set=utf8mb4" +"create table t1 (x set('A', 'B') default 0) character set utf8mb4" +"create table t1 (x enum('A', 'B') default 0) character set utf8mb4" "CREATE TABLE t1 ( `id` int(20) NOT NULL auto_increment, `country` varchar(100) NOT NULL default '', @@ -14752,10 +16196,16 @@ a varchar(4000) not null "create table t1(col1 varchar(12) character set utf8mb4 collate utf8mb4_unicode_ci)" "create view v1 as select 'v1_val' collate utf8mb4_swedish_ci as col1" "select concat(a, if(b>10, _utf8mb4'x', _utf8mb4'y')) from t1" +"select concat(a, if(b>10, _utf8mb4'æ', _utf8mb4'ß')) from t1" "select concat(a, if(b>10, _utf8mb4 0x78, _utf8mb4 0x79)) from t1" +"select concat(a, if(b>10, _utf8mb4 0xC3A6, _utf8mb4 0xC3AF)) from t1" "CREATE TABLE t1 (c VARCHAR(11)) CHARACTER SET utf8mb4" "select hex(char(0xFF using utf8mb4))" "select hex(convert(0xFF using utf8mb4))" +"select hex(_utf8mb4 0x616263FF)" +"select hex(_utf8mb4 X'616263FF')" +"select hex(_utf8mb4 B'001111111111')" +"select (_utf8mb4 X'616263FF')" "CREATE TABLE t1 ( predicted_order int NOT NULL, utf8mb4_encoding VARCHAR(10) NOT NULL @@ -14821,7 +16271,6 @@ WHERE t1.utf8mb4_encoding > t2.utf8mb3_encoding" "SELECT u_decimal,hex(utf8mb4_encoding) FROM t1" "ALTER TABLE t1 MODIFY utf8mb4_encoding VARCHAR(10) CHARACTER SET utf8mb4" "ALTER TABLE t2 MODIFY utf8mb3_encoding VARCHAR(10) CHARACTER SET utf8mb4" -"DROP TABLE IF EXISTS t3" "CREATE TABLE t3 ( u_decimal int NOT NULL, utf8mb3_encoding VARCHAR(10) NOT NULL @@ -14848,6 +16297,8 @@ utf8mb4_encoding VARCHAR(10) NOT NULL "SELECT * FROM t1, t2 WHERE t1.utf8mb4 < t2.utf8mb3" "CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4)" "INSERT INTO t1 VALUES (x'f48fbfbf')" +"SELECT CONCAT(utf8mb4, _utf8mb3 '¿') FROM t1" +"SELECT CONCAT('a', _utf8mb3 '¿') FROM t1" "CREATE TABLE t1 ( subject varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci, p VARCHAR(15) CHARACTER SET utf8mb3 @@ -14897,6 +16348,8 @@ c char(10) character set utf8mb4 collate utf8mb4_bin, unique key a (c(1)) ) engine=innodb" "insert into t1 values ('ñ')" +"insert into t1 values ('ññ')" +"insert into t1 values ('ñññ')" "select c as c_a from t1 where c='ñ'" "create table t1 ( str varchar(255) character set utf8mb4 not null, @@ -15123,6 +16576,7 @@ CASE b WHEN '121314' then 'found' ELSE 'not found' END FROM t3" "SET @iso = 'ISO'" "EXECUTE ps USING @iso" "DEALLOCATE PREPARE ps" +"PREPARE ps FROM ""SELECT GET_FORMAT(?, 'ISO')""" "SELECT STR_TO_DATE('31/11/22', '%d/%m/%Y')" "SELECT STR_TO_DATE('2023-02-31','%Y-%m-%d')" "SELECT STR_TO_DATE('2004.09.12 10:61:59','%Y.%m.%d %T')" @@ -15150,16 +16604,17 @@ KEY `C` ( `C` ), KEY `b` ( `b` ), KEY `a` ( `a` ))" "SELECT table_name, index_name, column_name FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME= 't1' ORDER BY index_name" "SELECT table_name, index_name, column_name FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME= 't2' ORDER BY index_name" "SET GLOBAL DEBUG='+d,weak_object_impl_store_fail_before_store_children'" -"SET GLOBAL DEBUG='-d,weak_object_impl_store_fail_before_store_children'" "CREATE TABLE t1 (pk INT, col1 INT) ENGINE=InnoDB PARTITION BY KEY(pk) PARTITIONS 2" +"SET GLOBAL DEBUG='-d,weak_object_impl_store_fail_before_store_children'" "call mtr.add_suppression(""\\[ERROR\\] .*MY-\\d+.* Operating system error number .* in a file operation"")" "call mtr.add_suppression(""\\[ERROR\\] .*MY-\\d+.* The error means the system cannot find the path specified"")" "call mtr.add_suppression(""\\[ERROR\\] .*MY-\\d+.* Cannot open datafile for read-only"")" "call mtr.add_suppression(""\\[ERROR\\] .*MY-\\d+.* Cannot delete tablespace .* because it is not found in the tablespace memory cache"")" "SET DEBUG= '+d, fail_while_storing_dd_object'" -"SET DEBUG= '-d, fail_while_storing_dd_object'" "CREATE SCHEMA s1" +"SET DEBUG= '-d, fail_while_storing_dd_object'" "SET DEBUG= '+d, fail_while_acquiring_dd_object'" +"ALTER SCHEMA s1 DEFAULT COLLATE 'utf8_bin'" "SET DEBUG= '-d, fail_while_acquiring_dd_object'" "SET DEBUG_SYNC= 'before_acquire_in_drop_schema SIGNAL before_acquire WAIT_FOR cont'" "SET DEBUG_SYNC= 'now WAIT_FOR before_acquire'" @@ -15170,13 +16625,17 @@ KEY `C` ( `C` ), KEY `b` ( `b` ), KEY `a` ( `a` ))" "SET DEBUG= '+d, fail_while_dropping_dd_object'" "SET DEBUG= '-d, fail_while_dropping_dd_object'" "SELECT COUNT(*) FROM mysql.schemata WHERE name LIKE 's1'" -"SET DEBUG_SYNC= 'before_acquire_in_read_tablespace_encryption SIGNAL before_acquire WAIT_FOR cont'" "CREATE TABLE t1 (pk INT PRIMARY KEY)" +"CREATE TABLE t1 (pk INT PRIMARY KEY) TABLESPACE no_such_tablespace" +"SET DEBUG_SYNC= 'before_acquire_in_read_tablespace_encryption SIGNAL before_acquire WAIT_FOR cont'" +"ALTER TABLE t1 ADD COLUMN c1 INT" "CREATE TABLE v1_base_table (pk INT PRIMARY KEY)" +"CREATE VIEW v1 AS SELECT * from v1_base_table" "CREATE VIEW v1 AS SELECT pk from v1_base_table" +"ALTER VIEW v1 AS SELECT pk FROM t1" "DROP TABLE v1_base_table" -"SELECT COUNT(*) FROM mysql.tablespaces WHERE name LIKE 'ts1'" "CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd'" +"SELECT COUNT(*) FROM mysql.tablespaces WHERE name LIKE 'ts1'" "DROP TABLESPACE ts1" "ALTER TABLE t1 RENAME TO t2, MODIFY COLUMN pk INTEGER" "CREATE TABLE t2 (i INT)" @@ -15232,6 +16691,8 @@ WHERE table_schema = 'no such schema'" IF(CREATE_TIME IS NULL, 'no create time', 'have create time') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1'" +"HANDLER information_schema.COLUMNS OPEN" +"CREATE TABLE t1 LIKE information_schema.CHARACTER_SETS" "CREATE TABLE t1 AS SELECT * FROM information_schema.CHARACTER_SETS" "CREATE TABLE t1 LIKE information_schema.processlist" "SELECT table_name FROM information_schema.tables @@ -15260,6 +16721,8 @@ TABLE_NAME='TABLES'" "SET @@session.max_join_size= 1" "PREPARE ps1 FROM 'SHOW TABLES FROM no_such_schema'" "PREPARE ps2 FROM 'SHOW TABLES FROM mysql LIKE \'%tables%\''" +"EXECUTE ps1" +"EXECUTE ps2" "DEALLOCATE PREPARE ps1" "DEALLOCATE PREPARE ps2" "SET @@session.max_join_size= @old_join_size" @@ -15276,6 +16739,8 @@ WHERE EXISTS(SELECT B.c2 FROM t1 B WHERE (B.c2 = A.c1))" "SELECT table_name, is_updatable FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'" "INSERT INTO v1 VALUES (10)" +"UPDATE v1 SET c1=25" +"DELETE FROM v1" "CREATE TABLE t1(f1 int)" "CREATE VIEW v1 AS SELECT f1+1 AS a FROM t1" "SELECT table_name, is_updatable FROM INFORMATION_SCHEMA.VIEWS @@ -15294,7 +16759,6 @@ WHERE table_schema != 'sys' ORDER BY table_name" "CREATE VIEW not_system_view AS SELECT name as table_name, comment FROM mysql.tables" "SHOW CREATE VIEW not_system_view" -"SET TRANSACTION ISOLATION LEVEL SERIALIZABLE" "UPDATE mysql.tables SET comment='mno' where name='t1'" "SELECT table_name, table_comment FROM INFORMATION_SCHEMA.TABLES @@ -15305,6 +16769,14 @@ commit "SELECT table_name, comment FROM not_system_view WHERE table_name='t1'" +"SELECT table_name, table_comment +FROM INFORMATION_SCHEMA.TABLES +WHERE table_name='t1' +LOCK IN SHARE MODE" +"SELECT table_name, table_comment +FROM INFORMATION_SCHEMA.TABLES +WHERE table_name='t1' +FOR UPDATE" "SELECT table_name, comment FROM not_system_view WHERE table_name='t1' @@ -15336,6 +16808,7 @@ WHERE TABLE_NAME='t1'" "SET DEBUG=""+d,skip_dd_table_access_check""" "FLUSH TABLES mysql.events" "SET DEBUG=""-d,skip_dd_table_access_check""" +"SELECT * FROM INFORMATION_SCHEMA.EVENTS, t2" "DROP PREPARE stmt" "CREATE SCHEMA s" "SELECT SCHEMA_NAME, OPTIONS FROM INFORMATION_SCHEMA.SCHEMATA_EXTENSIONS @@ -15347,6 +16820,8 @@ WHERE SCHEMA_NAME = 's'" "CREATE TABLE time_zone(f1 INT PRIMARY KEY) ENGINE=MyISAM" "INSERT INTO time_zone VALUES (10)" "SET SESSION DEBUG=""+d,simulate_kill_query_on_open_table""" +"SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA='test' AND +TABLE_NAME = 'time_zone'" "SET SESSION DEBUG=""-d,simulate_kill_query_on_open_table""" "DROP TABLE time_zone" "SET timestamp=1" @@ -15381,7 +16856,6 @@ KEY(g), SPATIAL KEY(e), FULLTEXT(f)) engine=myisam" "SHOW KEYS FROM t1 WHERE KEY_NAME = 'r_index' OR KEY_NAME = 'h_index'" "USE db1" "CREATE TABLE t1 (c1 INT)" -"CREATE FUNCTION f1() RETURNS INT RETURN 1" "CREATE FUNCTION f2() RETURNS INT RETURN 2" "CREATE VIEW v1 AS SELECT f1() AS f1" "CREATE VIEW v2 AS SELECT f1, f2() AS f2 FROM v1" @@ -15693,6 +17167,7 @@ ORDER BY logged ASC" "SHOW CREATE EVENT eve" "SHOW CREATE PROCEDURE p" "SHOW CREATE TRIGGER trg" +"INSERT INTO t1 VALUES (100)" "SELECT TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'schema_auto_increment_columns' OR TABLE_NAME = 'schema_object_overview' OR @@ -15722,7 +17197,6 @@ mysql.schemata.id = mysql.tables.schema_id" "CREATE TABLE t2 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)) charset utf8mb4" "SET debug='+d,skip_dd_table_access_check'" "CREATE FUNCTION sf1() RETURNS INT return 0" -"CREATE TABLE t2 (f2 INT)" "CREATE TABLE t3 (f3 INT)" "PREPARE check_view_columns FROM 'SELECT table_name, column_name, column_type FROM information_schema.columns @@ -16297,6 +17771,50 @@ EXECUTE 2 HIT_LIMIT 3'" "SET DEBUG_SYNC='p0 SIGNAL s1 WAIT_FOR s2 '" "SET DEBUG_SYNC=' p0 SIGNAL s1 WAIT_FOR s2 '" "SET DEBUG_SYNC=' p0 SIGNAL s1 WAIT_FOR s2 '" +"SET DEBUG_SYNC=''" +"SET DEBUG_SYNC=' '" +"SET DEBUG_SYNC='p0'" +"SET DEBUG_SYNC='p0 EXECUTE 2'" +"SET DEBUG_SYNC='p0 TIMEOUT 6 EXECUTE 2'" +"SET DEBUG_SYNC='p0 TIMEOUT 6'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 SIGNAL s1'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 SIGNAL s1 EXECUTE 2'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 SIGNAL s1 TIMEOUT 6 EXECUTE 2'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 SIGNAL s1 TIMEOUT 6'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 TIMEOUT 6 SIGNAL s1 EXECUTE 2'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 TIMEOUT 6 SIGNAL s1'" +"SET DEBUG_SYNC='p0 TIMEOUT 6 WAIT_FOR s2 EXECUTE 2'" +"SET DEBUG_SYNC='p0 TIMEOUT 6 WAIT_FOR s2'" +"SET DEBUG_SYNC='p0 SIGNAL s1 TIMEOUT 6 EXECUTE 2'" +"SET DEBUG_SYNC='p0 SIGNAL s1 TIMEOUT 6'" +"SET DEBUG_SYNC='p0 EXECUTE 2 SIGNAL s1 TIMEOUT 6'" +"SET DEBUG_SYNC='p0 TIMEOUT 6 SIGNAL s1'" +"SET DEBUG_SYNC='p0 EXECUTE 2 TIMEOUT 6 SIGNAL s1'" +"SET DEBUG_SYNC='p0 CLEAR HIT_LIMIT 3'" +"SET DEBUG_SYNC='CLEAR'" +"SET DEBUG_SYNC='p0 CLEAR p0'" +"SET DEBUG_SYNC='TEST'" +"SET DEBUG_SYNC='p0 TEST p0'" +"SET DEBUG_SYNC='p0 RESET'" +"SET DEBUG_SYNC='RESET p0'" +"SET DEBUG_SYNC='p0 RESET p0'" +"SET DEBUG_SYNC='p0 SIGNAL '" +"SET DEBUG_SYNC='p0 WAIT_FOR '" +"SET DEBUG_SYNC='p0 SIGNAL s1 EXECUTE '" +"SET DEBUG_SYNCx='p0 SIGNAL s1 WAIT_FOR s2 TIMEOUT 6 EXECUTE 2 HIT_LIMIT 3'" +"SET DEBUG_SYNC='p0 SIGNAx s1 WAIT_FOR s2 TIMEOUT 6 EXECUTE 2 HIT_LIMIT 3'" +"SET DEBUG_SYNC='p0 SIGNAL s1 WAIT_FOx s2 TIMEOUT 6 EXECUTE 2 HIT_LIMIT 3'" +"SET DEBUG_SYNC='p0 SIGNAL s1 WAIT_FOR s2 TIMEOUx 0 EXECUTE 2 HIT_LIMIT 3'" +"SET DEBUG_SYNC='p0 SIGNAL s1 WAIT_FOR s2 TIMEOUT 6 EXECUTx 2 HIT_LIMIT 3'" +"SET DEBUG_SYNC='p0 SIGNAL s1 WAIT_FOR s2 TIMEOUT 6 EXECUTE 2 HIT_LIMIx 3'" +"SET DEBUG_SYNC='p0 CLEARx'" +"SET DEBUG_SYNC='p0 TESTx'" +"SET DEBUG_SYNC='RESETx'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 TIMEOUT 0x6 EXECUTE 2 HIT_LIMIT 3'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 TIMEOUT 6 EXECUTE 0x2 HIT_LIMIT 3'" +"SET DEBUG_SYNC='p0 WAIT_FOR s2 TIMEOUT 7 EXECUTE 2 HIT_LIMIT 0x3'" +"SET DEBUG_SYNC= 7" +"SET GLOBAL DEBUG_SYNC= 'p0 CLEAR'" "SET @myvar= 'now SIGNAL from_myvar'" "SET DEBUG_SYNC= @myvar" "SET DEBUG_SYNC= LEFT('now SIGNAL from_function_cut_here', 24)" @@ -16305,6 +17823,7 @@ EXECUTE 2 HIT_LIMIT 3'" "SET DEBUG_SYNC= 'now SIGNAL nothing'" "SET DEBUG_SYNC= 'now SIGNAL something EXECUTE 0'" "SET DEBUG_SYNC= 'now WAIT_FOR anotherthing TIMEOUT 0 EXECUTE 0'" +"SET DEBUG_SYNC= 'now HIT_LIMIT 1'" "SET DEBUG_SYNC= 'p1abcd SIGNAL s1 EXECUTE 2'" "SET DEBUG_SYNC= 'p2abc SIGNAL s2 EXECUTE 2'" "SET DEBUG_SYNC= 'p9abcdef SIGNAL s9 EXECUTE 2'" @@ -16425,6 +17944,7 @@ DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin" "insert into bug20691 values (5, DEFAULT, DEFAULT), (5, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (5, DEFAULT, DEFAULT)" "SET sql_mode = 'ALLOW_INVALID_DATES'" "insert into bug20691 values (6, DEFAULT, DEFAULT), (6, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (6, DEFAULT, DEFAULT)" +"insert into bug20691 values (7, DEFAULT, DEFAULT), (7, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (7, DEFAULT, DEFAULT)" "select * from bug20691 order by i asc" "drop table bug20691" "create table bug20691 ( @@ -16448,10 +17968,14 @@ x int)" "create view v1 (c) as select id from t1" "create table t1 (a int unique)" "create table t2 (b int default 10)" -"insert into t1 (a) values (1)" "insert into t2 (b) values (1)" "insert into t1 (a) select b from t2 on duplicate key update a=default" "insert into t1 (a) select b from t2 on duplicate key update a=default(b)" +"CREATE TABLE ts(ts TIMESTAMP DEFAULT TIMESTAMP'2019-10-01 01:02:03')" +"CREATE TABLE dt(dt DATETIME DEFAULT TIMESTAMP'2019-10-01 01:02:03')" +"CREATE TABLE ints(a INT DEFAULT TIMESTAMP'2019-10-01 01:02:03')" +"CREATE TABLE t(t TIME DEFAULT TIME'01:02:03')" +"CREATE TABLE d(d DATE DEFAULT DATE'2019-10-01')" "CREATE TABLE t1 (f1 BINARY(6) NOT NULL DEFAULT 0x414243FAFA00, f2 VARCHAR(6) CHARACTER SET ujis DEFAULT 0xA4A2, f3 BIT(4) DEFAULT b'1101')" @@ -16500,27 +18024,44 @@ AND column_name='f3'" "INSERT INTO t1(i, new_b) VALUES (6, DEFAULT)" "INSERT INTO t1(i, new_b) VALUES (7, JSON_OBJECT(""key"", 7))" "CREATE TABLE t1 (i int, b int DEFAULT (123 * 1))" +"ALTER TABLE t1 CHANGE COLUMN i new_i JSON DEFAULT (JSON_ARRAY(b))" "ALTER TABLE t1 MODIFY COLUMN b JSON DEFAULT (JSON_OBJECT(""key"",i)) FIRST" "INSERT INTO t1(i, b) VALUES (6, DEFAULT)" "INSERT INTO t1(i, b) VALUES (7, JSON_OBJECT(""key"", 7))" +"ALTER TABLE t1 MODIFY COLUMN i JSON DEFAULT (JSON_ARRAY(b)) FIRST" "CREATE TABLE t1 (i JSON DEFAULT (JSON_ARRAY(b)), b int DEFAULT 123)" "CREATE TABLE t1 (b int DEFAULT 123, i JSON DEFAULT (JSON_ARRAY(b)))" +"CREATE TABLE t1 (i JSON DEFAULT (JSON_ARRAY(b)), b int DEFAULT (123 * 1))" "CREATE TABLE t1 (b int DEFAULT (123 * 1), i JSON DEFAULT (JSON_ARRAY(b)))" "CREATE TABLE t1 (i int, b JSON)" "ALTER TABLE t1 ALTER COLUMN b DROP DEFAULT" "INSERT INTO t1(i, b) VALUES (6, NULL)" +"CREATE TABLE t1 (id int(11) PRIMARY KEY auto_increment, +f1 JSON DEFAULT (JSON_OBJECT(""key"", id)))" +"CREATE TABLE t1 (a varchar(64), b varchar(1024) DEFAULT (load_file(a)))" "CREATE TABLE t1 (f1 JSON DEFAULT (JSON_OBJECT(""key"", id)), id int(11))" "INSERT INTO t1(id) VALUES(1), (2), (3)" "CREATE TABLE t1 (id char(2) DEFAULT (uuid()))" -"CREATE TABLE t1 (id char(36) DEFAULT (uuid()))" "INSERT INTO t1 VALUES (),(),()" +"CREATE TABLE t3 (a INT PRIMARY KEY, +b INT GENERATED ALWAYS AS (-a) VIRTUAL UNIQUE DEFAULT (-1 * 128))" +"CREATE TABLE t3 (a INT PRIMARY KEY, +c INT GENERATED ALWAYS AS (-a) STORED DEFAULT (-1 * 128))" +"CREATE TABLE t1 (id char(36) DEFAULT (uuid()))" "CREATE TABLE t2 as SELECT * from t1" "CREATE TABLE t3 LIKE t1" "SELECT LENGTH(id) FROM t1" "CREATE TABLE t3 (a INT PRIMARY KEY, d INT DEFAULT (-a + 1), +c INT DEFAULT (DEFAULT(d)) +)" +"CREATE TABLE t3 (a INT PRIMARY KEY, +d INT DEFAULT (-a + 1), c INT DEFAULT (-d) )" +"SELECT DEFAULT(d) from t3" +"SELECT DEFAULT(c) from t3" +"ALTER TABLE t3 DROP COLUMN d" "CREATE TABLE `t1` (i varchar(200) DEFAULT (_utf8mb4""\U+1F9DB♀""))" "SELECT COLUMN_NAME, COLUMN_DEFAULT, DATA_TYPE, EXTRA, GENERATION_EXPRESSION FROM information_schema.columns WHERE table_name= ""t1""" @@ -16538,28 +18079,36 @@ PRIMARY KEY (id) "CREATE TABLE t(i INT, b TINYBLOB DEFAULT (repeat('b', i)))" "INSERT INTO t values(254, DEFAULT)" "INSERT INTO t values(255, DEFAULT)" +"INSERT INTO t values(256, DEFAULT)" "SELECT i, length(b) FROM t" "CREATE TABLE t(i INT)" "INSERT INTO t values(254), (255), (256)" +"ALTER TABLE t ADD COLUMN b TINYBLOB DEFAULT (repeat('b', i))" "DELETE FROM t where i = 256" "ALTER TABLE t ADD COLUMN b TINYBLOB" "ALTER TABLE t ALTER COLUMN b SET DEFAULT (repeat('b', i))" "ALTER TABLE t ALTER COLUMN b DROP DEFAULT" +"INSERT INTO t(i) values(128)" "SET GLOBAL max_allowed_packet = 1073741824" "CREATE TABLE t(i BIGINT, b MEDIUMBLOB DEFAULT (repeat('b', i)))" "INSERT INTO t values(16777214, DEFAULT)" "INSERT INTO t values(16777215, DEFAULT)" +"INSERT INTO t values(16777216, DEFAULT)" "CREATE TABLE t(i BIGINT)" "INSERT INTO t values(16777214), (16777215), (16777216)" +"ALTER TABLE t ADD COLUMN b MEDIUMBLOB DEFAULT (repeat('b', i))" "DELETE FROM t where i = 16777216" "ALTER TABLE t ADD COLUMN b MEDIUMBLOB" "CREATE TABLE t(i INT, b BLOB DEFAULT (repeat('b', i)))" "INSERT INTO t values(65534, DEFAULT)" "INSERT INTO t values(65535, DEFAULT)" +"INSERT INTO t values(65536, DEFAULT)" "INSERT INTO t values(65534), (65535), (65536)" +"ALTER TABLE t ADD COLUMN b BLOB DEFAULT (repeat('b', i))" "DELETE FROM t where i = 65536" "ALTER TABLE t ADD COLUMN b BLOB" "CREATE TABLE t(i BIGINT, b LONGBLOB DEFAULT (repeat('b', i)))" +"INSERT INTO t values(4294967295, DEFAULT)" "CREATE TABLE t(i INT, b VARCHAR(20) DEFAULT (repeat('b', i)))" "INSERT INTO t values(14, DEFAULT)" "INSERT INTO t values(16, DEFAULT)" @@ -16587,6 +18136,7 @@ ON UPDATE NOW())" "CREATE TABLE t(a int)" "ALTER TABLE t ADD COLUMN b int DEFAULT( date_sub(a, INTERVAL A MONTH))" +"ALTER TABLE t ADD COLUMN c int DEFAULT (SUM(a))" "CREATE TABLE t1 (b double DEFAULT (rand()))" "INSERT INTO t1 VALUES ()" "CREATE TABLE t1 (a varchar(30), b VARCHAR(100) DEFAULT (statement_digest(a)))" @@ -16618,9 +18168,24 @@ date_sub(a, INTERVAL A MONTH))" "CREATE TABLE t1 (a varchar(288) DEFAULT (CURRENT_USER()))" "CREATE TABLE t1 (a varchar(288) DEFAULT (SESSION_USER()))" "CREATE TABLE t1 (a varchar(288) DEFAULT (USER()))" +"CREATE TABLE t1 (a varchar(1024), b varchar(1024) DEFAULT (found_rows()))" +"CREATE TABLE t1 (a varchar(1024), b varchar(1024) DEFAULT (get_lock(a,10)))" +"CREATE TABLE t1 (a varchar(1024), b varchar(1024) DEFAULT (is_free_lock(a)))" +"CREATE TABLE t1 (a varchar(1024), b varchar(1024) DEFAULT (is_used_lock(a)))" +"CREATE TABLE t1 (a int DEFAULT (last_insert_id()))" +"CREATE TABLE t1 (a int DEFAULT (row_count()))" +"CREATE TABLE t1 (a int, b int DEFAULT (sleep(a)))" +"CREATE TABLE t1 (a varchar(1024), b varchar(1024) DEFAULT (version()))" +"CREATE TABLE t1 (id char(40) DEFAULT (uuid()) DEFAULT 4)" +"CREATE TABLE t1 (id char(40) DEFAULT 4 DEFAULT (uuid()))" +"CREATE TABLE t1 (id char(40) DEFAULT 4 DEFAULT (uuid()) DEFAULT 10)" "CREATE TABLE t1 (id char(40) DEFAULT 4 DEFAULT 5)" "CREATE FUNCTION CURRENT_TIMESTAMPfoo() RETURNS INT BEGIN RETURN 1; END" +"CREATE TABLE t1 (a INT DEFAULT (CURRENT_TIMESTAMPfoo()))" "DROP FUNCTION CURRENT_TIMESTAMPfoo" +"CREATE TABLE t1 (a VARCHAR(32) DEFAULT (NAME_CONST('test',1)))" +"CREATE TABLE t1 (a VARCHAR(32) DEFAULT ((1,1)))" +"CREATE TABLE t1 (a VARCHAR(1024), b VARCHAR(1024) DEFAULT (VALUES(a)))" "CREATE PROCEDURE p1() BEGIN SELECT 42; @@ -16630,13 +18195,40 @@ RETURNS INT BEGIN RETURN 42; END " +"CREATE TABLE t1 (a INT DEFAULT (p1()))" +"CREATE TABLE t1 (a INT DEFAULT (f1()))" +"CREATE TABLE t1 (a INT DEFAULT (1 + f1()))" +"ALTER TABLE t1 ADD COLUMN b INT DEFAULT (1 + f1())" +"ALTER TABLE t1 ALTER COLUMN a SET DEFAULT (1 + f1())" "DROP FUNCTION IF EXISTS metaphon" +"CREATE TABLE t1 (a VARCHAR(128) DEFAULT (metaphon(""testval"")))" +"CREATE TABLE t1 (a VARCHAR(128) DEFAULT (concat(""1"", metaphon(""testval""))))" "CREATE TABLE t1 (a VARCHAR(100))" +"ALTER TABLE t1 ADD COLUMN b VARCHAR(256) DEFAULT (concat(""1"", metaphon(""testval"")))" +"ALTER TABLE t1 ALTER COLUMN a SET DEFAULT (concat(""1"", metaphon(""testval"")))" +"CREATE TABLE t2 (a INT, b INT DEFAULT (select count(*) from t1))",,syntax_error +"CREATE TABLE t2 (a INT, b INT DEFAULT (select * from t1))",,syntax_error +"CREATE TABLE t2 (a INT, b INT DEFAULT (select 1))",,syntax_error "SET @my_var= ""something""" +"CREATE TABLE t1 (i INT, b VARCHAR(256) DEFAULT (@my_var))" +"CREATE TABLE t1 (i INT, b VARCHAR(256) DEFAULT (@my_var + 1))" +"CREATE TABLE t1 (i INT, b VARCHAR(256) DEFAULT (@@global.sort_buffer_size))" +"CREATE TABLE t1 (i INT, b VARCHAR(256) DEFAULT (@@session.sort_buffer_size))" +"ALTER TABLE t1 ADD COLUMN b VARCHAR(256) DEFAULT (@@session.sort_buffer_size)" +"ALTER TABLE t1 ADD COLUMN b VARCHAR(256) DEFAULT (@@global.sort_buffer_size)" +"ALTER TABLE t1 ADD COLUMN b VARCHAR(256) DEFAULT (@my_var)" +"ALTER TABLE t1 ADD COLUMN b VARCHAR(256) DEFAULT (@my_var + 1)" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT (@@session.sort_buffer_size)" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT (@@global.sort_buffer_size)" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT (@my_var)" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT (@my_var + 1)" "CREATE TABLE t2 (i INT, j DOUBLE DEFAULT (i)) PARTITION BY KEY(j) PARTITIONS 4" "INSERT INTO t2(i) VALUES (1),(2)" +"CREATE TABLE t2 (i INT, j DOUBLE DEFAULT (SQRT(i)), +k DOUBLE DEFAULT (DEFAULT(j)))" "create table t1 ( i int, j int default ( i * i ), primary key(j))" "insert into t1 (i) values (4), (5)" +"insert into t1 values (4, DEFAULT), (5, DEFAULT)" "insert into t1 values (6, DEFAULT), (7, DEFAULT)" "CREATE TABLE IF NOT EXISTS D1 (i2 INT DEFAULT 568447044, d1 DOUBLE, d2 DOUBLE DEFAULT 0.0, c2 CHAR(255), @@ -16663,8 +18255,11 @@ v1 INT AS (1) VIRTUAL)" "ALTER TABLE t2 MODIFY COLUMN j DOUBLE DEFAULT(i*100)" "INSERT INTO t2(i) VALUES (8)" "CREATE TABLE t1 ( i INT, j INT DEFAULT( i * i) ) " +"ALTER TABLE t1 RENAME COLUMN i to i1 " "CREATE TABLE t1 ( i INT, j INT DEFAULT (i * i) ) " +"ALTER TABLE t1 CHANGE COLUMN i i1 DOUBLE DEFAULT ( 4 * 4 ) " "create table t1 (i int, j double DEFAULT (i * i) ) " +"alter table t1 add column k double DEFAULT (SQRT(z)) " "CREATE TABLE t1 ( i1 INTEGER, i2 INTEGER DEFAULT (i1 + i1) @@ -16701,6 +18296,8 @@ PRIMARY KEY (`id`))" "CREATE TABLE pk_t1(i INT NOT NULL)" "INSERT INTO pk_t1 VALUES (1),(2),(3),(4)" "ALTER TABLE pk_t1 ADD COLUMN +(`id` BINARY(16) DEFAULT (uuid_to_bin(uuid())) PRIMARY KEY NOT NULL)" +"ALTER TABLE pk_t1 ADD COLUMN (`id` INT DEFAULT (10 + i) PRIMARY KEY NOT NULL)" "SHOW CREATE TABLE pk_t1" "INSERT INTO pk_t1(i) VALUES (5)" @@ -16708,12 +18305,17 @@ PRIMARY KEY (`id`))" "SELECT * FROM pk_t1" "ALTER TABLE pk_t1 DROP COLUMN id" "DROP TABLE pk_t1" +"CREATE TABLE t2 (a INT AUTO_INCREMENT DEFAULT(0))" +"ALTER TABLE t1 MODIFY COLUMN i INT AUTO_INCREMENT PRIMARY KEY DEFAULT(GROUPING(r))" "ALTER TABLE t1 MODIFY COLUMN i INT AUTO_INCREMENT PRIMARY KEY" +"ALTER TABLE t1 ALTER COLUMN i SET DEFAULT(GROUPING(r))" "ALTER TABLE t1 ADD COLUMN b INT DEFAULT (a), ADD COLUMN c INT GENERATED ALWAYS AS (-b) STORED" "ALTER TABLE t2 ADD COLUMN b INT DEFAULT (a), ADD COLUMN c INT GENERATED ALWAYS AS (-b) STORED, ALGORITHM=COPY" +"ALTER TABLE t3 ADD COLUMN b INT DEFAULT (a), ADD COLUMN c INT GENERATED ALWAYS AS (-b) STORED, ALGORITHM=INPLACE" "CREATE TABLE t1 (a INT, b INT)" "ALTER TABLE t1 DROP COLUMN b, ADD COLUMN c INT DEFAULT (a)" "ALTER TABLE t2 DROP COLUMN b, ADD COLUMN c INT DEFAULT (a), ALGORITHM=COPY" +"ALTER TABLE t3 DROP COLUMN b, ADD COLUMN c INT DEFAULT (a), ALGORITHM=INPLACE" "CREATE TABLE t1 (a INT, b INT DEFAULT (1+1))" "INSERT INTO t1 VALUES (1, 0), (2, 0)" "ALTER TABLE t1 ADD COLUMN c INT AFTER a" @@ -16728,6 +18330,11 @@ ADD COLUMN c INT GENERATED ALWAYS AS (-b) STORED, ADD COLUMN d INT DEFAULT (c), ADD COLUMN e INT GENERATED ALWAYS AS (-d) STORED, ALGORITHM=COPY" +"ALTER TABLE t3 ADD COLUMN b INT DEFAULT (a), +ADD COLUMN c INT GENERATED ALWAYS AS (-b) STORED, +ADD COLUMN d INT DEFAULT (c), +ADD COLUMN e INT GENERATED ALWAYS AS (-d) STORED, +ALGORITHM=INPLACE" "CREATE TABLE t1(i INT, j INT DEFAULT(""foobar""))" "ALTER TABLE t1 DROP COLUMN i " "CREATE TABLE t2(i INT, j DATETIME DEFAULT(0) )" @@ -16762,13 +18369,24 @@ ORDER BY COLUMN_NAME" "CREATE TABLE t1 (created DATETIME NOT NULL DEFAULT (UNIX_TIMESTAMP()))" "CREATE TABLE t1 (created DATETIME NOT NULL DEFAULT (UTC_DATE()))" "CREATE TABLE t1 (created DATETIME NOT NULL DEFAULT (UTC_TIME()))" +"CREATE TABLE t (a INT, +b INT GENERATED ALWAYS AS (DEFAULT(b)))" "DROP TABLE IF EXISTS t" +"CREATE TABLE t (a INT, +b INT GENERATED ALWAYS AS (5*8), +c INT GENERATED ALWAYS AS (DEFAULT(b)))" "CREATE TABLE t (a INT)" +"ALTER TABLE t ADD COLUMN b INT +GENERATED ALWAYS AS (DEFAULT(b)), ALGORITHM=INPLACE" "CREATE TABLE t (a INT, b INT, c INT DEFAULT (a*77))" "CREATE TABLE t (a INT, b INT, +c INT DEFAULT (a*77), +d INT GENERATED ALWAYS AS (DEFAULT(c)))" +"CREATE TABLE t (a INT, +b INT, c INT DEFAULT 77, d INT GENERATED ALWAYS AS (DEFAULT(c)))" "INSERT INTO t VALUES(1,2,3,DEFAULT)" @@ -16812,6 +18430,7 @@ primary key (a,b,c,d,e,f,g,h,i,j))" `i2` int(10) NOT NULL default '0', PRIMARY KEY (`i`) )" +"DELETE FROM t1 USING t1 WHERE post='1'" "CREATE TABLE t1 ( bool char(0) default NULL, not_null varchar(20) binary NOT NULL default '', @@ -16835,16 +18454,20 @@ PRIMARY KEY (not_null) "analyze table t11,t12,t2" "select * from t11" "select * from t12" +"delete t11.*, t12.* from t11,t12 where t11.a = t12.a and t11.b <> (select b from t2 where t11.a < t2.a)" "delete ignore t11.*, t12.* from t11,t12 where t11.a = t12.a and t11.b <> (select b from t2 where t11.a < t2.a)" "insert into t11 values (2, 12)" +"delete from t11 where t11.b <> (select b from t2 where t11.a < t2.a)" "delete ignore from t11 where t11.b <> (select b from t2 where t11.a < t2.a)" "drop table t11, t12, t2" "CREATE TABLE t (a INTEGER)" "INSERT INTO t VALUES (1), (2), (3), (4), (5), (6), (7)" "SET sql_safe_updates = ON" +"DELETE FROM t" +"DELETE FROM t ORDER BY a" +"DELETE FROM t WHERE a = 6" "DELETE FROM t ORDER BY a LIMIT 1" "ALTER TABLE t ADD KEY k (a)" -"DELETE FROM t WHERE a = 6" "SELECT * FROM t ORDER BY a" "SET sql_safe_updates = DEFAULT" "CREATE TABLE t1(a INTEGER PRIMARY KEY)" @@ -16853,6 +18476,7 @@ PRIMARY KEY (not_null) "INSERT INTO t2 VALUES(10),(20)" "SET SESSION sql_safe_updates=1" "EXPLAIN DELETE t2 FROM t1 JOIN t2 WHERE t1.a = 10" +"DELETE t2 FROM t1 JOIN t2 WHERE t1.a = 10" "SET SESSION sql_safe_updates=default" "create table t1 (a int, b int, unique key (a), key (b))" "insert into t1 values (3, 3), (7, 7)" @@ -16890,6 +18514,9 @@ KEY `date` (`date`) "insert ignore into t1 values (0)" "select * from t1 where a is null" "delete from t1 where a is null" +"DELETE FROM t1 ORDER BY x" +"DELETE FROM t1 ORDER BY t2.x" +"DELETE FROM t1 ORDER BY (SELECT x)" "CREATE TABLE t1 ( a INT )" @@ -16905,11 +18532,17 @@ a INT a INT )" "INSERT INTO db2.t1 (a) SELECT * FROM t2" +"DELETE FROM t1 alias USING t1, t2 alias WHERE t1.a = alias.a",,syntax_error "DELETE FROM alias USING t1, t2 alias WHERE t1.a = alias.a" "DELETE FROM t1, alias USING t1, t2 alias WHERE t1.a = alias.a" +"DELETE FROM t1, t2 USING t1, t2 alias WHERE t1.a = alias.a" +"DELETE FROM db1.t1 alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a",,syntax_error "DELETE FROM alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a" +"DELETE FROM db2.alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a" "DELETE FROM t1 USING t1 WHERE a = 1" +"DELETE FROM t1 alias USING t1 alias WHERE a = 2",,syntax_error "DROP DATABASE db2" +"DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1" "SET SESSION SQL_BUFFER_RESULT=1" "DELETE t1 FROM (SELECT SUM(a) a FROM t1) x,t1" "SET SESSION SQL_BUFFER_RESULT=DEFAULT" @@ -16924,7 +18557,6 @@ a INT "CREATE TABLE db2.t1 AS SELECT * FROM db1.t2" "CREATE TABLE db2.t2 AS SELECT * FROM db2.t1" "CREATE TABLE t1 AS SELECT * FROM db2.t2" -"CREATE TABLE t2 AS SELECT * FROM t1" "CREATE PROCEDURE count_rows() BEGIN SELECT COUNT(*) AS ""COUNT(db1.t1)"" FROM db1.t1; @@ -16937,6 +18569,20 @@ END" "CREATE DATABASE db3" "USE db3" "DROP DATABASE db3" +"DELETE a1,a2 FROM db1.t1, db2.t2" +"DELETE a1,a2 FROM db1.t1 AS a1, db2.t2" +"DELETE a1,a2 FROM db1.t1, db2.t2 AS a2" +"DELETE a1,a2 FROM db3.t1 AS a1, db4.t2 AS a2" +"DELETE FROM a1,a2 USING db1.t1, db2.t2" +"DELETE FROM a1,a2 USING db1.t1 AS a1, db2.t2" +"DELETE FROM a1,a2 USING db1.t1, db2.t2 AS a2" +"DELETE FROM a1,a2 USING db3.t1 AS a1, db4.t2 AS a2" +"DELETE a1 FROM db1.t1 AS a1, db2.t2 AS a1" +"DELETE a1 FROM db1.a1, db2.t2 AS a1" +"DELETE a1 FROM a1, db1.t1 AS a1" +"DELETE t1 FROM db1.t1, db2.t1 AS a1" +"DELETE t1 FROM db1.t1 AS a1, db2.t1 AS a2" +"DELETE t1 FROM db1.t1, db2.t1" "DELETE t1 FROM db1.t2 AS t1, db2.t2 AS t2 WHERE t2.a = 1 AND t1.a = t2.a" "SELECT ROW_COUNT()" "CALL count_rows()" @@ -16948,9 +18594,234 @@ END" "INSERT INTO t3 VALUES (1), (2)" "CREATE TRIGGER tr1 BEFORE DELETE ON t2 FOR EACH ROW INSERT INTO no_such_table VALUES (1)" +"DELETE t1, t2, t3 FROM t1, t2, t3" "CREATE TRIGGER tr1 AFTER DELETE ON t2 FOR EACH ROW INSERT INTO no_such_table VALUES (1)" "CREATE table t1 (i INTEGER)" +"CREATE TRIGGER tr1 AFTER DELETE ON t1 FOR EACH ROW +BEGIN +INSERT INTO t1 SELECT * FROM t1 AS A; +END " +"DELETE IGNORE FROM t1" +"CREATE TABLE t1 (id INT)" +"DELETE FROM t1.*, test.t2.*, a.* USING t1, t2, t3 AS a" +"DROP VIEW IF EXISTS v1, v2" +"CREATE TABLE t2(b INT)" +"CREATE VIEW v1 AS SELECT a, b FROM t1, t2" +"CREATE VIEW v2 AS SELECT a FROM v1" +"DELETE FROM v2" +"DELETE v2 FROM v2" +"DROP VIEW v2, v1" +"DROP TABLE IF EXISTS t2, t1" +"DROP PROCEDURE IF EXISTS p1" +"DROP PROCEDURE IF EXISTS p1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"CREATE TABLE t1 (i INT PRIMARY KEY) engine=InnoDB" +"CREATE TABLE t2 (i INT, FOREIGN KEY (i) REFERENCES t1 (i) ON DELETE NO ACTION) engine=InnoDB" +"DELETE IGNORE FROM t1 WHERE i = 1" +"CREATE PROCEDURE p1() DELETE IGNORE FROM t1 WHERE i = 1" +"PREPARE stm FROM 'CALL p1()'" +"EXECUTE stm" +"DEALLOCATE PREPARE stm" +"CREATE TABLE b(a INTEGER)" +"CREATE VIEW y AS SELECT 1 FROM b, b AS e" +"CREATE VIEW x AS SELECT 1 FROM y" +"CREATE VIEW z AS SELECT 1 FROM x LIMIT 1" +"DELETE z FROM (SELECT 1) AS x, z" +"DROP VIEW z, x, y" +"DROP TABLE b" +"CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB" +"INSERT INTO t1 (a) VALUES (1)" +"CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB" +"INSERT INTO t2 (a) VALUES (1)" +"CREATE TABLE t3 (a INT, b INT, CONSTRAINT c_a FOREIGN KEY (a) +REFERENCES t1 (a), CONSTRAINT c_b FOREIGN KEY (b) REFERENCES t2 (a)) ENGINE=InnoDB" +"INSERT INTO t3 (a, b) VALUES (1, 1)" +"DELETE IGNORE t1,t2 FROM t1,t2" +"DROP TABLE t3,t2,t1" +"CREATE TABLE t2 (b INT) ENGINE=InnoDB" +"INSERT INTO t1 VALUES (1), (2), (5)" +"INSERT INTO t2 VALUES (1), (5)" +"ALTER TABLE t2 ADD CONSTRAINT FOREIGN KEY(b) REFERENCES t1(a)" +"DROP TABLE t2,t1" +"CREATE TABLE t1(a INTEGER) engine=innodb" +"CREATE TABLE t2(a BLOB) engine=innodb" +"INSERT INTO t1 SET z=1" +"INSERT INTO t2 VALUES('a')" +"DELETE FROM t2 WHERE 1 = a" +"CREATE TABLE t1 ( +col_int_key int, +pk integer auto_increment, +col_datetime_key datetime, +/*Indices*/ +key (col_int_key ), +primary key (pk), +key (col_datetime_key ) +) ENGINE=memory" +"CREATE TABLE t2 ( +col_varchar_key varchar (1), +col_date_key date, +pk integer auto_increment, +/*Indices*/ +key (col_varchar_key ), +key (col_date_key ), +primary key (pk) +) ENGINE=memory" +"INSERT INTO t2 VALUES +('v', '2002-05-01', NULL) , +('d', '2001-01-01', NULL) +" +"CREATE TABLE t3 ( +pk integer auto_increment, +col_int_key int, +col_varchar_key varchar (1), +/*Indices*/ +primary key (pk), +key (col_int_key ), +key (col_varchar_key )) +ENGINE=memory" +"INSERT INTO t3 VALUES +(NULL, 3, 'n') , +(NULL, 1, 'r') +" +"CREATE TABLE t4 ( +pk integer auto_increment, +col_varchar_key varchar (1), +col_int_key int, +/*Indices*/ +primary key (pk), +key (col_varchar_key ), +key (col_int_key ) +) ENGINE=memory" +"CREATE TABLE t5 ( +col_datetime_key datetime, +pk integer auto_increment, +col_int_key int, +/*Indices*/ +key (col_datetime_key ), +primary key (pk), +key (col_int_key )) +ENGINE=memory" +"INSERT INTO t5 VALUES +('2007-10-01', NULL, 8) , +('2002-10-01', NULL, 3) +" +"DELETE OUTR1.* FROM t2 AS OUTR1 +JOIN t3 AS OUTR2 +ON ( OUTR1 . col_varchar_key = OUTR2 . col_varchar_key ) +WHERE OUTR1 . col_varchar_key NOT IN +( SELECT INNR1 . col_varchar_key AS y FROM t5 AS INNR2 +RIGHT JOIN t4 AS INNR1 ON ( INNR2 . pk < INNR1 . col_int_key ) +WHERE INNR1 . col_int_key <= INNR1 . col_int_key +AND OUTR2 . col_int_key >= 3 )" +"DELETE QUICK +FROM OUTR1.* USING t2 AS OUTR1 +LEFT OUTER JOIN t1 AS OUTR2 +ON ( OUTR1 . col_date_key = OUTR2 . col_datetime_key ) +WHERE OUTR1 . pk NOT IN ( SELECT 2 UNION SELECT 7 )" +"DELETE OUTR1.* +FROM t2 AS OUTR1 +LEFT JOIN t1 AS OUTR2 +ON ( OUTR1 . pk = OUTR2 . col_int_key ) +WHERE OUTR1 . pk <> ( +SELECT DISTINCT INNR1 . col_int_key AS y +FROM t5 AS INNR1 WHERE OUTR1 . pk <= 5 +ORDER BY INNR1 . col_datetime_key +)" +"DROP TABLE t1, t2, t3, t4, t5" +"CREATE TABLE t1(a TEXT, FULLTEXT (a))" +"CREATE VIEW v1 AS SELECT a FROM t1 ORDER BY a" +"CREATE TABLE t1 (a INT, b CHAR(8), pk INT AUTO_INCREMENT PRIMARY KEY)" +"INSERT INTO t1 (a,b) VALUES +(10000,'foobar'),(1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e')" +"INSERT INTO t1 (a,b) SELECT a, b FROM t1" +"CREATE TABLE t2 (pk INT AUTO_INCREMENT PRIMARY KEY, c CHAR(8), d INT)" +"INSERT INTO t2 (c,d) SELECT b, a FROM t1" +"DELETE IGNORE FROM t1 WHERE b IS NOT NULL ORDER BY a LIMIT 1" +"SELECT a,b FROM t1" +"DELETE IGNORE t1.*, t2.* FROM t1, t2 +WHERE c < b OR +a != ( SELECT 1 UNION SELECT 2 )" +"CREATE TABLE d3 ( +pk int(11) NOT NULL AUTO_INCREMENT, +col_int int(11) DEFAULT NULL, +col_varchar varchar(1) DEFAULT NULL, +PRIMARY KEY (pk) +) " +"INSERT INTO d3 VALUES (96,9,'t'),(97,0,'x')" +"CREATE TABLE e3 ( +col_varchar varchar(1) DEFAULT NULL, +pk int(11) NOT NULL AUTO_INCREMENT, +PRIMARY KEY (pk) +) " +"INSERT INTO e3 VALUES ('v',986)" +"DELETE OUTR1.* FROM e3 AS OUTR1 INNER JOIN d3 AS OUTR2 ON +( OUTR1.col_varchar = OUTR2.col_varchar ) +LEFT JOIN d3 AS OUTR3 ON ( OUTR1. pk = OUTR3.pk ) +WHERE OUTR1.pk = +( SELECT DISTINCT INNR1.col_int FROM d3 AS INNR1 WHERE INNR1.pk <> 8) " +"DROP TABLE d3,e3" +"DELETE FROM t1 AS a1 WHERE a1.c1 = 2" +"CREATE TABLE t2 (c2 INT)" +"DELETE FROM t2 a2 WHERE NOT EXISTS (SELECT * FROM t1 WHERE t1.c1 = a2.c2)" +"CREATE TABLE t1(pk INTEGER PRIMARY KEY, a INTEGER)" +"INSERT INTO t1 VALUES(1, 10), (2, 20)" +"PREPARE s FROM 'DELETE t1 FROM t1, (SELECT 1 FROM DUAL) AS dt'" +"EXECUTE s" +"DEALLOCATE PREPARE s" +"CREATE TABLE t1 (a INTEGER)" +"CREATE TABLE t2 (a INTEGER, b INTEGER)" +"CREATE TABLE t3 (a INTEGER)" +"CREATE TABLE t4 (a INTEGER, b INTEGER)" +"INSERT INTO t1 VALUES (-1), (0), (1), (2), (2), (3), (100), (1000)" +"INSERT INTO t2 VALUES (-2, 0), (2, 1), (3, 1), (3, 0), (101, 2), (1001, 0)" +"INSERT INTO t3 VALUES (-1), (0), (1), (2), (2), (3), (100), (1000)" +"INSERT INTO t4 VALUES (-2, -1), (2, 1), (3, 1), (3, -1), (101, 2), (1001, -1)" +"DELETE t1, t2, t3, t4 +FROM (t1 INNER JOIN t2 USING (a)) LEFT JOIN (t3 INNER JOIN t4 USING (a)) ON t2.b = t4.b" +"CREATE TABLE t ( +a INT, +b INT, +c TIMESTAMP GENERATED ALWAYS AS (65), +UNIQUE KEY (a, b), +UNIQUE KEY (c, a) +)" +"INSERT IGNORE INTO t(a, b) VALUES (1, 1), (2, 2)" +"DELETE d2 FROM t AS d1, t AS d2 WHERE d1.a > d2.a" +"DELETE IGNORE d2 FROM t AS d1, t AS d2 WHERE d1.a > d2.a" +"CREATE TABLE t1 ( +c int, +k int, +v varchar(1), +pk int NOT NULL PRIMARY KEY, +KEY(k) +)" +"INSERT INTO t1 VALUES (737324598,-252214477,'k',1)" +"CREATE TABLE t2 ( +c int, +k int, +v varchar(1), +pk int NOT NULL PRIMARY KEY, +KEY(k) +)" +"INSERT INTO t2 VALUES +(855986294,-882338447,NULL,1), (232637232,731304773,'y',2), +(1590168493,1015181107,'h',3), (-1009423426,-232667498,'r',4), +(236379810,1802601033,'H',5), (551188244,-756499064,NULL,6), +(-1719538815,-448490308,'N',7), (-2122356533,NULL,'y',8), +(-687608898,199866688,'0',9), (-1901664078,NULL,'B',10), +(-2108420295,-497498614,'M',11), (1407257546,191555131,'8',12), +(88536399,-1988379833,'N',13), (351531198,1071194019,'r',14), +(194539025,1671647783,'Y',15), (-1133948378,1947844472,'e',16), +(-533037937,1007507258,'E',17), (1268272947,-1875925199,'w',18), +(2002333920,-764155734,'0',19), (-2017216121,-1780822065,'w',20)" +"DELETE FROM outr1, outr2 +USING t1 AS outr1 RIGHT OUTER JOIN t1 AS outr2 +ON outr1.c = outr2.c +WHERE outr1.c >= (SELECT DISTINCT innr1.k AS y +FROM t2 AS innr2 LEFT JOIN t2 AS innr1 +ON innr2.k = CAST(innr1.v AS DATETIME) +WHERE innr1.pk = 3 +)" "CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work.')" "SET binlog_format= 'ROW'" "SET binlog_format= 'MIXED'" @@ -16966,6 +18837,9 @@ INDEX(a), INDEX(b), INDEX(c)) engine=myisam" "CREATE TABLE t3 (c INT) ENGINE=MyISAM" "INSERT INTO t3 VALUES (43)" "INSERT INTO t3 VALUES (1)" +"DELETE FROM OUTR1.* USING t1 AS OUTR1 +LEFT OUTER JOIN t2 AS OUTR2 ON ( OUTR1.a = OUTR2.b ) +WHERE OUTR1.a < ( SELECT t3.c from t3 where 1 XOR OUTR2.b IS NOT NULL)" "DROP TABLE t1,t2,t3" "CREATE DATABASE wl7766" "USE wl7766" @@ -17163,6 +19037,18 @@ end" "drop table if exists t" "drop procedure if exists p" "drop function if exists f" +"set global log_bin_trust_routine_creators=1" +"set table_type='MyISAM'" +"select @@table_type='MyISAM'" +"backup table t1 to 'data.txt'",,syntax_error +"restore table t1 from 'data.txt'",,syntax_error +"show plugin",,syntax_error +"load table t1 from master",,syntax_error +"load data from master",,syntax_error +"SHOW INNODB STATUS",,syntax_error +"create table t1 (t6 timestamp) type=myisam",,syntax_error +"show table types",,syntax_error +"show mutex status",,syntax_error "set sql_mode=pipes_as_concat" "select 2 || 3",PIPES_AS_CONCAT "select 2 || 3" @@ -17225,6 +19111,8 @@ end" "drop user 'wl6443_u1'@'10.10.10.1'" "SELECT * FROM INFORMATION_SCHEMA.profiling" "select * from (select 2 from DUAL) b" +"SELECT 1 as a FROM (SELECT 1 UNION SELECT a) b" +"SELECT 1 as a FROM (SELECT a UNION SELECT 1) b" "CREATE TABLE t1 (a int not null, b char (10) not null)" "insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c')" "CREATE TABLE t2 (a int not null, b char (10) not null)" @@ -17234,8 +19122,12 @@ end" "CREATE TABLE t3 (a int not null, b char (10) not null)" "insert into t3 values (3,'f'),(4,'y'),(5,'z'),(6,'c')" "select t1.a,t4.y from t1,(select t2.a as y from t2,(select t3.b from t3 where t3.a>3) as t5 where t2.b=t5.b) as t4 where t1.a = t4.y" +"SELECT a FROM (SELECT 1 FROM (SELECT 1) a HAVING a=1) b" +"SELECT a,b as a FROM (SELECT '1' as a,'2' as b) b HAVING a=1" "SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=2" "SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=1" +"SELECT 1 FROM (SELECT 1) a WHERE a=2" +"SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) as a" "select * from t1 as x1, (select * from t1) as x2" "explain select * from t1 as x1, (select * from t1) as x2" "drop table if exists t2,t3" @@ -17259,6 +19151,8 @@ end" "explain select count(*) from t1 as tt1, (select * from t1) as tt2" "SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a) as a )) as b" "select * from (select 1 as a) b left join (select 2 as a) c using(a)" +"SELECT * FROM (SELECT 1 UNION SELECT a) b" +"select 1 from (select 2) a order by 0" "create table t1 (id int)" "insert into t1 values (1),(2),(3)" "describe select * from (select * from t1 group by id) bar" @@ -17274,6 +19168,12 @@ end" "SELECT a.x FROM (SELECT 1 AS x) AS a HAVING a.x = 1" "create table t1 select 1 as a" "select 2 as a from (select * from t1) b" +"select mail_id, if(folder.f_description!='', folder.f_description, folder.f_name) as folder_name, date, address_id, phrase, address, subject from folder, (select mail.mail_id as mail_id, date_format(mail.h_date, '%b %e, %Y %h:%i') as date, mail.folder_id, sender.address_id as address_id, sender.phrase as phrase, sender.address as address, mail.h_subject as subject from mail left join mxa as mxa_sender on mail.mail_id=mxa_sender.mail_id and mxa_sender.type='from' left join address as sender on mxa_sender.address_id=sender.address_id mxa as mxa_recipient, address as recipient, where 1 and mail.mail_id=mxa_recipient.mail_id and mxa_recipient.address_id=recipient.address_id and mxa_recipient.type='to' and match(sender.phrase, sender.address, sender.comment) against ('jeremy' in boolean mode) and match(recipient.phrase, recipient.address, recipient.comment) against ('monty' in boolean mode) order by mail.h_date desc limit 0, 25 ) as query where query.folder_id=folder.folder_id",,syntax_error +"update (select * from t1) as t1 set a = 5" +"update (select * from t1) as t1, t1 as t2 set t1.a = 5" +"delete from (select * from t1)",,syntax_error +"delete from (select * from t1) as t1, t1 as t2",,syntax_error +"insert into (select * from t1) values (5)",,syntax_error "create table t1 (E1 INTEGER UNSIGNED NOT NULL, E2 INTEGER UNSIGNED NOT NULL, E3 INTEGER UNSIGNED NOT NULL, PRIMARY KEY(E1) )" "insert into t1 VALUES(1,1,1), (2,2,1)" @@ -17288,7 +19188,11 @@ end" ) ENGINE=MyISAM DEFAULT CHARSET=latin1" "INSERT INTO `t1` (N, M) VALUES (1, 0),(1, 0),(1, 0),(2, 0),(2, 0),(3, 0)" "UPDATE `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2" +"UPDATE `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2, P2.N = 2" +"UPDATE `t1` AS P1 INNER JOIN (SELECT aaaa FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2" "delete P1.* from `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N" +"delete P1.*,P2.* from `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N" +"delete P1.* from `t1` AS P1 INNER JOIN (SELECT aaa FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N" "CREATE TABLE t1 ( OBJECTID int(11) NOT NULL default '0', SORTORDER int(11) NOT NULL auto_increment, @@ -17327,6 +19231,7 @@ UNIQUE KEY t3_ID_IDX (ID) "select distinct sum(b) from (select a,b from t1) y group by a" "CREATE TABLE t1 (a char(10), b char(10))" "INSERT INTO t1 VALUES ('root','localhost'), ('root','%')" +"SELECT * FROM (SELECT (SELECT a.a FROM t1 AS a WHERE a.a = b.a) FROM t1 AS b) AS c" "create table t2(a int)" "create table t3(a int)" "insert into t1 values(1),(1)" @@ -17334,6 +19239,7 @@ UNIQUE KEY t3_ID_IDX (ID) "insert into t3 values(3),(3)" "select * from t1 union distinct select * from t2 union all select * from t3" "select * from (select * from t1 union distinct select * from t2 union all select * from t3) X" +"select * from (select * from t1,t2) foo" "create table t1 (ID int unsigned not null auto_increment, DATA varchar(5) not null, primary key (ID))" "create table t2 (ID int unsigned not null auto_increment, @@ -17472,6 +19378,7 @@ FROM t1 tablea LEFT JOIN t1 tableb ON tablea.pk < tableb.col_int_key "CREATE algorithm=temptable VIEW v1 AS SELECT 1 FROM t1 LEFT JOIN t1 t3 ON 1 > (SELECT 1 FROM t1)" "CREATE algorithm=temptable VIEW v2 AS SELECT 1 FROM t2" +"EXPLAIN SELECT 1 FROM t1 JOIN v1 ON 1 > (SELECT 1 FROM v2)" "CREATE TABLE t1(f1 int, f11 int)" "CREATE TABLE t2(f2 int, f22 int)" "INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(5,5),(9,9),(7,7)" @@ -17665,7 +19572,6 @@ ON (alias2.col_varchar_key = t1.col_varchar_key ) ) GROUP BY field1, field2 ORDER BY t1.col_int_key, t1 .pk DESC ) " -"CREATE TABLE t1 (a INTEGER)" "INSERT INTO t1 VALUES (NULL),(NULL)" "SELECT * FROM t1 WHERE (a, a) NOT IN @@ -17989,9 +19895,14 @@ JOIN t2 ON a1.a=t2.a WHERE a1.b='xxx'" "SET @@SESSION.optimizer_switch= @save_optimizer_switch" "CREATE TABLE t1(a INTEGER, b INTEGER)" "CREATE TABLE t2(a INTEGER, b INTEGER)" -"INSERT INTO t1 VALUES(1, 10), (2, 20)" "INSERT INTO t2 VALUES(1, 100), (2, 200)" "SET @@optimizer_switch=""derived_merge=on""" +"INSERT INTO (SELECT * FROM t1) AS dt VALUES(9, 99)",,syntax_error +"INSERT INTO (SELECT * FROM t1) AS dt SELECT 9, 99",,syntax_error +"UPDATE (SELECT * FROM t1) AS dt SET b=b+1" +"UPDATE t1 JOIN (SELECT * FROM t2) AS dt ON t1.a=dt.a SET dt.b=dt.b+1" +"DELETE FROM (SELECT * FROM t1) AS dt WHERE a=1",,syntax_error +"DELETE dt FROM t1 JOIN (SELECT * FROM t2) AS dt ON t1.a=dt.a WHERE t1.a=1" "UPDATE t1 JOIN (SELECT * FROM t2) AS dt ON t1.a=dt.a SET t1.b=t1.b+1" "DELETE t1 FROM t1 JOIN (SELECT * FROM t2) AS dt ON t1.a=dt.a WHERE t1.a=1" "CREATE TABLE t1 ( @@ -18434,6 +20345,16 @@ SET position = (SELECT COUNT(pos) + 1 FROM (SELECT position AS pos FROM users) AS t2 WHERE t2.pos < users.position) WHERE id = 3" +"UPDATE users +SET position = (SELECT COUNT(t2.position) + 1 +FROM users AS t2 +WHERE t2.position < users.position) +WHERE id = 3" +"UPDATE users, (SELECT 1) AS dummy +SET position = (SELECT COUNT(t2.position) + 1 +FROM users AS t2 +WHERE t2.position < users.position) +WHERE id = 3" "DROP TABLE users" "CREATE TABLE t(a INTEGER) engine=innodb" "INSERT INTO t VALUES(1)" @@ -18674,7 +20595,6 @@ ON dtaa.c or w""" "SET @a:='77777'" "EXECUTE s USING @a,@a" "SET @a:='-77777'" -"DEALLOCATE PREPARE s" "CREATE TABLE t1 ( a INTEGER ) Engine=InnoDB" "INSERT INTO t1 VALUES (123)" "SELECT * FROM t1 LEFT JOIN ( SELECT 1 FROM t1 ) d1 ON TRUE ORDER BY a" @@ -18715,6 +20635,20 @@ GROUP BY a) SELECT t2.a, (SELECT MIN(c) FROM cte AS cte2 WHERE t2.d = cte2.b) FROM t2 LEFT JOIN cte AS cte1 ON t2.a = cte1.a LEFT JOIN t2 AS tx ON tx.e = cte1.c" +"SELECT * +FROM t1 AS ot1 +LEFT JOIN +t1 AS ot2 ON ot1.a IN +(SELECT * FROM (SELECT ot3.a) AS d +) +LEFT JOIN t1 AS ot3 ON TRUE" +"SELECT * +FROM t1 AS ot1 +LEFT JOIN +t1 AS ot2 ON ot1.a IN +(SELECT ot3.a +) +LEFT JOIN t1 AS ot3 ON TRUE" "CREATE TABLE t1 (a INTEGER, b INTEGER)" "INSERT INTO t1 (a, b) VALUES (777, a)" "INSERT INTO t1 (a, b) VALUES (888, (SELECT a))" @@ -18758,10 +20692,13 @@ ORDER BY count1 desc, a, count2 desc, b) AS dt6" "select QN.a from (select 1 as a) as qn" "select QN.a from (select 1 as a) as QN" "select qn.a from (select 1 as a) as QN" +"select 3 from (select 1) as qn, (select 2) as QN" "with qn as (select 1) select * from QN" "with QN as (select 1) select * from QN" "with QN as (select 1) select * from qn" "with qn as (select 1 as a) select QN.a from qn" +"with qn as (select 1), QN as (select 2) select 3" +"with qn as (select 1 as a), QN as (select 2 as a) select QN.a from QN" "CREATE TABLE t0 ( i0 INTEGER )" @@ -19042,10 +20979,12 @@ INTO @create_view_latin1" "set optimizer_trace_max_mem_size=10000000,@@session.optimizer_trace=""enabled=on""" "create table t1(a int, b int)" "insert into t1 (a) values(1),(2)" -"create table t2 select * from t1" "analyze table t1,t2" "set optimizer_switch='derived_merge=on'" +"create table lateral(a int)",,syntax_error "CREATE TABLE t(x INT)" +"SELECT 1 FROM +(SELECT 1 FROM (SELECT (SELECT y FROM t) FROM t) AS a) AS b" "CREATE TABLE bb ( pk INTEGER AUTO_INCREMENT, col_int INTEGER , @@ -19144,6 +21083,8 @@ jexst int exists path '$.b') ) AS qn ) ORDER BY outr.col_datetime" "CREATE TABLE t1(pk INT PRIMARY KEY, a INT)" +"EXPLAIN SELECT pk FROM t1 GROUP BY a" +"EXPLAIN SELECT (SELECT pk FROM (SELECT t1.pk) dt) FROM t1 GROUP BY a" "CREATE TABLE t0007 ( c0008 date NOT NULL, c0009 char(234) NOT NULL @@ -19199,6 +21140,12 @@ UNIQUE KEY(a,b) "EXPLAIN SELECT * FROM t1 JOIN LATERAL (SELECT a+t1.a from t2 GROUP BY a) AS dt" "SELECT * FROM t1 JOIN LATERAL (SELECT a+t1.a from t2 GROUP BY a) AS dt" "CREATE TABLE t1 (c1 VARCHAR(1))" +"SELECT 1 FROM +v1 AS table1 RIGHT OUTER JOIN LATERAL +(SELECT 1 FROM v1 AS table2 RIGHT OUTER JOIN LATERAL +( SELECT 1 FROM v1 AS table3 ) AS table4 +ON table1.c1 = 1) AS table5 +ON 1" "CREATE TABLE t1 ( id INTEGER )" "CREATE TABLE t2 ( table_id integer )" "INSERT INTO t2 VALUES (363)" @@ -19249,9 +21196,6 @@ t1, LATERAL (SELECT DISTINCT t1.x) AS dt1, LATERAL (SELECT DISTINCT dt1.x) AS dt2 WHERE dt1.x = dt2.x" -"select 3 from (select 1) as qn, (select 2) as QN" -"with qn as (select 1), QN as (select 2) select 3" -"with qn as (select 1 as a), QN as (select 2 as a) select QN.a from QN" "INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)" "SET timestamp=1000" "SET time_zone='+00:00'" @@ -19298,6 +21242,8 @@ ON *.* FROM normal_user" "GRANT ALL ON *.* TO power_user" "CREATE USER u1" "CREATE DEFINER = u1 VIEW v1 as SELECT * FROM t1" +"DROP USER u1" +"DROP USER u1",NO_BACKSLASH_ESCAPES "RENAME USER u1 to new_u1" "DROP USER new_u1" "CREATE DEFINER = u1 EVENT ev1 ON SCHEDULE EVERY 5 HOUR DO SELECT 1" @@ -19308,8 +21254,6 @@ ON *.* FROM normal_user" "CREATE DEFINER = u1 TRIGGER trig1 BEFORE INSERT ON t1 FOR EACH ROW DELETE FROM t1" "DROP TRIGGER trig1" "CREATE USER dummy" -"DROP USER u1" -"DROP USER u1",NO_BACKSLASH_ESCAPES "RENAME USER dummy to u1" "DROP USER normal_user, power_user" "CREATE USER ABC" @@ -19323,6 +21267,8 @@ ON *.* FROM normal_user" "CREATE DEFINER = u1@192.129.12.11 VIEW v3 as SELECT * FROM t1" "CREATE DEFINER = 'u1'@'%.com' VIEW v4 as SELECT * FROM t1" "CREATE DEFINER = 'u1'@'AbC.com' VIEW v5 as SELECT * FROM t1" +"DROP USER 'u1'@'192.129.12.%'" +"DROP USER 'u1'@'%'" "DROP USER u1@192.129.12.11" "DROP USER 'u1'@'%.com'" "DROP USER 'u1'@'ABC.COM'" @@ -19333,12 +21279,25 @@ ON *.* FROM normal_user" "DROP USER u1, u2" "DROP DATABASE wl14073" "SHOW REPLICA STATUS" +"RESET REPLICA" +"SHOW RELAYLOG EVENTS" +"STOP REPLICA" +"START REPLICA" "SELECT SOURCE_POS_WAIT('non-existent', 0)" +"CHANGE REPLICATION SOURCE TO SOURCE_CONNECT_RETRY = 1, SOURCE_HEARTBEAT_PERIOD = 1.01" "FLUSH RELAY LOGS" +"CHANGE REPLICATION FILTER REPLICATE_DO_DB=(db1)" +"CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB=(db1)" +"CHANGE REPLICATION FILTER REPLICATE_DO_TABLE=(db1.t1)" +"CHANGE REPLICATION FILTER REPLICATE_IGNORE_TABLE=(db1.t1)" +"CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE=('db1.t%')" +"CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE=('db1.t%')" +"CHANGE REPLICATION FILTER REPLICATE_REWRITE_DB=((db1,db2))" "SET @@GLOBAL.max_relay_log_size= 536870912" "SET @@GLOBAL.replica_net_timeout= 10" "SET @@GLOBAL.sql_replica_skip_counter= 10" "SET @@SESSION.sql_log_bin= 0" +"SHOW BINARY LOGS" "SHOW BINARY LOG STATUS" "SHOW REPLICAS" "SHOW BINLOG EVENTS" @@ -19347,19 +21306,36 @@ ON *.* FROM normal_user" "CALL mtr.add_suppression(""default_storage_engine is set to a disabled storage engine .*"")" "CALL mtr.add_suppression(""default_tmp_storage_engine is set to a disabled storage engine .*"")" "CALL mtr.add_suppression(""Plugin mysqlx reported: 'All I/O interfaces are disabled"")" +"CREATE TABLE t1(c1 int) ENGINE=HEAP" +"CREATE TEMPORARY TABLE t1(c1 INT) ENGINE=HEAP" "CREATE TABLE t1 (c1 int) ENGINE=MYISAM" "CREATE TABLESPACE tb1 ADD DATAFILE 't1.ibd' ENGINE=INNODB" "CREATE TABLE tp1 (c1 int) PARTITION BY KEY (c1) PARTITIONS 1" "SHOW VARIABLES LIKE 'disabled_storage_engines'" "ALTER TABLE t1 ENGINE=MyISAM, ADD COLUMN c2 INT" "ALTER TABLE t1 ADD COLUMN c3 INT" +"CREATE TEMPORARY TABLE t2 LIKE t1" +"CREATE TEMPORARY TABLE t2 AS SELECT * FROM t1" +"ALTER TABLE t1 ENGINE=InnoDB" +"ALTER TABLE t1 ENGINE=HEAP" +"CREATE TABLE t2(c1 int) ENGINE=INNODB SELECT c1 FROM t1" +"CREATE TABLE t2(c1 int) ENGINE=HEAP SELECT c1 FROM t1" +"CREATE TABLESPACE t1 ADD DATAFILE 't1.ibd' ENGINE=INNODB" +"CREATE TABLESPACE t1 ADD DATAFILE 't1.ibd' ENGINE=HEAP" +"ALTER TABLESPACE tb1 ADD DATAFILE 'ts.ibd' ENGINE=INNODB" +"ALTER TABLESPACE tb1 ADD DATAFILE 'ts.ibd' ENGINE=HEAP" +"ALTER TABLESPACE tb1 ADD DATAFILE 'ts.ibd'" "DROP TABLESPACE tb1" +"CREATE TEMPORARY TABLE t1 (c1 int) ENGINE=INNODB" +"CREATE TEMPORARY TABLE t1 (c1 int) ENGINE=HEAP" "CREATE PROCEDURE p1() BEGIN CREATE TABLE t1 (c1 int) ENGINE=MYISAM; END " +"CREATE TABLE t1 (c1 int) PARTITION BY KEY (c1) PARTITIONS 1" "INSERT INTO tp1 VALUES(1)" "DROP TABLE tp1" +"CREATE TABLE t1(a int) ENGINE=EXAMPLE" "SET default_storage_engine=MyISAM" "SET default_tmp_storage_engine=MyISAM" "SET default_storage_engine=default" @@ -19837,6 +21813,10 @@ LIMIT 3" "insert into t2 values()" "create view v1 as select t1.* from t1 left join t2 on 1" "create view v1 as select t1.a*2 as a, t1.b*2 as b, t1.c*2 as c from t1" +"select distinct t1_outer.a from t1 t1_outer +order by t1_outer.b" +"select distinct t1_outer.a from t1 t1_outer +order by (select max(t1_outer.b+t1_inner.b) from t1 t1_inner)" "select (select distinct 1 from t1 t1_inner group by t1_inner.a order by max(t1_outer.b)) @@ -19893,6 +21873,7 @@ end" "set @$myvar = true" "select count(*) from t where @$myvar" "select 8.0 $p, 8.4$p, .0$p, 8.$p, 8.p" +"select .$p",,syntax_error "SELECT JSON_EXTRACT('{""id"": ""3"", ""$name"": ""Barney""}', ""$.id"")" "SELECT JSON_EXTRACT('{""id"": ""3"", ""$name"": ""$Barney""}', ""$.$name"")" "drop database if exists client_test_db" @@ -19903,6 +21884,16 @@ end" "create table mysqltest.mysqltest (n int)" "insert into mysqltest.mysqltest values (4)" "select * from mysqltest.mysqltest" +"drop table table1, table2, table3, table4, table5, table6, +table7, table8, table9, table10, table11, table12, table13, +table14, table15, table16, table17, table18, table19, table20, +table21, table22, table23, table24, table25, table26, table27, +table28" +"drop table table1, table2, table3, table4, table5, table6, +table7, table8, table9, table10, table11, table12, table13, +table14, table15, table16, table17, table18, table19, table20, +table21, table22, table23, table24, table25, table26, table27, +table28, table29, table30" "show open tables" "select 1" "lock table t1 read" @@ -19911,9 +21902,15 @@ end" "create database mysqltestbug26703" "use mysqltestbug26703" "create table `#mysql50#abc``def` ( id int )" +"create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int)" "create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int)" "create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int)" +"create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int)" "drop database mysqltestbug26703" +"DROP TABLE t1, t1" +"DROP TABLE table1" +"DROP TABLE table1,table2" +"DROP VIEW view1,view2,view3,view4" "DROP TABLE IF EXISTS table1" "DROP TABLE IF EXISTS table1,table2" "DROP VIEW IF EXISTS view1,view2,view3,view4" @@ -19922,7 +21919,7 @@ end" "CREATE TRIGGER trg1 AFTER INSERT ON table1 FOR EACH ROW INSERT INTO table2 SELECT t.notable.*" -"DROP TABLE table1,table2" +"INSERT INTO table1 VALUES (1)" "CREATE DATABASE bug19573998" "USE bug19573998" "FLUSH TABLES t1 FOR EXPORT" @@ -19934,18 +21931,26 @@ INSERT INTO table2 SELECT t.notable.*" "CREATE TABLE t_i (t_i INT) ENGINE=InnoDB" "CREATE TEMPORARY TABLE tt_m (tt_m INT) ENGINE=MyISAM" "CREATE TEMPORARY TABLE tt_i (tt_i INT) ENGINE=InnoDB" +"DROP TABLES t_m, t_i, tt_m, tt_i, t_no_such_table, t_no_such_table_either" "SELECT * FROM t_m, t_i, tt_m, tt_i" +"DROP TEMPORARY TABLES tt_m, tt_i, tt_no_such_table, tt_no_such_table_either" "SELECT * FROM tt_m, tt_i" "DROP TABLES IF EXISTS t_m, t_i, tt_m, tt_i, t_no_such_table, t_no_such_table_either" +"SELECT * FROM t_m" +"SELECT * FROM t_i" "DROP TEMPORARY TABLES IF EXISTS tt_m, tt_i, tt_no_such_table, tt_no_such_table_either" +"SELECT * FROM tt_m" +"SELECT * FROM tt_i" "CREATE TABLE t_i_1 (t_i_1 INT) ENGINE=InnoDB" "CREATE TABLE t_i_2 (t_i_2 INT PRIMARY KEY) ENGINE=InnoDB" "CREATE TABLE t_i_3 (t_i_3 INT, FOREIGN KEY(t_i_3) REFERENCES t_i_2(t_i_2)) ENGINE=InnoDB" -"SELECT * FROM t_m" +"DROP TABLES t_m, t_i_1, t_i_2" "SELECT * FROM t_i_1" "SELECT * FROM t_i_2" "SET SESSION DEBUG='+d,rm_table_no_locks_abort_after_atomic_tables'" +"DROP TABLES t_m, t_i_1" "SET SESSION DEBUG='-d,rm_table_no_locks_abort_after_atomic_tables'" +"DROP TABLES t_i_1, t_i_3" "SELECT * FROM t_i_3" "DROP TABLES t_i_1, t_i_3, t_i_2" "CREATE TABLE mysqltest.t_m (t_m INT) ENGINE=MyISAM" @@ -19965,6 +21970,7 @@ ENGINE=InnoDB" "SET SESSION DEBUG='-d,fail_drop_db_routines'" "CREATE TABLE mysqltest.t1 (i INT) ENGINE=MYISAM" "SET DEBUG='+d,crash_copy_before_commit'" +"ALTER TABLE mysqltest.t1 ADD COLUMN j INT" "SET debug = '+d,simulate_failure_in_before_commit_hook'" "SET debug = '-d,simulate_failure_in_before_commit_hook'" "CREATE TABLE ten (a INTEGER)" @@ -20015,7 +22021,6 @@ PRIMARY KEY (pk) SELECT a, 'MySQL' FROM ten" "set optimizer_switch=`mrr=on,mrr_cost_based=off`" "DROP TABLE ten, hundred, thousand" -"DROP TABLE t1, t2, t3, t4, t5" "create table t1 (nr int(5) not null auto_increment,b blob,str char(10), primary key (nr))" "select * from t1 limit 0" "CREATE DATABASE db21235226" @@ -20089,7 +22094,10 @@ key st_b(st_b) "SET GLOBAL log_error_verbosity=DEFAULT" "SET GLOBAL log_error_verbosity=0" "SET GLOBAL log_error_verbosity=4" +"SET SESSION log_error_verbosity=DEFAULT" "CREATE USER mysqltest_1" +"SET GLOBAL log_error_verbosity=1" +"SET GLOBAL log_timestamps=SYSTEM" "DROP USER mysqltest_1" "SET GLOBAL init_connect='wombat;'" "CREATE USER mysqltest_yeslog" @@ -20120,6 +22128,12 @@ DEFAULT CHARSET=utf8mb3" ('AAAAAAAAAJ','AAAAAAAAAJ'), ('AAAAAAAAAK','AAAAAAAAAK')" "set tmp_table_size=1024" "set session debug=""d,raise_error""" +"SELECT MAX(a) FROM t1 GROUP BY a,b" +"WITH qn (z) AS +( +SELECT 1 FROM t1, t1 t2, t1 t3, t1 t4 LIMIT 100000000 +) +SELECT * FROM qn qn0 WHERE z = (SELECT z FROM qn qn1 LIMIT 1)" "set tmp_table_size=default" "set session internal_tmp_mem_storage_engine=default" "CREATE TABLE t1 (a INT(100) NOT NULL)" @@ -20129,6 +22143,7 @@ DEFAULT CHARSET=utf8mb3" "CREATE TABLE t1(a BLOB)" "call mtr.add_suppression("".*Out of memory *"")" "SET SESSION debug=""+d,bug42064_simulate_oom""" +"INSERT INTO t1 VALUES("""")" "INSERT INTO t1 VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)" "CREATE TABLE t2 (a INT, b INT, filler CHAR(100), KEY(a), KEY(b))" "INSERT INTO t2 SELECT 1000, 1000, 'filler' FROM t1 A, t1 B, t1 C" @@ -20142,11 +22157,25 @@ SELECT * FROM t1 LEFT JOIN t2 ON ( t2.a < 10 OR t2.b < 10 )" "insert into t1 values(1),(2),(3)" "set debug='d,bug19656296'" "SET debug= DEFAULT" +"update t1 set a=1" +"select count(test.t1.b) from t1" +"select count(not_existing_database.t1) from t1" +"select count(not_existing_database.t1.a) from t1" +"select count(not_existing_database.t1.a) from not_existing_database.t1" +"select 1 from t1 order by 2" +"select 1 from t1 group by 2" +"select 1 from t1 order by t1.b" +"select count(*),b from t1" +"create table t1 (a int(256))" "set sql_mode='traditional'" "set sql_mode='traditional'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"create table t1 (a varchar(66000))" "SELECT a FROM t1 WHERE a IN(1, (SELECT IF(1=0,1,2/0)))" "INSERT INTO t1 VALUES(2),(3)" "CREATE TABLE t1( a INT )" +"SELECT b FROM t1" +"CREATE TABLE t2 SELECT b FROM t1" +"INSERT INTO t1 SELECT b FROM t1" "drop function if exists f2" "create function f1() returns int begin @@ -20159,17 +22188,28 @@ begin insert into t2 (a) values (1); return 2; end" +"select f1(), f2()" "show status like 'Com_insert'" -"drop function f1" -"drop function f1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "drop function f2" +"SET sql_quote_show_create= _binary x'5452C39C45'" +"SET sql_quote_show_create= _utf8mb3 x'5452C39C45'" +"SET sql_quote_show_create=_latin1 x'5452DC45'" +"SET sql_quote_show_create='TRÜE'" +"SET sql_quote_show_create=TRÜE" "CREATE TABLE t1(c1 BINARY(10), c2 BINARY(10), c3 BINARY(10), PRIMARY KEY(c1,c2,c3))" "INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc')" "CREATE TABLE t1 (f1 VARBINARY(19) PRIMARY KEY)" "INSERT INTO t1 VALUES ('abc\0\0')" +"SELECT (CONVERT('0' USING latin1) IN (CHAR(COT('v') USING utf8mb3),''))" "SET NAMES utf8mb3 COLLATE utf8mb3_latvian_ci " +"SELECT UPDATEXML(-73 * -2465717823867977728,@@global.auto_increment_increment,null)" "CREATE TABLE t2(a INT PRIMARY KEY, b INT)" +"SELECT '' AS b FROM t1 GROUP BY VALUES(b)" +"REPLACE t2(b) SELECT '' AS b FROM t1 GROUP BY VALUES(b)" +"UPDATE t2 SET a=(SELECT '' AS b FROM t1 GROUP BY VALUES(b))" +"INSERT INTO t2 VALUES (1,0) ON DUPLICATE KEY UPDATE +b=(SELECT '' AS b FROM t1 GROUP BY VALUES(b))" "INSERT INTO t2(a,b) VALUES (1,0) ON DUPLICATE KEY UPDATE b=(SELECT VALUES(a)+2 FROM t1)" "CREATE USER nopriv_user@localhost" @@ -20179,13 +22219,23 @@ b=(SELECT VALUES(a)+2 FROM t1)" "CREATE TABLE t2 (key2 INT)" "CREATE FUNCTION f() RETURNS INT RETURN 1" "GRANT FILE ON *.* TO 'nopriv_user'@'localhost'" +"INSERT INTO t2 SELECT MAX(key1) FROM t1 WHERE f() < 1" +"SELECT MAX(key1) INTO @dummy FROM t1 WHERE f() < 1" +"CREATE TABLE t3 (i INT) AS SELECT MAX(key1) FROM t1 WHERE f() < 1" "DROP USER nopriv_user@localhost" +"do count(rand(st_latfromgeohash(st_geohash(point(5920138304254667057,24370),41))))" +"do ((1)between(cot(_hebrew ' $[ d'))and(var_pop((1))over()))" +"do ((st_isvalid(1))=(std(format(-29867 ,54,'es_DO')) over()))" "CREATE TABLE t1 (a varchar(1), b varchar(1))" "CREATE TABLE t2 (pk integer, a varchar(1), b varchar(1), c date, primary key(pk))" "CREATE INDEX idx1 ON t2 (b)" "INSERT INTO t1 VALUES ('d','7')" "INSERT INTO t2 VALUES (1,'q','7','1970-01-01')" "INSERT INTO t2 VALUES (2,'l','7','1970-01-01')" +"CREATE TABLE insert_select AS +SELECT t2.c AS field3 +FROM t1, t2 +WHERE t1.b = t2.b AND t1.a <> t2.pk" "drop database if exists events_test" "drop database if exists db_x" "drop database if exists mysqltest_db2" @@ -20227,6 +22277,7 @@ b=(SELECT VALUES(a)+2 FROM t1)" "CREATE EVENT event_starts_test ON SCHEDULE EVERY 20 SECOND STARTS date_add(now(), interval 5 day) ENDS date_add(now(), interval 10 day) DO SELECT 2" "create table test_nested(a int)" "create event e_43 on schedule every 1 second do set @a = 5" +"alter event e_43 do alter event e_43 do set @a = 4" "alter event e_43 do begin alter event e_43 on schedule every 5 minute; @@ -20241,7 +22292,10 @@ end" "select * from non_qualif" "drop event non_qualif_ev" "drop table non_qualif" +"alter event non_existant rename to non_existant_too" "create event existant on schedule at now() + interval 1 year do select 12" +"alter event non_existant rename to existant" +"alter event existant rename to events_test.existant" "drop event existant" "create table t_event3 (a int, b float)" "drop event if exists event3" @@ -20296,6 +22350,8 @@ end" "create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5" "select event_definition, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from information_schema.events" "drop event e_26" +"create event e_26 on schedule at NULL disable do set @a = 5" +"create event e_26 on schedule at 'definitely not a datetime' disable do set @a = 5" "create event задачка on schedule every 123 minute starts now() ends now() + interval 1 month do select 1" "drop event задачка" "set global event_scheduler=off" @@ -20331,6 +22387,7 @@ order by info" "drop event закачка21" "set global event_scheduler = ON" "create table t_16 (s1 int)" +"create trigger t_16_bi before insert on t_16 for each row create event e_16 on schedule every 1 second do set @a=5" "drop table t_16" "create event white_space on schedule every 10 hour @@ -20345,16 +22402,51 @@ select 2" "create event white_space on schedule every 10 hour disable do select 3" "create event e1 on schedule every 1 year do set @a = 5" "create table t1 (s1 int)" +"create trigger t1_ai after insert on t1 for each row show create event e1" "drop event e1" +"SHOW EVENTS FROM aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +"SHOW EVENTS FROM ``" "SHOW EVENTS FROM `events\\test`" "create event e1 on schedule every 10 hour do select 1" "show create event e1" "select event_name from information_schema.events" +"create event e2 on schedule every 10 hour do select 1" +"alter event e2 disable" +"alter event e2 rename to e3" +"drop event e2" +"create function f1() returns int +begin +show create event e1; +return 1; +end" +"create trigger trg before insert on t1 for each row +begin +show create event e1; +end" +"create function f1() returns int +begin +select event_name from information_schema.events; +return 1; +end" +"create trigger trg before insert on t1 for each row +begin +select event_name from information_schema.events; +end" "create function f1() returns int begin create event e2 on schedule every 10 hour do select 1; return 1; end" +"create function f1() returns int +begin +alter event e1 rename to e2; +return 1; +end" +"create function f1() returns int +begin +drop event e2; +return 1; +end" "create trigger trg before insert on t1 for each row begin set new.a= f1(); @@ -20387,6 +22479,9 @@ end" "select EVENT_NAME from information_schema.events where event_schema='test'" "drop event имя_события_в_кодировке_утф8_длиной_больше_чем_48" +"create event +очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66 +on schedule every 2 year do select 1" "create event event_35981 on schedule every 6 month on completion preserve disable do @@ -20410,13 +22505,15 @@ on completion not preserve do select 1" "alter event event_35981 on schedule every 1 hour starts '1999-01-01 00:00:00' +ends '1999-01-02 00:00:00'" +"alter event event_35981 on schedule every 1 hour starts '1999-01-01 00:00:00' ends '1999-01-02 00:00:00' on completion preserve" "create event event_35981 on schedule every 1 hour starts current_timestamp on completion preserve do select 1" "alter event event_35981 on schedule every 1 hour starts '1999-01-01 00:00:00' -ends '1999-01-02 00:00:00'" +ends '1999-01-02 00:00:00' on completion not preserve" "drop database events_test" "SET GLOBAL EVENT_SCHEDULER = OFF" "CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND @@ -20431,14 +22528,26 @@ NOW() + INTERVAL 1 SECOND ON COMPLETION NOT PRESERVE DO SELECT 1" "select * from performance_schema.global_variables where variable_name like 'event_scheduler'" "SET GLOBAL event_scheduler = 'OFF'" "CREATE EVENT lower_case ON SCHEDULE EVERY 1 MINUTE DO SELECT 1" +"CREATE EVENT Lower_case ON SCHEDULE EVERY 2 MINUTE DO SELECT 2" "DROP EVENT Lower_case" "CREATE EVENT долен_регистър_1251 ON SCHEDULE EVERY 1 YEAR DO SELECT 100" +"CREATE EVENT ДоЛеН_регистър_1251 ON SCHEDULE EVERY 2 YEAR DO SELECT 200" "DROP EVENT ДоЛеН_регистър_1251" "CREATE EVENT долен_регистър_утф8 ON SCHEDULE EVERY 3 YEAR DO SELECT 300" +"CREATE EVENT ДОЛЕН_регистър_утф8 ON SCHEDULE EVERY 4 YEAR DO SELECT 400" "DROP EVENT ДОЛЕН_регистър_утф8" "set @a=3" +"CREATE PROCEDURE p_16 () CREATE EVENT e_16 ON SCHEDULE EVERY @a SECOND DO SET @a=5" +"create event e_55 on schedule at 99990101000000 do drop table t" +"create event e_55 on schedule every 10 hour starts 99990101000000 do drop table t" +"create event e_55 on schedule every 10 minute ends 99990101000000 do drop table t" +"create event e_55 on schedule at 10000101000000 do drop table t" "create event e_55 on schedule at 20000101000000 do drop table t" "show events" +"create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t",,syntax_error +"create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t",,syntax_error +"create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t",,syntax_error +"create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t" "set global event_scheduler= on" "set global event_scheduler= on","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "set @old_sql_mode:=@@sql_mode" @@ -20469,6 +22578,7 @@ select get_lock('ee_16407_2', 60) /*ee_16407_2*/; select release_lock('ee_16407_2'); insert into events_test.events_smode_test values('ee_16407_2','1980-19-02'); end" +"insert into events_test.events_smode_test values ('test','1980-19-02')" "create event ee_16407_3 on schedule every 60 second do begin select get_lock('ee_16407_2', 60) /*ee_16407_3*/; @@ -20527,17 +22637,23 @@ where state = 'User lock' and info = 'select get_lock(\'ee_16407_5\', 60)'" "create database mysqltest_db1" "grant event on events_test.* to mysqltest_user1@localhost" "create event mysqltest_user1 on schedule every 10 second do select 42" +"alter event mysqltest_user1 rename to mysqltest_db1.mysqltest_user1" +"alter event events_test.mysqltest_user1 rename to mysqltest_user1" "select event_schema, event_name, definer, event_type, status from information_schema.events" "drop event events_test.mysqltest_user1" "drop user mysqltest_user1@localhost" "drop database mysqltest_db1" +"create event e_53 on schedule at (select s1 from ttx) do drop table t" +"create event e_53 on schedule every (select s1 from ttx) second do drop table t" +"create event e_53 on schedule every 5 second starts (select s1 from ttx) do drop table t" +"create event e_53 on schedule every 5 second ends (select s1 from ttx) do drop table t" "drop event if exists e_16" "drop procedure if exists p_16" "create event e_16 on schedule every 1 second do set @a=5" "create procedure p_16 () alter event e_16 on schedule every @a second" "set @a = null" -"set @a= 6" "call p_16()" +"set @a= 6" "drop procedure p_16" "drop event e_16" "drop function if exists f22830" @@ -20556,6 +22672,11 @@ begin select get_lock('ee_22830', 60); select release_lock('ee_22830'); end" +"create event e22830 on schedule every f22830() second do +begin +call p22830_wait(); +select 123; +end" "create event e22830_1 on schedule every 1 hour do begin call p22830_wait(); @@ -20580,6 +22701,7 @@ end" "select release_lock('ee_22830')" "drop procedure p22830_wait" "drop function f22830" +"drop event (select a from t2)",,syntax_error "drop event e22830_1" "drop event e22830_2" "drop event e22830_3" @@ -20593,6 +22715,8 @@ end" "CREATE DEFINER=CURRENT_USER() EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1" "CREATE DEFINER=mysqltest_u1@localhost EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1" +"ALTER DEFINER=root@localhost EVENT e1 ON SCHEDULE EVERY 1 HOUR" +"CREATE DEFINER=root@localhost EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1" "SET GLOBAL EVENT_SCHEDULER= OFF" "SET @save_time_zone= @@TIME_ZONE" "SET TIME_ZONE= '+00:00'" @@ -20622,6 +22746,10 @@ SELECT 1" "SHOW CREATE EVENT e1" "SHOW CREATE EVENT e2" "SHOW CREATE EVENT e3" +"ALTER EVENT e1 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00' +ENDS '1999-01-02 00:00:00'" +"ALTER EVENT e1 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00' +ENDS '1999-01-02 00:00:00' DISABLE" "CREATE EVENT e4 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00' ENDS '1999-01-02 00:00:00' DO @@ -20667,6 +22795,20 @@ SELECT 1" "DROP EVENT e2" "SET TIME_ZONE=@save_time_zone" "drop event if exists new_event" +"CREATE EVENT new_event ON SCHEDULE EVERY 0 SECOND DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE EVERY (SELECT 0) SECOND DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE EVERY ""abcdef"" SECOND DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE EVERY ""0abcdef"" SECOND DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE EVERY ""a1bcdef"" SECOND DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE EVERY (SELECT ""abcdef"" UNION SELECT ""abcdef"") SECOND DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE EVERY (SELECT ""0abcdef"") SECOND DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE EVERY (SELECT ""a1bcdef"") SECOND DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE AT ""every day"" DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE AT ""0every day"" DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE AT (SELECT ""every day"") DO SELECT 1" +"CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() DO SELECT 1",,syntax_error +"CREATE EVENT new_event ON SCHEDULE AT NOW() ENDS NOW() DO SELECT 1",,syntax_error +"CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() ENDS NOW() DO SELECT 1",,syntax_error "SET GLOBAL event_scheduler = ON" "SET @save_session_autocommit = @@session.autocommit" "SET @@session.autocommit=0" @@ -20721,11 +22863,9 @@ last_executed IS NULL, definer FROM INFORMATION_SCHEMA.EVENTS WHERE event_schema = 'events_test'" -"set @old_mode= @@sql_mode" "set @@sql_mode= cast(pow(2,33)-1 as unsigned integer) & ~0x1003ff00" "create event e1 on schedule every 1 day do select 1" "select @@sql_mode into @full_mode" -"set @@sql_mode= @old_mode" "select event_name from information_schema.events where event_name = 'e1' and sql_mode = @full_mode" "SET @old_server_id = @@GLOBAL.server_id" "SET GLOBAL server_id = (1 << 32) - 1" @@ -20765,9 +22905,11 @@ END "SHOW EVENTS IN event_test11764334 WHERE NAME='ev1'" "ALTER EVENT ev1 ON SCHEDULE EVERY 4 SECOND" "DROP DATABASE event_test11764334" -"CREATE EVENT e1 ON SCHEDULE EVERY 2 HOUR DO SELECT 1" +"ALTER EVENT e1 ON SCHEDULE EVERY +EXISTS (SELECT 1 AS x ORDER BY x LIMIT 0) NOT IN (1) MINUTE_SECOND" "ALTER EVENT e1 ON SCHEDULE EVERY EXISTS (SELECT 1 AS x ORDER BY x LIMIT 0) NOT IN (2) MINUTE_SECOND" +"CREATE EVENT e1 ON SCHEDULE EVERY 2 HOUR DO SELECT 1" "SET GLOBAL event_scheduler= 'ON'" "CREATE TABLE t1(_userid CHAR (1)KEY) ENGINE=InnoDB" "SET @save_autocommit_value= @@global.autocommit" @@ -20778,9 +22920,13 @@ EXISTS (SELECT 1 AS x ORDER BY x LIMIT 0) NOT IN (2) MINUTE_SECOND" "SET @@global.autocommit=@save_autocommit_value" "SET @@session.TIMESTAMP=default" "CREATE EVENT cafe ON SCHEDULE EVERY 2 YEAR DO SELECT 1" +"CREATE EVENT café ON SCHEDULE EVERY 2 YEAR DO SELECT 1" +"CREATE EVENT CAFE ON SCHEDULE EVERY 2 YEAR DO SELECT 1" "SHOW CREATE EVENT CaFé" "DROP EVENT CaFé" "CREATE EVENT очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_e ON SCHEDULE EVERY 2 YEAR DO SELECT 1" +"CREATE EVENT очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é ON SCHEDULE EVERY 2 YEAR DO SELECT 1" +"CREATE EVENT очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_E ON SCHEDULE EVERY 2 YEAR DO SELECT 1" "SHOW CREATE EVENT очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é" "DROP EVENT очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é" "SET TIMESTAMP= UNIX_TIMESTAMP('2019-08-01 01:20:30')" @@ -20795,10 +22941,14 @@ DO DO 1+1" "ALTER EVENT my_event COMMENT 'event comment'" "SET TIME_ZONE= '-02:00'" "DROP EVENT my_event" +"CREATE EVENT e ON SCHEDULE AT ROW(1, 2) DO SELECT 1" +"CREATE EVENT e ON SCHEDULE EVERY ROW(1, 2) HOUR DO SELECT 1" +"CREATE EVENT e ON SCHEDULE EVERY 1 HOUR STARTS ROW(1, 2) DO SELECT 1" +"CREATE EVENT e ON SCHEDULE EVERY 1 HOUR ENDS ROW(1, 2) DO SELECT 1" "SET @@global.concurrent_insert= @concurrent_insert" "SET SESSION DEBUG='+d,thd_killed_injection'" +"CREATE EVENT event1 ON SCHEDULE EVERY 1 YEAR DO SELECT 1" "SET SESSION DEBUG='-d,thd_killed_injection'" -"CREATE EVENT café ON SCHEDULE EVERY 2 YEAR DO SELECT 1" "SET DEBUG_SYNC='after_acquiring_shared_lock_on_the_event SIGNAL locked WAIT_FOR continue'" "SET DEBUG_SYNC='now WAIT_FOR locked'" "SET DEBUG_SYNC='now SIGNAL continue'" @@ -20816,6 +22966,7 @@ DO DO 1+1" "select ""NEW CONNECTION""" "SHOW GRANTS" "SELECT CONCAT(""Let's create some new events from the name of "", USER())" +"CREATE EVENT one_event ON SCHEDULE EVERY 20 SECOND DO SELECT 123" "CREATE EVENT two_event ON SCHEDULE EVERY 20 SECOND ON COMPLETION NOT PRESERVE COMMENT ""two event"" DO SELECT 123" "CREATE EVENT three_event ON SCHEDULE EVERY 20 SECOND ON COMPLETION PRESERVE COMMENT ""three event"" DO SELECT 123" "SHOW EVENTS LIKE 't%event'" @@ -20858,6 +23009,11 @@ where sql_text like 'select \'events_logs_test\'%'" "SET GLOBAL log_output = @old_log_output" "truncate table mysql.general_log" "truncate table mysql.slow_log" +"CREATE EVENT micro_test ON SCHEDULE EVERY 100 MICROSECOND DO SELECT 1" +"CREATE EVENT micro_test ON SCHEDULE EVERY 100 DAY_MICROSECOND DO SELECT 1" +"CREATE EVENT micro_test ON SCHEDULE EVERY 100 HOUR_MICROSECOND DO SELECT 1" +"CREATE EVENT micro_test ON SCHEDULE EVERY 100 MINUTE_MICROSECOND DO SELECT 1" +"CREATE EVENT micro_test ON SCHEDULE EVERY 100 SECOND_MICROSECOND DO SELECT 1" "SET @@session.time_zone=@@global.log_timestamps" "SELECT FROM_UNIXTIME(VARIABLE_VALUE/1000000) INTO @pfs_errlog_latest @@ -20934,6 +23090,10 @@ insert into execution_log value('abc3')" "SET GLOBAL event_scheduler=1" "SET GLOBAL event_scheduler=0" "SET GLOBAL event_scheduler=ON" +"SET GLOBAL event_scheduler=DISABLED" +"SET GLOBAL event_scheduler=-1" +"SET GLOBAL event_scheduler=2" +"SET GLOBAL event_scheduler=5" "CREATE TABLE table_1(a int)" "CREATE TABLE table_2(a int)" "CREATE TABLE table_3(a int)" @@ -20957,6 +23117,7 @@ INSERT INTO table_4 VALUES (1)" "SELECT IF(TIME_TO_SEC(TIMEDIFF(ENDS,STARTS))=6, 'OK', 'ERROR') FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA=DATABASE() AND EVENT_NAME='event_2'" +"DROP EVENT event_3" "DROP EVENT event_1" "SELECT EVENT_NAME, STATUS FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_NAME" "DROP EVENT event_2" @@ -21146,16 +23307,19 @@ VALUES (@tzid, @now + 12 * @step, 3)" "insert into t1 (a) values (""OK: alter event rename"")" "alter event e1 rename to e2" "insert into t1 (a) values (""OK: drop event"")" -"drop event e2" "insert into t1 (a) values (""OK: drop event if exists"")" "drop event if exists e2" "insert into t1 (a) values (""OK: create event if not exists"")" "create event if not exists e1 on schedule every 2 day do select 2" "insert into t1 (a) values (""OK: create event: event already exists"")" +"create event e1 on schedule every 2 day do select 2" "insert into t1 (a) values (""OK: alter event rename: rename to same name"")" +"alter event e1 rename to e1" "create event e2 on schedule every 3 day do select 3" "insert into t1 (a) values (""OK: alter event rename: destination exists"")" +"alter event e2 rename to e1" "insert into t1 (a) values (""OK: create event: database does not exist"")" +"create event mysqltest_no_such_database.e1 on schedule every 1 day do select 1" "SAVEPOINT A" "ROLLBACK WORK TO SAVEPOINT A" "grant create, insert, select, delete on mysqltest_db2.* @@ -21163,6 +23327,7 @@ to mysqltest_user1@localhost" "create database mysqltest_db2" "insert into t1 (a) values (""OK: create event: insufficient privileges"")" "insert into t1 (a) values (""OK: alter event: insufficient privileges"")" +"alter event e1 on schedule every 1 day do select 1" "insert into t1 (a) values (""OK: drop event: insufficient privileges"")" "drop database mysqltest_db2" "SET @old_slow_query_log= @@global.slow_query_log" @@ -21246,6 +23411,8 @@ KEY `logTime` (`logTime`) "explain select * from t1 where str=""foo""" "explain select * from t1 ignore key (str) where str=""foo""" "explain select * from t1 use key (str,str) where str=""foo""" +"explain select * from t1 use key (str,str,foo) where str=""foo""" +"explain select * from t1 ignore key (str,str,foo) where str=""foo""" "explain select 1" "explain select count(*) from t1" "create table таб (кол0 int, кол1 int, key инд0 (кол0), key инд01 (кол0,кол1))" @@ -21283,8 +23450,15 @@ FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1'" "prepare s1 from 'EXPLAIN FORMAT=JSON SELECT 1 FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1'" +"EXPLAIN SELECT COUNT(a) FROM t1 USE KEY(a)" "INSERT INTO t1 VALUES (repeat('a',@@global.max_allowed_packet))" "INSERT INTO t1 VALUES (repeat('b',@@global.max_allowed_packet))" +"EXPLAIN SELECT DISTINCT 1 FROM t1, +(SELECT a AS away FROM t1 GROUP BY a WITH ROLLUP) as d1 +WHERE t1.a = d1.a" +"EXPLAIN SELECT DISTINCT 1 FROM t1, +(SELECT DISTINCTROW a AS away FROM t1 GROUP BY a WITH ROLLUP) as d1 +WHERE t1.a = d1.a" "SELECT @@session.sql_mode INTO @old_sql_mode" "SET SESSION sql_mode='ONLY_FULL_GROUP_BY'" "EXPLAIN SELECT 1 FROM t1 @@ -21335,6 +23509,8 @@ WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a ON (MATCH(t1.f1) AGAINST ("""")) WHERE t1.f1 GROUP BY t1.f1))'" "create table `t1` (`a` int)" +"explain select 1 from `t1`, `t1` as `t2` +where `t1`.`a` > all ( (select `a` from `t1` ) union (select `a`) )" "EXPLAIN SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 @@ -21361,11 +23537,11 @@ UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 'EXPLAIN SELECT SUBSTRING(1, (SELECT 1 FROM t1 a1 RIGHT OUTER JOIN t1 ON 0)) AS d FROM t1 WHERE 0 > ANY (SELECT @a FROM t1)'" -"EXECUTE s" "INSERT INTO t2 VALUES (3),(4),(5)" "EXPLAIN SELECT SQL_CALC_FOUND_ROWS * FROM t1 UNION SELECT * FROM t2 LIMIT 2,2" "EXPLAIN REPLACE INTO t1 VALUES (10)" "EXPLAIN REPLACE INTO t1 SELECT * FROM t2" +"PREPARE s FROM ""EXPLAIN DELETE FROM t1 WHERE a || 'a' LIMIT 1""" "CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB" "EXPLAIN SELECT * FROM t1 WHERE c1 = 1 FOR UPDATE" "CREATE TABLE t1 (a INT, b INT) ENGINE=INNODB PARTITION BY KEY (b) PARTITIONS 2" @@ -21505,6 +23681,7 @@ WHERE t1.c2 BETWEEN 'a' AND 'z'))" "INSERT INTO t1 VALUES (1),(2) " "CREATE TABLE t2 (b INT) " "INSERT INTO t2 VALUES (1),(2) " +"DROP TABLE t1,t2 " "set optimizer_switch='semijoin=on,materialization=on,firstmatch=on,loosescan=on,index_condition_pushdown=on,mrr=on'" "CREATE TABLE t1 ( f1 INT PRIMARY KEY )" "INSERT INTO t1 VALUES ( 1 )" @@ -21622,10 +23799,14 @@ SELECT 1 + 1 AS x FROM t GROUP BY x WITH ROLLUP HAVING x = 1" "EXPLAIN FORMAT=JSON INTO @v1 DELETE t1, t2 FROM t1, t2" "SET @v1=NULL" "CREATE DATABASE mysqltest1" +"PREPARE stmt FROM 'EXPLAIN FOR CONNECTION 1'" "PREPARE stmt FROM 'SELECT * FROM t1'" "CREATE PROCEDURE proc6369() +EXPLAIN FOR CONNECTION 1" +"CREATE PROCEDURE proc6369() SELECT * FROM t1" "DROP PROCEDURE proc6369" +"EXPLAIN FOR CONNECTION 11111111" "CREATE TABLE t2 (f2 int)" "CREATE VIEW v1 AS SELECT t1.f1 FROM t1 JOIN t1 tt on t1.f1=tt.f1" "set @optimizer_switch_saved= @@optimizer_switch" @@ -21640,6 +23821,7 @@ SELECT * FROM t1" "UPDATE v2 SET f2=1" "INSERT INTO v2 VALUES(1)" "INSERT INTO v2 SELECT 3 FROM t2" +"EXPLAIN SELECT f2 FROM v2" "DROP USER 'privtest'@localhost" "CREATE TABLE h2 ( pk int(11) NOT NULL AUTO_INCREMENT, @@ -21790,6 +23972,9 @@ JOIN t1 ON 1 WHERE (CAST(""1"" AS JSON) MEMBER OF( t1.col_json->'$[*]'))" "INSERT INTO t1 VALUES (1,3), (2,4), (3,5)" "EXPLAIN ANALYZE SELECT * FROM t1 AS a JOIN t1 AS b ON a.a=b.b ORDER BY a.b+b.a LIMIT 3" "EXPLAIN ANALYZE SELECT * FROM t1 AS a, t1 AS b WHERE a.b=500" +"EXPLAIN ANALYZE FOR CONNECTION 1" +"EXPLAIN ANALYZE FORMAT=TRADITIONAL SELECT 1" +"EXPLAIN ANALYZE FORMAT=JSON SELECT 1" "EXPLAIN ANALYZE FORMAT=TREE SELECT 1" "EXPLAIN FORMAT=tree SELECT * FROM INFORMATION_SCHEMA.ENGINES" "EXPLAIN FORMAT=tree SELECT * FROM t1, ( SELECT f1 FROM t1 UNION SELECT f1 + 10 FROM t1 ) d1" @@ -22012,6 +24197,12 @@ ORDER BY t1.c" "SELECT 'a' AS f1 FROM t1 WHERE a='8' GROUP BY f1 ORDER BY CONCAT(f1)" "CREATE TABLE t(a DECIMAL(55,19) NOT NULL)" "INSERT INTO t VALUES(0),(1),(2),(3),(4),(5)" +"SELECT +( +SELECT 1 FROM t +ORDER BY ST_HAUSDORFFDISTANCE(a, ST_ASTEXT(1,'axis-order=lat-long')), a +LIMIT 1 +)" "CREATE TABLE t1 ( a INTEGER, b TEXT )" "INSERT INTO t1 VALUES (1, REPEAT('x', 40001))" "INSERT INTO t1 VALUES (2, REPEAT('x', 40002))" @@ -22039,11 +24230,13 @@ ORDER BY t2.vc" (0,""0""),(1,""1""),(2,""2""),(3,""3""),(4,""4""),(5,""5""), (6,""6""),(7,""7""),(8,""8""),(9,""9""),(10,""10"")" "set debug= '+d,bounded_queue_init_fail'" +"SELECT * FROM t1 ORDER BY f1 ASC, f0 LIMIT 1" "SET session debug= @old_debug" "CREATE TABLE t1(f0 int auto_increment primary key, f1 int)" "INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5)" "SET session debug= '+d,alloc_sort_buffer_fail'" "CALL mtr.add_suppression(""Out of sort memory"")" +"SELECT * FROM t1 ORDER BY f1 ASC, f0" "SET DEBUG_SYNC='filesort_start SIGNAL filesort_started WAIT_FOR filesort_killed'" "SET DEBUG_SYNC='now WAIT_FOR filesort_started'" "KILL @id" @@ -22088,6 +24281,10 @@ REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), 3, REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096))" "SET SESSION sort_buffer_size=32768" +"DELETE IGNORE FROM t1 ORDER BY c26,c7,c23,c4,c25,c5,c20, +c19,c21,c8,c1,c27,c28,c3,c9,c22,c24,c6,c2,pk LIMIT 2" +"DELETE FROM t1 ORDER BY c26,c7,c23,c4,c25,c5,c20, +c19,c21,c8,c1,c27,c28,c3,c9,c22,c24,c6,c2,pk LIMIT 2" "SET SESSION sort_buffer_size=DEFAULT" "CREATE TABLE g(b INT NOT NULL, UNIQUE(b)) ENGINE=INNODB" "CREATE TABLE t(a int, c int) ENGINE=INNODB" @@ -22510,11 +24707,18 @@ SELECT * FROM testdb.t1" "set global read_only=1" "set global general_log= @old_general_log" "set global read_only= @old_read_only" -"drop tables if exists t1, t2" "lock table t2 read" +"flush tables with read lock, hosts",,syntax_error +"flush privileges, tables",,syntax_error +"flush privileges, tables with read lock",,syntax_error +"flush tables with read lock, tables",,syntax_error "flush tables t1, t2 with read lock" "insert into t2 (a) values (1)" +"insert into t3 (a) values (1)" +"lock table no_such_table read" "flush table t1, t2 with read lock" +"insert into t1 (a) values (2)" +"insert into t2 (a) values (2)" "insert into t3 (a) values (2)" "flush tables t1 with read lock" "insert into t2 (a) values (3)" @@ -22526,9 +24730,12 @@ SELECT * FROM testdb.t1" "create view v1 as select 1" "create view v2 as select * from t1" "create view v3 as select * from v2" +"flush table v1, v2, v3 with read lock" +"flush table v1 with read lock" +"flush table v2 with read lock" +"flush table v3 with read lock" "create temporary table v1 (a int)" "create table v1 (a int)" -"flush table v1 with read lock" "drop temporary table v1" "drop view v2, v3" "drop table t1, v1" @@ -22539,6 +24746,8 @@ SELECT * FROM testdb.t1" "handler t1 close" begin "FLUSH TABLES t1 WITH READ LOCK" +"CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a= 1" +"ALTER TABLE t1 COMMENT 'test'" "CREATE TABLE t1 (id INT PRIMARY KEY, value INT)" "CREATE TRIGGER t1_au AFTER UPDATE ON t1 FOR EACH ROW SET @var = ""a""" BEGIN @@ -22638,7 +24847,9 @@ CigAAAG9bFwE "handler t1_base read first" "handler t1_base close" "set @id:= connection_id()" +"kill query @id" "lock tables t1_base read" +"lock tables t1_base write" "lock tables t1_temp write" "optimize table t1_base" "savepoint sv1" @@ -22675,6 +24886,7 @@ CigAAAG9bFwE "create temporary table tm_temp_temp (i int) engine=merge union=(t1_temp) insert_method=last" "drop table tm_temp_temp" "create table tm_base_temp (i int) engine=merge union=(t1_temp) insert_method=last" +"select * from tm_base_temp" "drop table tm_base_temp" "drop function f2_base" "drop procedure p2" @@ -22729,7 +24941,10 @@ DECLARE export INT; END" "CREATE PROCEDURE export() BEGIN END" "DROP PROCEDURE export" +"FLUSH TABLES FOR EXPORT",,syntax_error +"FLUSH TABLES WITH EXPORT",,syntax_error "CREATE TABLE t1 (i INT) engine=InnoDB" +"FLUSH TABLES t1,t2 WITH EXPORT",,syntax_error "FLUSH TABLES t1, t2 FOR EXPORT" "FLUSH TABLES t1, t2 for ExPoRt" "FLUSH LOCAL TABLES t1, t2 FOR EXPORT" @@ -22738,7 +24953,8 @@ END" "CREATE TABLE export (i INT) engine=InnoDB" "FLUSH TABLE export FOR EXPORT" "DROP TABLE export" -"CREATE TEMPORARY TABLE t1 (a INT)" +"FLUSH TABLES v1 FOR EXPORT" +"FLUSH TABLES non_existent FOR EXPORT" "CREATE TABLE t1 (a INT PRIMARY KEY, b INT) engine= InnoDB" "CREATE TABLE t2 (a INT) engine= InnoDB" "FLUSH TABLE t1 FOR EXPORT" @@ -22767,12 +24983,42 @@ user4@localhost, user5@localhost" "INSERT INTO t1 VALUES (400)" "LOCK TABLES test.t1 READ" "LOCK TABLES test.t1 WRITE" +"FLUSH TABLES test.t1 FOR EXPORT" "SET GLOBAL innodb_file_per_table= @old_innodb_file_per_table" "CREATE TABLE t1(a INT) engine= MyISAM" "call mtr.add_suppression("" In RENAME TABLE table `test`.`parent` is referenced in foreign key constraints which are not compatible with the new table definition."")" "SET @saved_binlog_format= @@SESSION.binlog_format" "drop table if exists t_34455" +"create table t_34455 ( +a int not null, +foreign key (a) references t3 (a) match full match partial)",,syntax_error +"create table t_34455 ( +a int not null, +foreign key (a) references t3 (a) on delete set default match full)",,syntax_error +"create table t_34455 ( +a int not null, +foreign key (a) references t3 (a) on update set default match full)",,syntax_error +"create table t_34455 ( +a int not null, +foreign key (a) references t3 (a) +on delete set default on delete set default)",,syntax_error +"create table t_34455 ( +a int not null, +foreign key (a) references t3 (a) +on update set default on update set default)",,syntax_error "create table t_34455 (a int not null)" +"alter table t_34455 +add foreign key (a) references t3 (a) match full match partial)",,syntax_error +"alter table t_34455 +add foreign key (a) references t3 (a) on delete set default match full)",,syntax_error +"alter table t_34455 +add foreign key (a) references t3 (a) on update set default match full)",,syntax_error +"alter table t_34455 +add foreign key (a) references t3 (a) +on delete set default on delete set default)",,syntax_error +"alter table t_34455 +add foreign key (a) references t3 (a) +on update set default on update set default)",,syntax_error "drop table t_34455" "SET @@foreign_key_checks= 0" "CREATE TABLE t1(a INT PRIMARY KEY, b INT, FOREIGN KEY (b) REFERENCES non(a))" @@ -22787,12 +25033,28 @@ FOREIGN KEY name567890123456789012345678901234567890123456789012345678901234 (b) REFERENCES t1(a)" "SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 't1'" +"ALTER TABLE t2 ADD FOREIGN KEY +name5678901234567890123456789012345678901234567890123456789012345 +(b) REFERENCES t1(a)" +"ALTER TABLE t2 ADD CONSTRAINT +name5678901234567890123456789012345678901234567890123456789012345 +FOREIGN KEY (b) REFERENCES t1(a)" "CREATE TABLE t2(a INT PRIMARY KEY, b INT UNIQUE)" +"CREATE TABLE t1(a INT PRIMARY KEY, b INT, +FOREIGN KEY(b) REFERENCES name5678901234567890123456789012345678901234567890123456789012345.t2(a))" +"CREATE TABLE t1(a INT PRIMARY KEY, b INT, +FOREIGN KEY(b) REFERENCES name5678901234567890123456789012345678901234567890123456789012345(a))" +"CREATE TABLE t1(a INT PRIMARY KEY, b INT, +FOREIGN KEY(b) REFERENCES t2(name5678901234567890123456789012345678901234567890123456789012345))" "CREATE TABLE t1(c1 INT PRIMARY KEY)" "CREATE TABLE t2(c1 INT, FOREIGN KEY (c1) REFERENCES t1(c1))" +"INSERT INTO t3 VALUES(1)" "ALTER TABLE t3 RENAME TO t4, ALGORITHM= INPLACE" +"INSERT INTO t4 VALUES(1)" "ALTER TABLE t4 RENAME TO t5" +"INSERT INTO t5 VALUES(1)" "RENAME TABLE t5 to t6" +"INSERT INTO t6 VALUES(1)" "DROP TABLE t6, t1" "CREATE TABLE t2(a INT, b INT, FOREIGN KEY(a) REFERENCES t1(a))" "SELECT constraint_name FROM information_schema.referential_constraints @@ -22834,10 +25096,12 @@ CONSTRAINT `t6_ibfk_3` FOREIGN KEY (`a`) REFERENCES `t1` (`a`) "RENAME TABLE t3 TO t4" "ALTER TABLE t2 ADD CONSTRAINT t2_ibfk_1 FOREIGN KEY(a) REFERENCES t1(a)" "ALTER TABLE t2 ADD CONSTRAINT FK FOREIGN KEY(a) REFERENCES t1(a)" +"ALTER TABLE t2 ADD CONSTRAINT fk FOREIGN KEY(b) REFERENCES t1(a)" "ALTER TABLE t2 DROP FOREIGN KEY FK" "ALTER TABLE t2 ADD CONSTRAINT T2_IBFK_1 FOREIGN KEY(a) REFERENCES t1(a)" "ALTER TABLE t2 DROP FOREIGN KEY T2_IBFK_1" "CREATE TABLE t2 (a INT, FOREIGN KEY (a) REFERENCES t1(a))" +"RENAME TABLE t2 TO t123456789012345678901234567890123456789012345678901234567" "RENAME TABLE t2 TO t12345678901234567890123456789012345678901234567890123456" "SELECT constraint_name FROM information_schema.referential_constraints WHERE table_name = 't12345678901234567890123456789012345678901234567890123456' @@ -22846,24 +25110,53 @@ ORDER BY constraint_name" WHERE table_name = 't12345678901234567890123456789012345678901234567890123456' ORDER BY constraint_name" "DROP TABLE t12345678901234567890123456789012345678901234567890123456" +"CREATE TABLE t123456789012345678901234567890123456789012345678901234567( +a INT, FOREIGN KEY (a) REFERENCES t1(a))" "CREATE TABLE t123456789012345678901234567890123456789012345678901234567890123( a INT, CONSTRAINT fk FOREIGN KEY (a) REFERENCES t1(a))" "DROP TABLE t123456789012345678901234567890123456789012345678901234567890123" "CREATE TABLE t1(a INT PRIMARY KEY, b INT GENERATED ALWAYS AS (a+1) VIRTUAL UNIQUE)" +"CREATE TABLE t2(a INT, FOREIGN KEY (a) REFERENCES t1(b))" +"ALTER TABLE t2 ADD FOREIGN KEY(a) REFERENCES t1(b)" "CREATE TABLE t2(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE)" "CREATE TABLE t3(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE, FOREIGN KEY (b) REFERENCES t1(a))" "CREATE TABLE t3(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE, +FOREIGN KEY (b) REFERENCES t1(a) ON UPDATE CASCADE)" +"ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a) ON UPDATE CASCADE" +"CREATE TABLE t3(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE, +FOREIGN KEY (b) REFERENCES t1(a) ON DELETE SET NULL)" +"ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a) ON DELETE SET NULL" +"CREATE TABLE t3(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE, +FOREIGN KEY (b) REFERENCES t1(a) ON UPDATE SET NULL)" +"ALTER TABLE t2 ADD FOREIGN KEY(b) REFERENCES t1(a) ON UPDATE SET NULL" +"CREATE TABLE t3(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE, FOREIGN KEY (a) REFERENCES t1(a))" +"CREATE TABLE t3(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE, +FOREIGN KEY (a) REFERENCES t1(a) ON UPDATE CASCADE)" +"ALTER TABLE t2 ADD FOREIGN KEY(a) REFERENCES t1(a) ON UPDATE CASCADE" +"CREATE TABLE t3(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE, +FOREIGN KEY (a) REFERENCES t1(a) ON DELETE SET NULL)" +"ALTER TABLE t2 ADD FOREIGN KEY(a) REFERENCES t1(a) ON DELETE SET NULL" +"CREATE TABLE t3(a INT, b INT GENERATED ALWAYS AS (a+1) STORED UNIQUE, +FOREIGN KEY (a) REFERENCES t1(a) ON UPDATE SET NULL)" +"ALTER TABLE t2 ADD FOREIGN KEY(a) REFERENCES t1(a) ON UPDATE SET NULL" +"CREATE TABLE t2(a INT, b INT GENERATED ALWAYS AS (a+1) VIRTUAL UNIQUE, +FOREIGN KEY(b) REFERENCES t1(a))" "CREATE TABLE t2(a INT, b INT GENERATED ALWAYS AS (a+1) VIRTUAL UNIQUE)" +"ALTER TABLE t2 ADD FOREIGN KEY (b) REFERENCES t1(a)" "CREATE TABLE t2(a INT, b INT, FOREIGN KEY(b) REFERENCES t1(a))" +"ALTER TABLE t2 MODIFY COLUMN b INT GENERATED ALWAYS AS (a+1) VIRTUAL" "CREATE TABLE t1(a INT PRIMARY KEY, b INT, INDEX(a, b))" "CREATE TABLE t2(a INT, b INT, FOREIGN KEY(a, b) REFERENCES t1(a, b))" +"ALTER TABLE t2 DROP COLUMN a" +"ALTER TABLE t2 DROP COLUMN b" "CREATE TABLE t2(a INT, b INT, INDEX idx(a, b), FOREIGN KEY(a, b) REFERENCES t1(a, b))" "CREATE TABLE t1 (PK VARCHAR(100) PRIMARY KEY)" "CREATE TABLE t2 (FK VARCHAR(100), FOREIGN KEY(FK) REFERENCES t1 (PK), KEY(FK))" +"ALTER TABLE t2 DROP INDEX FK, ADD INDEX FK2(FK(10))" "CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY)" "CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE)" @@ -22872,8 +25165,8 @@ FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE)" "UPDATE t1 SET fld1= 3" "CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) UNIQUE)" "CREATE TABLE t2 (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), fname VARCHAR(100), FOREIGN KEY (fname) REFERENCES t1 (name) ON UPDATE CASCADE ON DELETE CASCADE)" -"SET foreign_key_checks= OFF" "ALTER TABLE t2 CONVERT TO CHARACTER SET latin1" +"SET foreign_key_checks= OFF" "SET foreign_key_checks= ON" "INSERT INTO t1(name) VALUES ('test1')" "INSERT INTO t2(name, fname) VALUES ('test1', 'test1')" @@ -22894,12 +25187,13 @@ ON DELETE NO ACTION ON UPDATE NO ACTION)" "SET @@session.lock_wait_timeout= 1" "UPDATE grandparent SET gpf2= 4" "UPDATE grandparent SET gpf2= 100 * gpf1" +"ALTER TABLE child ADD COLUMN (i INT)" "SET @@session.lock_wait_timeout= DEFAULT" "DROP TABLE grandparent" "CREATE TABLE parent (pk INT PRIMARY KEY)" "CREATE TABLE IF NOT EXISTS child (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk))" -"SET FOREIGN_KEY_CHECKS=0" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk))" +"SET FOREIGN_KEY_CHECKS=0" "SET FOREIGN_KEY_CHECKS=1" "CREATE TABLE IF NOT EXISTS parent (pk INT PRIMARY KEY)" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE CASCADE)" @@ -22915,33 +25209,55 @@ ON DELETE NO ACTION ON UPDATE NO ACTION)" "INSERT INTO source VALUES (NULL)" "SELECT * FROM source FOR UPDATE" "INSERT INTO parent VALUES (1)" +"ALTER TABLE parent ADD COLUMN a INT" "SET SESSION binlog_format= @saved_binlog_format" "DROP TABLES child, source" "CREATE TABLE parent2 (pk INT PRIMARY KEY)" "LOCK TABLE parent2 WRITE" "CREATE TABLE IF NOT EXISTS child (fk INT, FOREIGN KEY (fk) REFERENCES parent2(pk)) SELECT NULL AS fk" "DROP TABLE parent2" +"CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk)) SELECT NULL AS fk" "CREATE TABLE IF NOT EXISTS parent (pk INT PRIMARY KEY) SELECT 1 AS pk" +"CREATE TABLE parent (pk INT PRIMARY KEY) SELECT 1 AS pk" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE CASCADE) SELECT NULL AS fk" "DROP TABLES child" "DROP TABLES parent" "RENAME TABLES child1 TO child" +"RENAME TABLES child TO child1" "RENAME TABLES parent1 TO parent" +"RENAME TABLES parent TO parent1" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent1(pk))" -"RENAME TABLES child TO child1" "DROP TABLES child1, parent" "ALTER TABLE child RENAME TO child1" +"ALTER TABLE parent RENAME TO parent1" "CREATE TABLE child (fk INT)" "ALTER TABLE child DROP FOREIGN KEY fk" +"ALTER TABLE child ADD CONSTRAINT fk FOREIGN KEY (fk) REFERENCES parent(pk), ALGORITHM=INPLACE" "ALTER TABLE child ADD CONSTRAINT fk FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE CASCADE, ALGORITHM=INPLACE" "ALTER TABLE child ADD CONSTRAINT fk FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE CASCADE" "ALTER TABLE child DROP FOREIGN KEY fk, ALGORITHM=INPLACE" "CREATE TABLE parent (pk INT NOT NULL, UNIQUE u(pk))" +"ALTER TABLE parent RENAME KEY u1 TO u, ALGORITHM=INPLACE" +"ALTER TABLE child RENAME TO child1, ADD COLUMN b INT, ALGORITHM=INPLACE" +"ALTER TABLE parent RENAME TO parent1, ADD COLUMN b INT, ALGORITHM=INPLACE" +"ALTER TABLE parent RENAME TO parent1, ADD COLUMN d INT, ALGORITHM=INPLACE" "ALTER TABLE child RENAME TO child1, ADD COLUMN a INT, ALGORITHM=INPLACE" +"ALTER TABLE child ADD CONSTRAINT fk FOREIGN KEY (fk) REFERENCES parent(pk), ALGORITHM=COPY" "DELETE FROM parent" "ALTER TABLE child ADD CONSTRAINT fk FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE CASCADE, ALGORITHM=COPY" "ALTER TABLE child DROP FOREIGN KEY fk, ALGORITHM=COPY" +"ALTER TABLE parent RENAME KEY u1 TO u, ALGORITHM=COPY" +"ALTER TABLE child RENAME TO child1, ADD COLUMN b INT, ALGORITHM=COPY" +"ALTER TABLE parent RENAME TO parent1, ADD COLUMN b INT, ALGORITHM=COPY" +"ALTER TABLE parent RENAME TO parent1, ADD COLUMN d INT, ALGORITHM=COPY" "ALTER TABLE child RENAME TO child1, ADD COLUMN a INT, ALGORITHM=COPY" +"CREATE TABLE t (pk INTEGER PRIMARY KEY, fk_i INTEGER, +CONSTRAINT xxxxxxxxx1xxxxxxxxx2xxxxxxxxx3xxxxxxxxx4xxxxxxxxx5xxxxxxxxx6xxxxx +FOREIGN KEY (fk_i) REFERENCES x(x))" +"CREATE TABLE t (pk INTEGER PRIMARY KEY, fk_i INTEGER, +FOREIGN KEY (fk_i) REFERENCES x(xxxxxxxxx1xxxxxxxxx2xxxxxxxxx3xxxxxxxxx4xxxxxxxxx5xxxxxxxxx6xxxxx))" +"CREATE TABLE t (pk INTEGER PRIMARY KEY, fk_i INTEGER, +FOREIGN KEY (fk_i) REFERENCES x(`x `))" "CREATE TABLE parent(pk INTEGER PRIMARY KEY, i INTEGER, fk_i INTEGER, UNIQUE KEY parent_i_key(i), FOREIGN KEY (fk_i) REFERENCES parent(i))" @@ -22954,9 +25270,8 @@ UNIQUE KEY parent_i_key(i))" "LOCK TABLES child WRITE, parent WRITE" "SET @@session.foreign_key_checks= DEFAULT" "LOCK TABLES child WRITE" -"LOCK TABLES child WRITE, parent READ" "ALTER TABLE child ADD CONSTRAINT fk FOREIGN KEY (fk) REFERENCES parent(pk)" -"ALTER TABLE parent RENAME TO parent1" +"LOCK TABLES child WRITE, parent READ" "LOCK TABLES child1 WRITE, parent1 WRITE" "ALTER TABLE child1 RENAME TO child" "INSERT INTO child VALUES (NULL)" @@ -22977,8 +25292,10 @@ FROM information_schema.key_column_usage WHERE table_schema='test' AND table_name='t1' ORDER BY constraint_name" "ALTER TABLE t1 CHANGE pk id INT" +"ALTER TABLE t1 CHANGE id pk INT, ALGORITHM=COPY" "ALTER TABLE t1 CHANGE id pk INT, ALGORITHM=INPLACE" "ALTER TABLE t1 RENAME COLUMN pk TO id" +"ALTER TABLE t1 RENAME COLUMN id TO pk, ALGORITHM=COPY" "ALTER TABLE t1 RENAME COLUMN id TO pk, ALGORITHM=INPLACE" "CREATE TABLE t2 (fk INT, FOREIGN KEY (fk) REFERENCES t1 (pk))" "SELECT constraint_name, table_name, column_name, referenced_column_name @@ -23021,11 +25338,11 @@ END IF; END" "PREPARE stmt FROM 'INSERT INTO t3 VALUES (1)'" "CREATE VIEW t2 AS SELECT 1 AS j" -"DROP VIEW t2" "CREATE TABLE t0 (i INT)" "CREATE TRIGGER t0_bi BEFORE INSERT ON t0 FOR EACH ROW DELETE FROM t1" "CREATE TABLE t2 (fk INT, FOREIGN KEY (fk) REFERENCES t1 (pk) ON UPDATE SET NULL)" "LOCK TABLES t0 WRITE" +"UPDATE t1 SET pk = 10" "DROP TABLES t2, t1, t0" "CREATE TABLE t2 (fk1 INT, fk2 INT, fk3 INT, CONSTRAINT a FOREIGN KEY (fk1) REFERENCES t1 (pk), @@ -23082,12 +25399,50 @@ RENAME TO t14, ALGORITHM=COPY" "CREATE TABLE t2 (fk INT, CONSTRAINT c FOREIGN KEY (fk) REFERENCES t1 (pk))" "CREATE TABLE t3 (pk INT PRIMARY KEY, fk INT, u INT)" "INSERT INTO t3 VALUES (1, 1, 1), (2, 1, 1)" +"ALTER TABLE t3 ADD CONSTRAINT c FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), ALGORITHM=INPLACE" "CREATE TABLE t4 (fk INT, CONSTRAINT t3_ibfk_1 FOREIGN KEY (fk) REFERENCES t1 (pk))" +"ALTER TABLE t3 ADD FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), ALGORITHM=INPLACE" +"ALTER TABLE t3 ADD CONSTRAINT c FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), RENAME TO mysqltest.t3, +ALGORITHM=INPLACE" +"ALTER TABLE t3 ADD FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), RENAME TO t5, +ALGORITHM=INPLACE" "CREATE TABLE mysqltest.t5 (fk INT, CONSTRAINT d FOREIGN KEY (fk) REFERENCES test.t1 (pk))" "CREATE TABLE t6 (fk INT, CONSTRAINT t8_ibfk_1 FOREIGN KEY (fk) REFERENCES test.t1 (pk))" "CREATE TABLE mysqltest.t6 (fk INT, CONSTRAINT t8_ibfk_1 FOREIGN KEY (fk) REFERENCES test.t1 (pk))" +"ALTER TABLE t3 ADD CONSTRAINT d FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), RENAME TO mysqltest.t3, +ALGORITHM=INPLACE" +"ALTER TABLE t3 ADD FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), RENAME TO t8, +ALGORITHM=INPLACE" +"ALTER TABLE t3 ADD FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), RENAME TO mysqltest.t8, +ALGORITHM=INPLACE" +"ALTER TABLE t3 ADD CONSTRAINT c FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), ALGORITHM=COPY" +"ALTER TABLE t3 ADD FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), ALGORITHM=COPY" +"ALTER TABLE t3 ADD CONSTRAINT c FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), RENAME TO mysqltest.t3, +ALGORITHM=COPY" +"ALTER TABLE t3 ADD FOREIGN KEY (fk) REFERENCES t1 (pk), +ADD UNIQUE KEY (u), RENAME TO t5, +ALGORITHM=COPY" +"ALTER TABLE t3 ADD CONSTRAINT d FOREIGN KEY (fk) REFERENCES test.t1 (pk), +ADD UNIQUE KEY (u), RENAME TO mysqltest.t3, +ALGORITHM=COPY" +"ALTER TABLE t3 ADD FOREIGN KEY (fk) REFERENCES test.t1 (pk), +ADD UNIQUE KEY (u), RENAME TO t8, +ALGORITHM=COPY" +"ALTER TABLE t3 ADD FOREIGN KEY (fk) REFERENCES test.t1 (pk), +ADD UNIQUE KEY (u), RENAME TO mysqltest.t8, +ALGORITHM=COPY" "DROP SCHEMA mysqltest" "DROP TABLES t6, t3, t2, t1" "CREATE TABLE T2 (fk INT)" @@ -23102,23 +25457,42 @@ FOREIGN KEY(fk) REFERENCES t1 (pk))" "CREATE TABLE t2 (fk INT, FOREIGN KEY(fk) REFERENCES mysqltest.t1 (pk))" "USE mysqltest" "CREATE TABLE parent(pk INT PRIMARY KEY, a INT)" +"CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(a))" "SET FOREIGN_KEY_CHECKS = 0" "SET FOREIGN_KEY_CHECKS = 1" +"CREATE TABLE self (pk INT PRIMARY KEY, a INT, fk INT, +FOREIGN KEY (fk) REFERENCES self(a))" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES no_such_parent(pk))" "CREATE TABLE child (fk INT, fk2 INT)" +"ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES parent(a), ALGORITHM=COPY" +"ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES parent(a), ALGORITHM=INPLACE" "CREATE TABLE self (pk INT PRIMARY KEY, a INT, fk INT)" +"ALTER TABLE self ADD FOREIGN KEY (fk) REFERENCES self(a), ALGORITHM=COPY" +"ALTER TABLE self ADD FOREIGN KEY (fk) REFERENCES self(a), ALGORITHM=INPLACE" "ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES no_such_parent(pk), ALGORITHM=COPY" +"ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES no_such_parent(pk), ALGORITHM=INPLACE" "ALTER TABLE child ADD FOREIGN KEY (fk2) REFERENCES no_such_parent(pk), ALGORITHM=INPLACE" "DROP TABLE child, self, parent" "CREATE TABLE parent (pk INT PRIMARY KEY, u INT NOT NULL, UNIQUE(u))" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(u))" +"ALTER TABLE parent DROP KEY u, ALGORITHM=COPY" +"ALTER TABLE parent DROP KEY u, ALGORITHM=INPLACE" "CREATE TABLE self (pk INT PRIMARY KEY, u INT NOT NULL, fk INT, UNIQUE(u), FOREIGN KEY (fk) REFERENCES self(u))" +"ALTER TABLE self DROP KEY u, ALGORITHM=COPY" +"ALTER TABLE self DROP KEY u, ALGORITHM=INPLACE" "ALTER TABLE parent DROP KEY u, ADD KEY nu(u)" +"ALTER TABLE parent DROP KEY nu, ALGORITHM=COPY" +"ALTER TABLE parent DROP KEY nu, ALGORITHM=INPLACE" "ALTER TABLE self DROP KEY u, ADD KEY nu(u)" +"ALTER TABLE self DROP KEY nu, ALGORITHM=COPY" +"ALTER TABLE self DROP KEY nu, ALGORITHM=INPLACE" "DROP TABLES self, child, parent" -"CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(a))" +"CREATE TABLE parent (pk INT PRIMARY KEY, a INT)" "CREATE TABLE parent1 (pk INT PRIMARY KEY, a INT)" +"RENAME TABLE parent1 TO parent" +"ALTER TABLE parent1 ADD COLUMN b INT, RENAME TO parent, ALGORITHM=INPLACE" +"ALTER TABLE parent1 ADD COLUMN b INT, RENAME TO parent, ALGORITHM=COPY" "DROP TABLE parent1, child" "CREATE TABLE grandparent (pk INT PRIMARY KEY)" "CREATE TABLE parent (pkfk INT, FOREIGN KEY (pkfk) REFERENCES grandparent(pk))" @@ -23147,47 +25521,88 @@ FOREIGN KEY (pkfk1) REFERENCES grandparent1(pk))" "ALTER TABLE self ADD FOREIGN KEY (pkfk1, pkfk2) REFERENCES grandparent2(pk1, pk2)" "DROP TABLE self, grandparent1, grandparent2" "CREATE TABLE parent (pk INT PRIMARY KEY, j INT)" +"CREATE TABLE child (fk INT, FOREIGN KEY (nocol) REFERENCES parent(pk))" +"CREATE TABLE self (pk INT PRIMARY KEY, FOREIGN KEY (nocol) REFERENCES self(pk))" "CREATE TABLE child (fk INT, j INT)" "CREATE TABLE self (pk INT PRIMARY KEY, fk INT)" +"ALTER TABLE child ADD FOREIGN KEY (nocol) REFERENCES parent(pk)" +"ALTER TABLE self ADD FOREIGN KEY (nocol) REFERENCES self(pk)" "ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES parent(pk)" +"ALTER TABLE child DROP COLUMN fk" +"ALTER TABLE child DROP COLUMN fk, ADD COLUMN fk INT" "ALTER TABLE self ADD FOREIGN KEY (fk) REFERENCES self(pk)" -"DROP TABLE self" +"ALTER TABLE self DROP COLUMN fk" +"ALTER TABLE self DROP COLUMN fk, ADD COLUMN fk INT" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(nocol))" +"DROP TABLE self" +"CREATE TABLE self (pk INT PRIMARY KEY, fk INT, FOREIGN KEY (fk) REFERENCES self(nocol))" +"ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES parent(nocol)" +"ALTER TABLE self ADD FOREIGN KEY (fk) REFERENCES self(nocol)" +"ALTER TABLE parent DROP COLUMN pk" +"ALTER TABLE parent DROP COLUMN pk, ADD COLUMN pk INT" +"ALTER TABLE self DROP COLUMN pk" +"ALTER TABLE self DROP COLUMN pk, ADD COLUMN pk INT" "CREATE TABLE parent0 (pk INT PRIMARY KEY)" +"RENAME TABLE parent0 TO parent" +"ALTER TABLE parent0 RENAME TO parent" "DROP TABLES child, parent0, self" +"CREATE TABLE child (base INT, fk INT GENERATED ALWAYS AS (base+1) VIRTUAL, +FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE self (pk INT PRIMARY KEY, base INT, +fk INT GENERATED ALWAYS AS (base+1) VIRTUAL, +FOREIGN KEY (fk) REFERENCES self(pk))" "CREATE TABLE child (base INT, fk INT GENERATED ALWAYS AS (base+1) VIRTUAL)" "CREATE TABLE self (pk INT PRIMARY KEY, base INT, fk INT GENERATED ALWAYS AS (base+1) VIRTUAL)" "DROP TABLE child, self" "CREATE TABLE child (base INT, fk INT GENERATED ALWAYS AS (base+1) STORED, FOREIGN KEY (fk) REFERENCES parent(pk))" +"ALTER TABLE child MODIFY fk INT GENERATED ALWAYS AS (base+1) VIRTUAL" "CREATE TABLE self (pk INT PRIMARY KEY, base INT, fk INT GENERATED ALWAYS AS (base+1) STORED, FOREIGN KEY (fk) REFERENCES self(pk))" +"ALTER TABLE self MODIFY fk INT GENERATED ALWAYS AS (base+1) VIRTUAL" "DROP TABLE child, parent, self" "CREATE TABLE parent (base INT, pk INT GENERATED ALWAYS AS (base+1) VIRTUAL, UNIQUE KEY(pk))" "CREATE TABLE self (base INT, pk INT GENERATED ALWAYS AS (base+1) VIRTUAL, fk INT, +UNIQUE KEY(pk), FOREIGN KEY (fk) REFERENCES self(pk))" +"CREATE TABLE self (base INT, pk INT GENERATED ALWAYS AS (base+1) VIRTUAL, fk INT, UNIQUE KEY(pk))" "CREATE TABLE parent (base INT, pk INT GENERATED ALWAYS AS (base+1) STORED, UNIQUE KEY(pk))" +"ALTER TABLE parent MODIFY pk INT GENERATED ALWAYS AS (base+1) VIRTUAL" "CREATE TABLE self (base INT, pk INT GENERATED ALWAYS AS (base+1) STORED, fk INT, UNIQUE KEY(pk), FOREIGN KEY (fk) REFERENCES self(pk))" +"ALTER TABLE self MODIFY pk INT GENERATED ALWAYS AS (base+1) VIRTUAL" "DROP TABLES child, parent, self" "CREATE TABLE parent0 (base INT, pk INT GENERATED ALWAYS AS (base+1) VIRTUAL, UNIQUE KEY(pk))" "DROP TABLES child, parent0" "CREATE TABLE parent (pk POINT SRID 0 NOT NULL, KEY(pk))" +"CREATE TABLE child (fk POINT SRID 0 NOT NULL, FOREIGN KEY(fk) REFERENCES parent(pk))" "CREATE TABLE child (fk POINT SRID 0 NOT NULL)" +"ALTER TABLE child ADD FOREIGN KEY(fk) REFERENCES parent(pk)" +"CREATE TABLE self (pk POINT SRID 0 NOT NULL, fk POINT SRID 0 NOT NULL, +KEY(pk), FOREIGN KEY(fk) REFERENCES self(pk))" "CREATE TABLE self (pk POINT SRID 0 NOT NULL, fk POINT SRID 0 NOT NULL, KEY(pk))" +"ALTER TABLE self ADD FOREIGN KEY(fk) REFERENCES self(pk)" "CREATE TABLE child (fk INT, FOREIGN KEY(fk) REFERENCES parent(pk))" +"ALTER TABLE child DROP KEY fk" "CREATE TABLE self (pk INT PRIMARY KEY, fk INT, FOREIGN KEY(fk) REFERENCES self(pk))" +"ALTER TABLE self DROP KEY fk" "ALTER TABLE child ADD KEY fk_s(fk)" "ALTER TABLE self ADD KEY fk_s(fk)" "ALTER TABLE child DROP KEY fk_s, ADD COLUMN j INT, ADD KEY (fk, j)" "ALTER TABLE self DROP KEY fk_s, ADD COLUMN j INT, ADD KEY(fk, j)" +"CREATE TABLE child (pk INT PRIMARY KEY, fk INT, FOREIGN KEY (fk) REFERENCES parent(pk)) +PARTITION BY KEY (pk) PARTITIONS 20" "CREATE TABLE child (pk INT PRIMARY KEY, fk INT) PARTITION BY KEY (pk) PARTITIONS 20" "CREATE TABLE child (pk INT PRIMARY KEY, fk INT, FOREIGN KEY (fk) REFERENCES parent(pk))" +"ALTER TABLE child PARTITION BY KEY (pk) PARTITIONS 20" +"ALTER TABLE parent PARTITION BY KEY (pk) PARTITIONS 20" "CREATE TABLE parent (pk INT PRIMARY KEY) PARTITION BY KEY (pk) PARTITIONS 20" "CREATE TABLE orphan (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent0 (pk INT PRIMARY KEY) PARTITION BY KEY (pk) PARTITIONS 20" +"ALTER TABLE parent0 RENAME TO parent, ADD COLUMN j INT, ALGORITHM=COPY" +"ALTER TABLE parent0 RENAME TO parent, ADD COLUMN j INT, ALGORITHM=INPLACE" "DROP TABLES orphan, parent0" "CREATE TABLE child (pk INT PRIMARY KEY, fk INT, CONSTRAINT c FOREIGN KEY (fk) REFERENCES parent(pk))" @@ -23198,49 +25613,108 @@ CONSTRAINT c FOREIGN KEY (fk) REFERENCES self(pk))" "ALTER TABLE self DROP FOREIGN KEY c PARTITION BY KEY (pk) PARTITIONS 20" "ALTER TABLE self ADD FOREIGN KEY (fk) REFERENCES self(pk) REMOVE PARTITIONING" "DROP TABLES self" +"CREATE TABLE child (fk INT NOT NULL, CONSTRAINT c FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE SET NULL)" +"CREATE TABLE child (fk INT NOT NULL, CONSTRAINT c FOREIGN KEY (fk) REFERENCES parent(pk) ON UPDATE SET NULL)" "CREATE TABLE child (fk INT NOT NULL)" +"ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE SET NULL" +"ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES parent(pk) ON UPDATE SET NULL" +"CREATE TABLE child (fk INT, PRIMARY KEY(fk), CONSTRAINT c FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE SET NULL)" +"CREATE TABLE child (fk INT, PRIMARY KEY(fk), CONSTRAINT c FOREIGN KEY (fk) REFERENCES parent(pk) ON UPDATE SET NULL)" +"ALTER TABLE child ADD PRIMARY KEY (fk), ADD FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE SET NULL" +"ALTER TABLE child ADD PRIMARY KEY (fk), ADD FOREIGN KEY (fk) REFERENCES parent(pk) ON UPDATE SET NULL" "CREATE TABLE child_one (fk INT, CONSTRAINT c FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE SET NULL)" "CREATE TABLE child_two (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk) ON DELETE SET NULL)" +"ALTER TABLE child_one MODIFY COLUMN fk INT NOT NULL" +"ALTER TABLE child_two CHANGE COLUMN fk fk1 INT NOT NULL" +"ALTER TABLE child_one ADD PRIMARY KEY(fk)" +"ALTER TABLE child_two ADD PRIMARY KEY(fk)" "DROP TABLES child_one, child_two, parent" +"CREATE TABLE child (fk CHAR(10), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE child (fk CHAR(10))" +"CREATE TABLE self (pk INT PRIMARY KEY, fk CHAR(10), FOREIGN KEY (fk) REFERENCES self(pk))" "CREATE TABLE self (pk INT PRIMARY KEY, fk CHAR(10))" "DROP TABLES self, child" +"ALTER TABLE child MODIFY fk CHAR(10)" +"ALTER TABLE parent MODIFY pk CHAR(10)" "CREATE TABLE self (pk INT PRIMARY KEY, fk INT, FOREIGN KEY (fk) REFERENCES self(pk))" +"ALTER TABLE self MODIFY fk CHAR(10)" +"ALTER TABLE self MODIFY pk CHAR(10)" "ALTER TABLE self MODIFY pk CHAR(10), MODIFY fk CHAR(10)" "CREATE TABLE parent (pk1 INT, pk2 INT, PRIMARY KEY (pk1, pk2))" +"CREATE TABLE child (fk1 INT, fk2 CHAR(10), FOREIGN KEY (fk1, fk2) REFERENCES parent(pk1, pk2))" "CREATE TABLE child (fk1 INT, fk2 CHAR(10))" +"ALTER TABLE child ADD FOREIGN KEY (fk1, fk2) REFERENCES parent(pk1, pk2)" "CREATE TABLE child (fk1 INT, fk2 INT, FOREIGN KEY (fk1, fk2) REFERENCES parent(pk1, pk2))" +"ALTER TABLE child MODIFY fk2 CHAR(10)" +"ALTER TABLE parent MODIFY pk2 CHAR(10)" +"CREATE TABLE self (pk1 INT, pk2 INT, fk1 INT, fk2 CHAR(10), PRIMARY KEY (pk1, pk2), +FOREIGN KEY (fk1, fk2) REFERENCES self(pk1, pk2))" "CREATE TABLE self (pk1 INT, pk2 INT, fk1 INT, fk2 CHAR(10), PRIMARY KEY (pk1, pk2))" +"ALTER TABLE self ADD FOREIGN KEY (fk1, fk2) REFERENCES self(pk1, pk2)" "CREATE TABLE self (pk1 INT, pk2 INT, fk1 INT, fk2 INT, PRIMARY KEY (pk1, pk2), FOREIGN KEY (fk1, fk2) REFERENCES self(pk1, pk2))" -"ALTER TABLE parent MODIFY pk INT UNSIGNED" +"ALTER TABLE self MODIFY fk2 CHAR(10)" +"ALTER TABLE self MODIFY pk2 CHAR(10)" +"CREATE TABLE child (fk TINYINT, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk BIGINT, FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE child (fk INT UNSIGNED, FOREIGN KEY (fk) REFERENCES parent(pk))" +"ALTER TABLE parent MODIFY pk INT UNSIGNED" +"ALTER TABLE child MODIFY fk INT" +"CREATE TABLE child (fk BINARY(4), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk VARBINARY(3), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk FLOAT, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk DECIMAL(8,0), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk TIMESTAMP, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk BIT(32), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk DOUBLE PRIMARY KEY)" "CREATE TABLE child (fk DOUBLE, FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE child (fk DOUBLE UNSIGNED, FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk FLOAT PRIMARY KEY)" +"CREATE TABLE child (fk TIME(2), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk DECIMAL(6,2) PRIMARY KEY)" "CREATE TABLE child (fk DECIMAL(6,2), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE child (fk DECIMAL(6,2) UNSIGNED, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk CHAR(4) CHARACTER SET latin1, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk VARCHAR(3) CHARACTER SET latin1, FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk CHAR(10) PRIMARY KEY)" "CREATE TABLE child (fk CHAR(100), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE child (fk VARCHAR(100), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk VARCHAR(10) PRIMARY KEY)" "CREATE TABLE parent (pk VARCHAR(10) CHARACTER SET utf8mb4 PRIMARY KEY)" +"CREATE TABLE child (fk VARCHAR(100) CHARACTER SET latin1, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk VARCHAR(100) COLLATE utf8mb4_bin, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk VARBINARY(40), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk VARBINARY(10) PRIMARY KEY)" "CREATE TABLE child (fk BINARY(100), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk CHAR(4) CHARACTER SET latin1 PRIMARY KEY)" "ALTER TABLE parent MODIFY pk CHAR(1) CHARACTER SET latin1" +"CREATE TABLE child (fk YEAR, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk ENUM('a') CHARACTER SET latin1, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk SET('a') CHARACTER SET latin1, FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk BINARY(4) PRIMARY KEY)" "ALTER TABLE parent MODIFY pk BINARY(1)" +"CREATE TABLE child (fk ENUM('a') CHARACTER SET binary, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk SET('a') CHARACTER SET binary, FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent(pk DATE PRIMARY KEY)" "CREATE TABLE child (fk DATE, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk BINARY(3), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk VARBINARY(2), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk DECIMAL(6,0), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk TIME(0), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk BIT(24), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk TIMESTAMP PRIMARY KEY)" -"CREATE TABLE child (fk TIMESTAMP, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk ENUM('a'), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk SET('a'), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent(pk ENUM('a') PRIMARY KEY)" "CREATE TABLE child (fk ENUM('b','c'), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk BINARY(1), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk VARBINARY(1), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk DECIMAL(2,0), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk TIME, FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk BIT(8), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent(pk SET('a') PRIMARY KEY)" "CREATE TABLE child (fk SET('b','c'), FOREIGN KEY (fk) REFERENCES parent(pk))" +"CREATE TABLE child (fk SET('a1','a2','a3','a4','a5','a6','a7','a8','a9'), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent(pk BIT(32) PRIMARY KEY)" "CREATE TABLE child (fk BIT(10), FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE parent (pk VARCHAR(10) CHARACTER SET latin1 PRIMARY KEY)" @@ -23250,6 +25724,8 @@ FOREIGN KEY (fk) REFERENCES parent(pk))" "ALTER TABLE child MODIFY fk VARCHAR(20) CHARACTER SET utf8mb4" "ALTER TABLE child MODIFY fk VARCHAR(20) CHARACTER SET latin1" "ALTER TABLE parent MODIFY pk VARCHAR(10) CHARACTER SET latin1" +"CREATE TABLE child (fk VARCHAR(20) CHARACTER SET utf8mb4, +FOREIGN KEY (fk) REFERENCES parent(pk))" "CREATE TABLE child (fk VARCHAR(20) CHARACTER SET utf8mb4)" "CREATE TABLE parent0 (pk VARCHAR(10) CHARACTER SET utf8mb4 PRIMARY KEY)" "CREATE TABLE parent (pk VARCHAR(10) CHARACTER SET binary PRIMARY KEY)" @@ -23300,12 +25776,15 @@ END" "GRANT SELECT, DELETE, INSERT, UPDATE on wl8910db.child to user6@localhost" "GRANT SELECT ON wl8910db.* TO user7@localhost" "GRANT DELETE ON wl8910db.parent TO user7@localhost" +"INSERT INTO t2 (fld1, fld2) VALUES (1, 2)" "INSERT IGNORE INTO t2 (fld1, fld2) VALUES (1, 2)" "GRANT SELECT ON t1 TO user1@localhost" "ALTER TABLE t2 ADD CONSTRAINT fk3 FOREIGN KEY (fld2) REFERENCES t3(fld1)" "GRANT SELECT ON t3 TO user1@localhost" "GRANT INSERT (fld1, fld2) ON t2 TO user2@localhost" "GRANT CREATE ROUTINE ON wl8910db.* TO user2@localhost" +"INSERT INTO v1 VALUES (1, 2)" +"INSERT INTO v2 VALUES (1, 2)" "GRANT SELECT ON t1 TO user2@localhost" "GRANT SELECT ON t3 TO user2@localhost" "GRANT CREATE VIEW ON wl8910db.* TO user2@localhost" @@ -23324,6 +25803,9 @@ SELECT * FROM t2" "GRANT INSERT ON v3 TO user3@localhost" "GRANT SELECT ON t1 TO user3@localhost" "GRANT SELECT ON t3 TO user3@localhost" +"CALL p3()" +"INSERT INTO v3 VALUES(4, 5)" +"DELETE FROM parent WHERE id = 1" "DROP TABLE t2, t3, t1, parent, child" "DROP USER user2@localhost" "DROP USER user3@localhost" @@ -23388,6 +25870,7 @@ WHERE TABLE_NAME = 't4' ORDER BY CONSTRAINT_NAME" "INSERT INTO child VALUES (1, 1)" "ALTER TABLE child MODIFY COLUMN b BIGINT, RENAME TO child_renamed, ALGORITHM=COPY" "SHOW CREATE TABLE child_renamed" +"DELETE FROM parent WHERE pk = 1" "DROP TABLE child_renamed" "CREATE TABLE parent (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c CHAR(32))" "CREATE TABLE uncle (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c CHAR(32))" @@ -23415,9 +25898,11 @@ WHERE TABLE_NAME = 't4' ORDER BY CONSTRAINT_NAME" "CREATE TABLE parent (pk INT PRIMARY KEY, a INT, UNIQUE ua(a))" "SELECT constraint_name, unique_constraint_name FROM information_schema.referential_constraints WHERE constraint_schema='test' AND constraint_name='c'" -"CREATE TABLE parent (pk INT PRIMARY KEY, a INT)" +"CREATE TABLE child (fk1 INT, fk2 INT, FOREIGN KEY (fk1, fk2) REFERENCES parent (pk, a))" "CREATE TABLE parent (a CHAR(10), b int, KEY(b), PRIMARY KEY (a(5)))" +"CREATE TABLE child (fk1 int, fk2 CHAR(10), FOREIGN KEY (fk1, fk2) REFERENCES parent (b, a))" "CREATE TABLE parent (a INT, b CHAR(10), c int, KEY(c), PRIMARY KEY (a, b(5)))" +"CREATE TABLE child (fk1 int, fk2 int, FOREIGN KEY (fk1, fk2) REFERENCES parent (c, a))" "CREATE TABLE self1 (pk INT PRIMARY KEY, a INT, fk1 INT, fk2 INT, KEY(a), FOREIGN KEY (fk1, fk2) REFERENCES self1 (a, pk))" "CREATE TABLE self2 (pk INT PRIMARY KEY, b INT, fk1 INT, fk2 INT, @@ -23434,20 +25919,51 @@ FOREIGN KEY (fk1, fk2, fk3) REFERENCES self (c, a, b))" KEY k1(a, pk), UNIQUE k2(a), FOREIGN KEY (fk1, fk2) REFERENCES self (a, pk))" "ALTER TABLE self DROP KEY k1" +"CREATE TABLE self (pk INT PRIMARY KEY, a INT, fk1 INT, fk2 INT, +FOREIGN KEY (fk1, fk2) REFERENCES self (pk, a))" +"CREATE TABLE self (a CHAR(10), b int, fk1 int, fk2 CHAR(10), KEY(b), +PRIMARY KEY (a(5)), FOREIGN KEY (fk1, fk2) REFERENCES self (b, a))" +"CREATE TABLE self (a INT, b CHAR(10), c int, fk1 int, fk2 int, KEY(c), +PRIMARY KEY (a, b(5)), FOREIGN KEY (fk1, fk2) REFERENCES self (c, a))" "CREATE TABLE t1(pk INT PRIMARY KEY)" "CREATE TABLE t3(fk1 INT, fk2 INT, KEY k1(fk1), CONSTRAINT a FOREIGN KEY (fk1) REFERENCES t1(pk), CONSTRAINT b FOREIGN KEY (fk2) REFERENCES t2(pk))" +"ALTER TABLE t3 DROP KEY k1, DROP FOREIGN KEY b, ALGORITHM=COPY" "DROP TABLES t3, t2, t1" "CREATE TABLE child (fk INT, a INT)" "PREPARE stmt1 FROM 'ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES parent (pk)'" "ALTER TABLE child RENAME COLUMN fk TO fkold, RENAME COLUMN a TO fk" "CREATE TABLE child (fk1 INT, b INT, CONSTRAINT c FOREIGN KEY (fk1) REFERENCES parent (pk))" "CREATE TABLE unrelated (a INT)" +"ALTER TABLE child DROP FOREIGN KEY no_such_fk" +"ALTER TABLE child DROP FOREIGN KEY no_such_fk, ALGORITHM=INPLACE" +"ALTER TABLE child DROP FOREIGN KEY no_such_fk, ALGORITHM=COPY" +"ALTER TABLE unrelated DROP FOREIGN KEY c" +"ALTER TABLE unrelated DROP FOREIGN KEY c, ALGORITHM=INPLACE" +"ALTER TABLE unrelated DROP FOREIGN KEY c, ALGORITHM=COPY" +"ALTER TABLE parent DROP FOREIGN KEY c" +"ALTER TABLE parent DROP FOREIGN KEY c, ALGORITHM=INPLACE" +"ALTER TABLE parent DROP FOREIGN KEY c, ALGORITHM=COPY" "DROP TABLES unrelated, child, parent" "CREATE TABLE child (fk1 INT, fk2 INT, a INT, KEY(fk1), KEY(fk2))" "INSERT INTO child VALUES (NULL, NULL, 1), (NULL, NULL, 1)" +"ALTER TABLE child ADD CONSTRAINT f FOREIGN KEY (fk1) REFERENCES parent (pk), +ADD CONSTRAINT f FOREIGN KEY (fk2) REFERENCES parent (pk), +ADD UNIQUE (a)" +"ALTER TABLE child ADD CONSTRAINT f FOREIGN KEY (fk1) REFERENCES parent (pk), +ADD CONSTRAINT f FOREIGN KEY (fk2) REFERENCES parent (pk), +ADD UNIQUE (a), ALGORITHM=COPY" +"ALTER TABLE child ADD CONSTRAINT f FOREIGN KEY (fk1) REFERENCES parent (pk), +ADD CONSTRAINT f FOREIGN KEY (fk2) REFERENCES parent (pk), +ADD UNIQUE (a), ALGORITHM=INPLACE" "ALTER TABLE child ADD CONSTRAINT f FOREIGN KEY (fk1) REFERENCES parent (pk)" +"ALTER TABLE child ADD CONSTRAINT F FOREIGN KEY (fk2) REFERENCES parent (pk), +ADD UNIQUE (a)" +"ALTER TABLE child ADD CONSTRAINT F FOREIGN KEY (fk2) REFERENCES parent (pk), +ADD UNIQUE (a), ALGORITHM=COPY" +"ALTER TABLE child ADD CONSTRAINT F FOREIGN KEY (fk2) REFERENCES parent (pk), +ADD UNIQUE (a), ALGORITHM=INPLACE" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES test . parent (pk))" "ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES test . parent (pk)" "CREATE DATABASE aux" @@ -23462,6 +25978,8 @@ CONSTRAINT b FOREIGN KEY (fk2) REFERENCES t2(pk))" "/*! ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES parent(pk) */" "CREATE TABLE t (a INT KEY, b INT NOT NULL UNIQUE KEY, CONSTRAINT FOREIGN KEY (a) REFERENCES t(b))" +"ALTER TABLE t ADD COLUMN a INT GENERATED ALWAYS AS (1) FIRST" +"ALTER TABLE t ADD COLUMN b INT GENERATED ALWAYS AS (1) FIRST" "SET SESSION FOREIGN_KEY_CHECKS=0" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT, FOREIGN KEY(f2) REFERENCES t2(f1))" "ALTER TABLE t1 RENAME TO t2, ALGORITHM=INPLACE" @@ -23477,8 +25995,14 @@ INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE table_name='t2'" "RENAME TABLE db1.t1 TO db2.t2" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT, FOREIGN KEY(f2) REFERENCES t2(f3))" "ALTER TABLE t1 ADD f3 INT UNIQUE" +"ALTER TABLE t1 RENAME TO t2, DROP COLUMN f3, ALGORITHM=COPY" +"ALTER TABLE t1 RENAME TO t2, DROP COLUMN f3, ALGORITHM=INPLACE" +"ALTER TABLE t1 RENAME TO t2, DROP COLUMN f3, ALGORITHM=INSTANT" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT, f3 INT, KEY (f3), FOREIGN KEY(f2) REFERENCES t2(f3))" +"ALTER TABLE t1 RENAME TO t2, CHANGE f3 f4 INT, ALGORITHM=COPY" +"ALTER TABLE t1 RENAME TO t2, CHANGE f3 f4 INT, ALGORITHM=INSTANT" +"ALTER TABLE t1 RENAME TO t2, CHANGE f3 f4 INT, ALGORITHM=INPLACE" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT, F3 INT AS (f1+1) VIRTUAL, FOREIGN KEY(f2) REFERENCES t2(f3))" "SET restrict_fk_on_non_standard_key = OFF" @@ -23488,28 +26012,59 @@ FOREIGN KEY(f2) REFERENCES t2(f3))" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT, f3 CHAR(10), KEY(f3), FOREIGN KEY(f2) REFERENCES t2(f3))" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT, KEY(f2))" +"CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT, KEY(f2), +FOREIGN KEY(f2) REFERENCES t1(f2))" "CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT, KEY(f2))" +"ALTER TABLE t2 ADD CONSTRAINT fk_t2_f2 FOREIGN KEY(f2) REFERENCES t1(f2)" "CREATE TABLE t1 (f1 INT, f2 INT, f3 INT, PRIMARY KEY(f1, f2, f3))" +"CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT, f3 INT, +FOREIGN KEY(f1, f2) REFERENCES t1(f1, f2))" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT, f3 INT, UNIQUE KEY(f2, f3))" -"CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT, f3 INT)" "CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT, f3 INT, FOREIGN KEY(f2) REFERENCES t1(f2))" +"CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT, f3 INT)" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT, f3 INT, KEY(f2, f3))" "CREATE TABLE t1 (f1 INT, f2 VARCHAR(100), UNIQUE KEY(f2(10)))" +"CREATE TABLE t2 (f1 INT, f2 VARCHAR(100), +FOREIGN KEY(f2) REFERENCES t1(f2))" "CREATE TABLE t1 (f1 INT, f2 VARCHAR(100), UNIQUE KEY(f1, f2(10)))" +"CREATE TABLE t2 (f1 INT, f2 VARCHAR(10), +FOREIGN KEY(f1) REFERENCES t1(f1))" +"CREATE TABLE t2 (f1 INT, f2 VARCHAR(10), +FOREIGN KEY(f2) REFERENCES t1(f2))" +"CREATE TABLE t2 (f1 INT, f2 VARCHAR(10), +FOREIGN KEY(f1, f2) REFERENCES t1(f1, f2))" "CREATE TABLE t1 (f1 INT, f2 VARCHAR(100), f3 VARCHAR(100), UNIQUE KEY(f1, f2(10)), UNIQUE KEY(f1, f2, f3(10)))" -"CREATE TABLE t2 (f1 INT, f2 VARCHAR(10), +"CREATE TABLE t2 (f1 INT, f2 VARCHAR(100), f3 VARCHAR(10), +FOREIGN KEY(f1, f2, f3) REFERENCES t1(f1, f2, f3))" +"CREATE TABLE t2 (f1 INT, f2 VARCHAR(100), f3 VARCHAR(100), FOREIGN KEY(f1, f2) REFERENCES t1(f1, f2))" +"CREATE TABLE t3(f1 INT, f2 VARCHAR(10), f3 VARCHAR(10), +FOREIGN KEY(f1, f2, f3) REFERENCES t1(f1, f2, f3))" "CREATE TABLE ft1 (f1 VARCHAR(100), UNIQUE INDEX idx1 ((SUBSTRING(f1, 1, 10))) )" +"CREATE TABLE ft2 (f1 VARCHAR(100), +FOREIGN KEY(f1) REFERENCES ft1(f1))" "drop table ft1" "CREATE TABLE t1 (f1 VARCHAR(10), f2 VARCHAR(10), f3 VARCHAR(30) AS (CONCAT(f1, f2)) VIRTUAL, UNIQUE INDEX(f3))" +"CREATE TABLE t2 (f1 VARCHAR(100), +FOREIGN KEY(f1) REFERENCES t1(f3))" +"CREATE TABLE self_ref(pk INT PRIMARY KEY, i INT, j INT, INDEX ix(i), +FOREIGN KEY (j) REFERENCES self_ref(i))" +"CREATE TABLE self_ref(pk INT, i INT, j INT, k INT, key(pk), +FOREIGN KEY (j,k) REFERENCES self_ref(pk,i))" +"CREATE TABLE self_ref(pk INT, i INT, j INT, k INT, UNIQUE KEY(pk, i), +FOREIGN KEY (j) REFERENCES self_ref(pk))" +"CREATE TABLE self_ref(f1 VARCHAR(100), f2 VARCHAR(100), +PRIMARY KEY(f1(10)), +FOREIGN KEY (f2) REFERENCES self_ref(f1))" "SET FOREIGN_KEY_CHECKS=OFF" "CREATE TABLE t1 (pk INT PRIMARY KEY, b INT, FOREIGN KEY (b) REFERENCES t2(c))" +"CREATE TABLE t2 (pk1 INT PRIMARY KEY, c INT)" "SET FOREIGN_KEY_CHECKS = DEFAULT" "CREATE TABLE t2(a INT PRIMARY KEY)" "CREATE TABLE t3(a INT PRIMARY KEY, b INT, c INT)" @@ -23520,6 +26075,8 @@ WHERE fk.table_id = t.id AND t.name = 't3'" "ALTER TABLE t3 DROP FOREIGN KEY t3_ibfk_1" "DROP TABLE t3, t2, t1" "CREATE TABLE name567890123456789012345678901234567890123456789012345678901234(a INT PRIMARY KEY, b INT)" +"ALTER TABLE name567890123456789012345678901234567890123456789012345678901234 +ADD FOREIGN KEY(b) REFERENCES t1(a)" "DROP TABLE name567890123456789012345678901234567890123456789012345678901234, t1" "CREATE TABLE parent(pk INTEGER PRIMARY KEY, j INTEGER, UNIQUE KEY my_key (j))" @@ -23553,14 +26110,18 @@ UNIQUE KEY my_key(j)) AS SELECT * FROM source" UNIQUE KEY parent_key(j))" "CREATE TABLE child(pk INTEGER PRIMARY KEY, k INTEGER, fk INTEGER, FOREIGN KEY (fk) REFERENCES parent(j), UNIQUE KEY child_key(k))" +"INSERT INTO child VALUES (1, 2, 3)" "CREATE TABLE grandchild(pk INTEGER PRIMARY KEY, fk INTEGER, FOREIGN KEY (fk) REFERENCES child(k))" +"INSERT INTO grandchild VALUES (1, 2)" "CREATE TABLE orphan_grandchild(pk INTEGER PRIMARY KEY, fk INTEGER, FOREIGN KEY (fk) REFERENCES siebling(k))" "SELECT name, unique_constraint_name, referenced_table_schema, referenced_table_name FROM mysql.foreign_keys WHERE referenced_table_schema LIKE 'test'" "RENAME TABLE child TO siebling" +"INSERT INTO siebling VALUES (1, 2, 3)" +"INSERT INTO orphan_grandchild VALUES (1, 2)" "DROP TABLE grandchild" "DROP TABLE orphan_grandchild" "DROP TABLE siebling" @@ -23658,7 +26219,22 @@ FOREIGN KEY (i2, a2) REFERENCES self (i, a))" "DROP TABLE non_atomic_t2" "CREATE TABLE non_atomic_t1(pk INTEGER) ENGINE= InnoDB" "CREATE TABLE non_atomic_t2(pk INTEGER) ENGINE= InnoDB" +"RENAME TABLE child TO siebling, +non_atomic_t1 TO non_atomic_t3, +non_atomic_t3 TO non_atomic_t2" "DROP TABLE non_atomic_t1" +"ALTER TABLE t2 ADD FOREIGN KEY (fk) REFERENCES t1(pk), ENGINE=InnoDB" +"create table t1 ( +a int not null references t2, +b int not null references t2 (c), +primary key (a,b), +foreign key (a) references t3 match full, +foreign key (a) references t3 match partial, +foreign key (a,b) references t3 (c,d) on delete no action +on update no action, +foreign key (a,b) references t3 (c,d) on update cascade, +foreign key (a,b) references t3 (c,d) on delete set default, +foreign key (a,b) references t3 (c,d) on update set null) engine=myisam" "create table t1 ( a int not null, b int not null references t2 (c), @@ -23671,26 +26247,30 @@ foreign key (a,b) references t3 (c,d) on update set null) engine=myisam" "create index a on t1 (a)" "create unique index b on t1 (a,b)" "CREATE TABLE bad_parent (pk INT PRIMARY KEY) ENGINE=MyISAM" +"CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES bad_parent(pk)) ENGINE=InnoDB" "CREATE TABLE child (fk INT) ENGINE=InnoDB" "ALTER TABLE child ADD FOREIGN KEY (fk) REFERENCES bad_parent(pk)" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES bad_parent(pk))" "DROP TABLE bad_parent" "CREATE TABLE parent (pk INT PRIMARY KEY) ENGINE=InnoDB" "CREATE TABLE child (fk INT, FOREIGN KEY (fk) REFERENCES parent(pk)) ENGINE=InnoDB" +"ALTER TABLE child ENGINE=MyISAM" +"ALTER TABLE parent ENGINE=MyISAM" "ALTER TABLE bad_parent DROP COLUMN pk, ADD COLUMN i INT" "CREATE TABLE child (fk CHAR(10), FOREIGN KEY (fk) REFERENCES parent(pk)) ENGINE=InnoDB" "CREATE TABLE parent0 (pk INT PRIMARY KEY) ENGINE=InnoDB" +"ALTER TABLE parent0 RENAME TO parent, ADD COLUMN j INT" "CREATE TABLE child (fk INT, FOREIGN KEY(fk) REFERENCES parent (pk)) ENGINE=InnoDB" "CREATE TABLE parent (pk INT) ENGINE=MyISAM" +"ALTER TABLE parent ENGINE=InnoDB" "CREATE TABLE parent (a INT) ENGINE=MyISAM" "CREATE TABLE parent (pk BIGINT PRIMARY KEY) ENGINE=MyISAM" "CREATE TABLE parent0 (pk INT) ENGINE=MyISAM" +"ALTER TABLE parent0 ENGINE=InnoDB, RENAME TO parent" "DROP TABLE parent0" +"ALTER TABLE parent ENGINE=InnoDB, RENAME TO parent0" "CREATE TABLE parent (pk INT, UNIQUE u(pk)) ENGINE=MyISAM" -"ALTER TABLE parent ENGINE=InnoDB" "CREATE TABLE parent (pk INT PRIMARY KEY) ENGINE=MyISAM" -"ALTER TABLE parent ENGINE=InnoDB, RENAME TO parent0" -"RENAME TABLE parent0 TO parent" "LOCK TABLES child READ, parent WRITE" "CREATE TABLE myisam_table (fk INT) ENGINE=MyISAM" "ALTER TABLE myisam_table DROP FOREIGN KEY no_such_fk" @@ -23713,6 +26293,7 @@ foreign key (a,b) references t3 (c,d) on update set null) engine=myisam" "select * from t1 where MATCH(a,b) AGAINST (""indexes collections"" WITH QUERY EXPANSION)" "select * from t1 where MATCH(a,b) AGAINST (""indexes"" IN NATURAL LANGUAGE MODE)" "select * from t1 where MATCH(a,b) AGAINST (""indexes"" IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION)" +"select * from t1 where MATCH(a,b) AGAINST (""indexes"" IN BOOLEAN MODE WITH QUERY EXPANSION)",,syntax_error "explain select * from t1 where MATCH(a,b) AGAINST (""collections"")>0" "explain select * from t1 where MATCH(a,b) AGAINST (""collections"")>1" "explain select * from t1 where MATCH(a,b) AGAINST (""collections"")>=0" @@ -23788,12 +26369,19 @@ match(ttxt.inhalt) against ('foobar')" "select * from t2 where MATCH inhalt AGAINST (NULL)" "select * from t2 where MATCH inhalt AGAINST ('foobar')" "select * from t2 having MATCH inhalt AGAINST ('foobar')" +"CREATE TABLE t3 (t int(11),i text,fulltext tix (t,i))" +"CREATE TABLE t3 (t int(11),i text, +j varchar(200) CHARACTER SET latin2, +fulltext tix (i,j))" "CREATE TABLE t3 ( ticket int(11), inhalt text, KEY tig (ticket), fulltext index tix (inhalt) )" +"select * from t2 where MATCH inhalt AGAINST (t2.inhalt)" +"select * from t2 where MATCH ticket AGAINST ('foobar')" +"select * from t2,t3 where MATCH (t2.inhalt,t3.inhalt) AGAINST ('foobar')" "CREATE TABLE t1 ( id int(11) auto_increment, title varchar(100) default '', @@ -23872,6 +26460,7 @@ KEY ind5 (title) "PREPARE stmt from ""SELECT a, FORMAT(MATCH(a) AGAINST('test1 test'),6) FROM t1 WHERE MATCH(a) AGAINST('test1 test')""" "CREATE TABLE t1 (a VARCHAR(255), FULLTEXT(a))" "SELECT * FROM t1 IGNORE INDEX(a) WHERE MATCH(a) AGAINST('test')" +"SELECT * FROM t1 WHERE MATCH(a) AGAINST('test')" "CREATE TABLE t1(a TEXT)" "INSERT INTO t1 VALUES(' aaaaa aaaa')" "SELECT * FROM t1 WHERE MATCH(a) AGAINST ('""aaaa""' IN BOOLEAN MODE)" @@ -23902,6 +26491,7 @@ WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1" "INSERT INTO t1 VALUES('aaa15')" "SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE) FROM t1" "SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE) FROM t1" +"SELECT GROUP_CONCAT(a) AS st FROM t1 HAVING MATCH(st) AGAINST('test' IN BOOLEAN MODE)" "CREATE TABLE t1(a VARCHAR(64), FULLTEXT(a))" "INSERT INTO t1 VALUES('awrd bwrd cwrd'),('awrd bwrd cwrd'),('awrd bwrd cwrd')" "SELECT * FROM t1 WHERE MATCH(a) AGAINST('+awrd bwrd* +cwrd*' IN BOOLEAN MODE)" @@ -23909,7 +26499,11 @@ WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1" "PREPARE s FROM ""SELECT MATCH (col) AGAINST('findme') FROM t1 ORDER BY MATCH (col) AGAINST('findme')"" " +"CREATE TABLE t1(col1 TEXT, +FULLTEXT INDEX USING BTREE (col1))",,syntax_error "CREATE TABLE t2(col1 TEXT)" +"CREATE FULLTEXT INDEX USING BTREE ON t2(col)",,syntax_error +"ALTER TABLE t2 ADD FULLTEXT INDEX USING BTREE (col1)",,syntax_error "CREATE TABLE t2 (a int, b2 char(10), FULLTEXT KEY b2 (b2))" "INSERT INTO t2 VALUES (1,'Scargill')" "CREATE TABLE t3 (a int, b int)" @@ -24050,6 +26644,7 @@ FULLTEXT KEY (a) FULLTEXT(a))" "INSERT INTO t1 VALUES(0xA3C2)" "CREATE TABLE t1 (a TEXT CHARSET LATIN1, FULLTEXT(a)) ENGINE=INNODB" +"SELECT (SELECT 1 FROM (SELECT 1) foo WHERE MATCH(`a`) AGAINST ('')) FROM t1" "CREATE TABLE t1 ( id int(10) unsigned NOT NULL auto_increment, q varchar(255) default NULL, @@ -24231,6 +26826,60 @@ PRIMARY KEY (id), KEY forum (forum), FULLTEXT KEY betreff (betreff) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 AUTO_INCREMENT=996 " +"select a.text, b.id, b.betreff +from +t2 a inner join t3 b on a.id = b.forum inner join +t1 c on b.id = c.thread +where +match(b.betreff) against ('+abc' in boolean mode) +group by a.text, b.id, b.betreff +union +select a.text, b.id, b.betreff +from +t2 a inner join t3 b on a.id = b.forum inner join +t1 c on b.id = c.thread +where +match(c.beitrag) against ('+abc' in boolean mode) +group by +a.text, b.id, b.betreff +order by +match(b.betreff) against ('+abc' in boolean mode) desc" +"select a.text, b.id, b.betreff +from +t2 a inner join t3 b on a.id = b.forum inner join +t1 c on b.id = c.thread +where +match(b.betreff) against ('+abc' in boolean mode) +union +select a.text, b.id, b.betreff +from +t2 a inner join t3 b on a.id = b.forum inner join +t1 c on b.id = c.thread +where +match(c.beitrag) against ('+abc' in boolean mode) +order by +match(b.betreff) against ('+abc' in boolean mode) desc" +"select a.text, b.id, b.betreff +from +t2 a inner join t3 b on a.id = b.forum inner join +t1 c on b.id = c.thread +where +match(b.betreff) against ('+abc' in boolean mode) +union +select a.text, b.id, b.betreff +from +t2 a inner join t3 b on a.id = b.forum inner join +t1 c on b.id = c.thread +where +match(c.beitrag) against ('+abc' in boolean mode) +order by +match(betreff) against ('+abc' in boolean mode) desc" +"(select b.id, b.betreff from t3 b) union +(select b.id, b.betreff from t3 b) +order by match(betreff) against ('+abc' in boolean mode) desc" +"(select b.id, b.betreff from t3 b) union +(select b.id, b.betreff from t3 b) +order by match(betreff) against ('+abc') desc" "select distinct b.id, b.betreff from t3 b order by match(betreff) against ('+abc' in boolean mode) desc" "select b.id, b.betreff from t3 b group by b.id+1 @@ -24264,9 +26913,12 @@ description='ddd', name='nam' where gnr=2" "insert t1 values ('bbbbbb cccccc')" "insert t1 values ('aaaaaa cccccc')" "select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode)" +"set ft_boolean_syntax=' +-><()~*:""""&|'" "set global ft_boolean_syntax=' +-><()~*:""""&|'" "set global ft_boolean_syntax='@ -><()~*:""""&|'" "select * from t1 where match b against ('+aaaaaa @bbbbbb' in boolean mode)" +"set global ft_boolean_syntax='@ -><()~*:""""@|'" +"set global ft_boolean_syntax='+ -><()~*:""""@!|'" "SELECT @@block_encryption_mode" "SELECT TO_BASE64(AES_ENCRYPT('a', 'b'))" "SELECT LENGTH(AES_ENCRYPT('a', 'b'))" @@ -24311,6 +26963,8 @@ description='ddd', name='nam' where gnr=2" "SELECT TO_BASE64(AES_ENCRYPT('a', 'a', RANDOM_BYTES(16)))" "SELECT LENGTH(RANDOM_BYTES(1))" "SELECT CHARSET(RANDOM_BYTES(1))" +"SELECT RANDOM_BYTES(1000000000000)" +"SELECT LENGTH(RANDOM_BYTES(0))" "SELECT CHARSET(AES_DECRYPT(AES_ENCRYPT('a', 'a'), 'a'))" "SELECT LENGTH(AES_DECRYPT(AES_ENCRYPT('a', 'a'), 'a'))" "SELECT AES_DECRYPT(AES_ENCRYPT('a','a'), 'a') = 'a'" @@ -24340,7 +26994,11 @@ description='ddd', name='nam' where gnr=2" "SELECT COUNT(*) FROM aes_ecb WHERE a = AES_DECRYPT(b128, 'b')" "SET SESSION block_encryption_mode=DEFAULT" "DROP TABLE aes_ecb" +"SELECT RANDOM_BYTES(2147483647 - 9)" +"SET SESSION block_encryption_mode='aes-128-cfb1'" "SET SESSION block_encryption_mode=default" +"SET SESSION block_encryption_mode='aes-128-cfb128'" +"SET SESSION block_encryption_mode='aes-128-cfb8'" "SELECT TO_BASE64(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'))" "SELECT LENGTH(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'))" "SELECT CHARSET(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'))" @@ -24353,6 +27011,7 @@ description='ddd', name='nam' where gnr=2" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'), 'my_key_string', '', 'hkdf')" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 10001), 'my_key_string', '', 'hkdf', 10001)" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 10001, 2000), 'my_key_string', '', 'hkdf', 10001, 2000)" +"select aes_encrypt(""foo"",repeat(""x"",16),NULL,'hKdF')" "SET @IV=REPEAT('a', 16)" "SELECT @@session.block_encryption_mode INTO @save_block_encryption_mode" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'hkdf'), 'my_key_string', @IV, 'hkdf')" @@ -24372,8 +27031,14 @@ description='ddd', name='nam' where gnr=2" "SELECT AES_ENCRYPT('my_text', repeat(""x"",32), '', 'pbkdf2_hmac') = AES_ENCRYPT('my_text', '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', '', 'pbkdf2_hmac')" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac', 4000, '10001'), 'my_key_string', '', 'pbkdf2_hmac',4000, '10001')" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac', 4000, 10001), 'my_key_string', '', 'pbkdf2_hmac',4000, 10001)" +"select AES_ENCRYPT('my_text','my_key_string', '', 'invalid')" "select AES_ENCRYPT('my_text', repeat(""x"",32))" "select AES_ENCRYPT('my_text', 'my_key')" +"select AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac', 'salt', '100')" +"select AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac', 'salt', 'aa')" +"select aes_encrypt(""foo"",repeat(""x"",16),NULL,repeat(""1"",10000000000))" +"select aes_encrypt(""foo"",repeat(""x"",16),NULL,repeat(""1"",300))" +"select aes_encrypt(""foo"",repeat(""x"",16),NULL,'pbkdf2_HMac')" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac'), 'my_key_string', @IV, 'pbkdf2_hmac')" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac', 'salt'), 'my_key_string', @IV, 'pbkdf2_hmac', 'salt')" "SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac', 'salt', '10001'), 'my_key_string', @IV, 'pbkdf2_hmac', 'salt', '10001')" @@ -24393,6 +27058,8 @@ description='ddd', name='nam' where gnr=2" "select LENGTH(RANDOM_BYTES(1024))=1024" "SET @KEYS=RANDOM_BYTES(1)" "SET @KEYS=RANDOM_BYTES(1024)" +"select RANDOM_BYTES(0)" +"select RANDOM_BYTES(1025)" "SET @IV='abcdefghijklmnophelloworldworldisgreat'" "SET @IV1='abcdefghijklmnopqrstuvwxyz'" "SET @KEYS='helloworld'" @@ -24412,14 +27079,20 @@ description='ddd', name='nam' where gnr=2" "SELECT COALESCE (AES_DECRYPT(f1, @KEYS, @IV)=@ENCSTR,0) FROM t1" "SET @@session.block_encryption_mode = 'aes-192-cbc'" "SET @@session.block_encryption_mode = DEFAULT" +"SET SESSION block_encryption_mode='aes-128-ofb'" "SET time_zone = '+01:00'" "SELECT cast(TIMESTAMP'2019-10-10 10:11:12' AT TIME ZONE 'UTC' AS DATETIME)" "SELECT cast(TIMESTAMP'2019-10-10 10:11:12' AT TIME ZONE '+00:00' AS DATETIME)" "SELECT cast(TIMESTAMP'2019-10-10 10:11:12+00:00' AT TIME ZONE '+00:00' AS DATETIME)" +"SELECT cast( TIME'10:10' AT TIME ZONE 'UTC' AS DATETIME )" +"SELECT cast( '2019-10-10' AT TIME ZONE 'UTC' AS DATETIME )" +"SELECT cast( 123 AT TIME ZONE 'UTC' AS DATETIME )" "CREATE TABLE t1 ( a TIMESTAMP, b DATETIME )" "INSERT INTO t1 VALUES ( '2019-10-10 10:11:12+00:00', '2019-10-10 10:11:12+00:00' )" "SELECT cast( a AT TIME ZONE '+00:00' AS DATETIME ) FROM t1" +"SELECT cast( b AT TIME ZONE '+00:00' AS DATETIME ) FROM t1" "SET time_zone = '+12:34'" +"SELECT cast( '2019-10-10 10:11' AT TIME ZONE 'UTC' AS DATETIME )" "SET time_zone = DEFAULT" "RENAME TABLE mysql.time_zone TO time_zone_backup" "CREATE TABLE t1 ( a TIMESTAMP )" @@ -24452,6 +27125,12 @@ HEX(0x19c9bbcce9e0a88f5212572b0c5b9e6d0 & _binary 0x13c19e5cfdf03b19518cbe3d65fa "SELECT HEX(vbin1 << 3), HEX(vbin2 << 3) FROM t WHERE id=8" "SELECT HEX(vbin1 >> 3), HEX(vbin2 >> 3) FROM t WHERE id=8" "SELECT HEX(~vbin1), HEX(~vbin2) FROM t WHERE id=8" +"SELECT HEX(vbin1 & vbin2) FROM t WHERE id=7" +"SELECT HEX(vbin1 | vbin2) FROM t WHERE id=7" +"SELECT HEX(vbin1 ^ vbin2) FROM t WHERE id=7" +"SELECT HEX(vbin1 & vbin2) FROM t WHERE id=8" +"SELECT HEX(vbin1 | vbin2) FROM t WHERE id=8" +"SELECT HEX(vbin1 ^ vbin2) FROM t WHERE id=8" "CREATE TABLE t0(vbin VARBINARY(6), bin BINARY(6))" "CREATE TABLE t1 charset utf8mb4 AS SELECT vbin & vbin, vbin & bin, bin & vbin, bin & bin FROM t0" @@ -24627,6 +27306,7 @@ st_geomfromtext('point(1 1)'), "SELECT _mtx | 2147483647 FROM at" "SELECT _lbb | 2147483647 FROM at" "SELECT _ltx | 2147483647 FROM at" +"SELECT _pnt | 2147483647 FROM at" "SELECT _dat | 2147483647 FROM at" "SELECT _dtt | 2147483647 FROM at" "SELECT _smp | 2147483647 FROM at" @@ -24661,6 +27341,7 @@ st_geomfromtext('point(1 1)'), "SELECT _mtx & 2147483647 FROM at" "SELECT _lbb & 2147483647 FROM at" "SELECT _ltx & 2147483647 FROM at" +"SELECT _pnt & 2147483647 FROM at" "SELECT _dat & 2147483647 FROM at" "SELECT _dtt & 2147483647 FROM at" "SELECT _smp & 2147483647 FROM at" @@ -24695,6 +27376,7 @@ st_geomfromtext('point(1 1)'), "SELECT _mtx ^ 2147483647 FROM at" "SELECT _lbb ^ 2147483647 FROM at" "SELECT _ltx ^ 2147483647 FROM at" +"SELECT _pnt ^ 2147483647 FROM at" "SELECT _dat ^ 2147483647 FROM at" "SELECT _dtt ^ 2147483647 FROM at" "SELECT _smp ^ 2147483647 FROM at" @@ -24720,8 +27402,11 @@ st_geomfromtext('point(1 1)'), "SELECT _chr | x'cafebabe' FROM at" "SELECT _vch | x'cafebabe' FROM at" "SELECT hex(_bin | x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _bin | x'cafebabe' FROM at" "SELECT hex(_vbn | x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _vbn | x'cafebabe' FROM at" "SELECT hex(_tbl | x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _tbl | x'cafebabe' FROM at" "SELECT _ttx | x'cafebabe' FROM at" "SELECT hex(_blb | x'cafebabe') FROM at" "SELECT _txt | x'cafebabe' FROM at" @@ -24729,6 +27414,7 @@ st_geomfromtext('point(1 1)'), "SELECT _mtx | x'cafebabe' FROM at" "SELECT hex(_lbb | x'cafebabe') FROM at" "SELECT _ltx | x'cafebabe' FROM at" +"SELECT _pnt | x'cafebabe' FROM at" "SELECT _dat | x'cafebabe' FROM at" "SELECT _dtt | x'cafebabe' FROM at" "SELECT _smp | x'cafebabe' FROM at" @@ -24754,8 +27440,11 @@ st_geomfromtext('point(1 1)'), "SELECT _chr & x'cafebabe' FROM at" "SELECT _vch & x'cafebabe' FROM at" "SELECT hex(_bin & x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _bin & x'cafebabe' FROM at" "SELECT hex(_vbn & x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _vbn & x'cafebabe' FROM at" "SELECT hex(_tbl & x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _tbl & x'cafebabe' FROM at" "SELECT _ttx & x'cafebabe' FROM at" "SELECT hex(_blb & x'cafebabe') FROM at" "SELECT _txt & x'cafebabe' FROM at" @@ -24763,6 +27452,7 @@ st_geomfromtext('point(1 1)'), "SELECT _mtx & x'cafebabe' FROM at" "SELECT hex(_lbb & x'cafebabe') FROM at" "SELECT _ltx & x'cafebabe' FROM at" +"SELECT _pnt & x'cafebabe' FROM at" "SELECT _dat & x'cafebabe' FROM at" "SELECT _dtt & x'cafebabe' FROM at" "SELECT _smp & x'cafebabe' FROM at" @@ -24788,8 +27478,11 @@ st_geomfromtext('point(1 1)'), "SELECT _chr ^ x'cafebabe' FROM at" "SELECT _vch ^ x'cafebabe' FROM at" "SELECT hex(_bin ^ x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _bin ^ x'cafebabe' FROM at" "SELECT hex(_vbn ^ x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _vbn ^ x'cafebabe' FROM at" "SELECT hex(_tbl ^ x'CAFEBABE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CAFE1111CAFE1111') FROM at" +"SELECT _tbl ^ x'cafebabe' FROM at" "SELECT _ttx ^ x'cafebabe' FROM at" "SELECT hex(_blb ^ x'cafebabe') FROM at" "SELECT _txt ^ x'cafebabe' FROM at" @@ -24797,6 +27490,7 @@ st_geomfromtext('point(1 1)'), "SELECT _mtx ^ x'cafebabe' FROM at" "SELECT hex(_lbb ^ x'cafebabe') FROM at" "SELECT _ltx ^ x'cafebabe' FROM at" +"SELECT _pnt ^ x'cafebabe' FROM at" "SELECT _dat ^ x'cafebabe' FROM at" "SELECT _dtt ^ x'cafebabe' FROM at" "SELECT _smp ^ x'cafebabe' FROM at" @@ -24837,9 +27531,13 @@ st_geomfromtext('point(1 1)'), "PREPARE s1 FROM ""SELECT group_id, HEX(BIT_AND(a)) FROM t GROUP BY group_id""" "PREPARE s2 FROM ""SELECT group_id, HEX(BIT_OR(a)) FROM t GROUP BY group_id""" "PREPARE s3 FROM ""SELECT group_id, HEX(BIT_XOR(a)) FROM t GROUP BY group_id""" +"EXECUTE s3" "PREPARE s4 FROM ""SELECT HEX(BIT_AND(a)) FROM t""" +"EXECUTE s4" "PREPARE s5 FROM ""SELECT HEX(BIT_OR(a)) FROM t""" +"EXECUTE s5" "PREPARE s6 FROM ""SELECT HEX(BIT_XOR(a)) FROM t""" +"EXECUTE s6" "INSERT INTO t VALUES(1, 0xFF00), (1, 0xFF00F0F0)" "SELECT HEX(0xABCDEF & 0x123456 & 0x789123), @@ -24970,6 +27668,7 @@ GROUP BY group_id" "SELECT BIT_COUNT(@a)" "SELECT BIT_COUNT(_binary 0x221040808040100200200100)" "CREATE TABLE t(b BLOB)" +"SELECT BIT_COUNT(BIT_AND(b)) FROM t GROUP BY b" "SELECT BIT_COUNT(BIT_AND(CAST(b AS BINARY(500)))) FROM t GROUP BY b" "SELECT BIT_COUNT(BIT_AND(SUBSTRING(b,1,500))) FROM t GROUP BY b" "INSERT INTO t VALUES(REPEAT(x'0a',1000))" @@ -24979,16 +27678,20 @@ GROUP BY group_id" "DROP TABLE r" "CREATE TABLE t (gid int, a varbinary(514))" "INSERT INTO t VALUES(1, REPEAT('2', 257)), (1, REPEAT('1', 257))" +"SELECT HEX(BIT_OR(a)) FROM t GROUP BY gid" "CREATE TABLE t (gid int, a varbinary(511))" "INSERT INTO t VALUES(1, REPEAT('2', 255)), (1, REPEAT('1', 255))" -"SELECT HEX(BIT_OR(a)) FROM t GROUP BY gid" "CREATE TABLE t (gid int, a varbinary(65500), b blob)" "INSERT INTO t VALUES(1, REPEAT('2', 32750), REPEAT('1', 32750))" "SELECT BIT_COUNT(a & b) FROM t " "CREATE TABLE t(b LONGBLOB)" +"SELECT concat(BIT_COUNT(BIT_AND(b))) FROM t GROUP BY b" +"SELECT concat("""" , BIT_COUNT(BIT_AND(b))) FROM t GROUP BY b" "CREATE TABLE t(id int, a varbinary(10))" "insert into t values(1,''), (1,NULL), (2,NULL), (2, ''), (3, ''), (3, 'x'), (4, 'x'), (4, '')" +"SELECT id, bit_or(a) FROM t where id=3 GROUP BY id" +"SELECT id, bit_or(a) FROM t where id=4 GROUP BY id" "SELECT id, bit_or(a) FROM t where id in (1,2) GROUP BY id" "CREATE TABLE u(a VARBINARY(18), b VARBINARY(18), c VARBINARY(18))" "INSERT INTO u VALUES(0x6bc7cecf8b98558d7aa6048d0ebcf9fe, 0x7bb1512989ab38a2e91a9b17a268be16, 0xdb502fb16fded188fef1ea604820eb41)" @@ -25019,8 +27722,14 @@ a BINARY(2) NOT NULL, b BINARY(1) NOT NULL ) engine=innodb" "INSERT INTO t VALUES('1',''),('','')" +"SELECT SQL_BIG_RESULT DISTINCT a&b FROM t" "CREATE TABLE t (a BLOB NOT NULL) ENGINE=INNODB" "INSERT INTO t values(0xfefefefefefe)" +"SELECT bit_count(a & 0x2438) FROM t" +"SELECT 1 FROM t WHERE ~reverse(a & 0x111111)" +"SELECT 1 FROM t WHERE insert(a & 0x111111,'','','')" +"SELECT 1 FROM t WHERE rtrim(a & 0x111111)" +"SELECT (SELECT a & 0xff FROM t)" "SELECT bit_count(a & NULL) FROM t" "SELECT 1 FROM t WHERE ~reverse(a & NULL)" "SELECT 1 FROM t WHERE insert(a & NULL,'','','')" @@ -25159,8 +27868,6 @@ dt2 DATETIME(6))" "SELECT UNCOMPRESS(c1), UNCOMPRESSED_LENGTH(c1) FROM t1" "EXPLAIN SELECT * FROM (SELECT UNCOMPRESSED_LENGTH(c1) FROM t1) AS s" "SELECT UNCOMPRESS( CAST( 0 AS BINARY(5) ) )" -"DROP PROCEDURE IF EXISTS p1" -"DROP PROCEDURE IF EXISTS p1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 ( number INT NOT NULL, alpha CHAR(6) NOT NULL )" "INSERT INTO t1 VALUES (1413006,'idlfmv'), (1413065,'smpsfz'),(1413127,'sljrhx'),(1413304,'qerfnd')" @@ -25225,10 +27932,10 @@ SET v1= 100; SET @s = CONCAT('########################################', 40 , v1); SELECT @s; END;" -"insert into t1 values (date_add(NULL, INTERVAL 1 DAY))" -"insert into t1 values (date_add('2000-01-04', INTERVAL NULL DAY))" "insert into t1 (d) select date_sub('2000-01-01', INTERVAL 2001 YEAR)" "insert into t1 (d) select date_add('2000-01-01',interval 8000 year)" +"insert into t1 values (date_add(NULL, INTERVAL 1 DAY))" +"insert into t1 values (date_add('2000-01-04', INTERVAL NULL DAY))" "SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 DAY" "SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 MONTH" "SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 YEAR" @@ -25311,6 +28018,7 @@ having DATE_ADD(mts,INTERVAL 3 MONTH) < NOW()" "explain select * from t1 where str <> default(str)" "CREATE TABLE t1 (id int(11), s varchar(20))" "INSERT INTO t1 VALUES (1, 'one'), (2, 'two'), (3, 'three')" +"SELECT s, 32 AS mi FROM t1 GROUP BY s HAVING DEFAULT(mi) IS NULL" "SELECT SHA1( x'a8' ) = '99f2aa95e36f95c2acb0eaf23998f030638f3f15' as NIST_SHA1_test_vector" "SELECT SHA1( x'3000' ) = 'f944dcd635f9801f7ac90a407fbc479964dec024' as NIST_SHA1_test_vector" "SELECT SHA1( x'42749e' ) = 'a444319e9b6cc1e8464c511ec0969c37d6bb2619' as NIST_SHA1_test_vector" @@ -25787,7 +28495,15 @@ having DATE_ADD(mts,INTERVAL 3 MONTH) < NOW()" "CREATE TABLE t2 ( b INT )" "CREATE TABLE t3 ( c INT )" "CREATE TABLE t1 AS SELECT statement_digest( 'select 1, 2, 3' ) AS digest" +"CREATE TABLE digest_gcol ( +query VARCHAR ( 100 ), +digest VARCHAR ( 32 ) GENERATED ALWAYS AS ( statement_digest(query) ) +)" "CREATE TABLE t1 AS SELECT statement_digest_text( 'select 1, 2, 3' ) AS digest" +"CREATE TABLE digest_gcol ( +query VARCHAR ( 100 ), +digest VARCHAR ( 32 ) GENERATED ALWAYS AS ( digest_gcol (query) ) +)" "SELECT statement_digest_text(""CREATE TABLE åäö( a int )"")" "SELECT statement_digest_text(""CREATE TABLE 日本語( a int )"")" "SELECT statement_digest_text(""CREATE TABLE 𩸽( a int )"")" @@ -25863,6 +28579,9 @@ SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Duplicated values not allowed.'; END IF; END " +"INSERT INTO t1 VALUES (1,'2022-01-01')" +"INSERT INTO t1 VALUES (2, NULL)" +"INSERT INTO t1 VALUES (NULL,'2022-01-01')" "create table t1 (grp int, a bigint unsigned, c char(10) not null, d char(10) not null)" "insert into t1 values (1,1,""a"",""a"")" "insert into t1 values (2,2,""b"",""a"")" @@ -25906,6 +28625,8 @@ END "insert into t1 values (1,NULL),(2,""b""),(2,NULL),(3,""E""),(3,NULL),(3,""D""),(3,NULL),(3,NULL),(3,""D""),(4,""""),(5,NULL)" "set group_concat_max_len = 4" "set group_concat_max_len = 1024" +"select group_concat(sum(c)) from t1 group by grp" +"select grp,group_concat(c order by 2) from t1 group by grp" "create table t1 ( URL_ID int(11), URL varchar(80))" "create table t2 ( REQ_ID int(11), URL_ID int(11))" "insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com')" @@ -26000,6 +28721,8 @@ b varchar(255) character set koi8r)" "select collation(a) from t1" "create table t2 select group_concat(a) as a from t1" "select collation(group_concat(a,_koi8r'test')) from t1" +"select collation(group_concat(a,_koi8r 0xC1C2)) from t1" +"select collation(group_concat(a,b)) from t1" "CREATE TABLE t1 (a CHAR(10) CHARACTER SET cp850)" "INSERT INTO t1 VALUES ('À')" "SELECT GROUP_CONCAT(a) FROM t1" @@ -26184,6 +28907,9 @@ GROUP BY t1.a t1 t2, t1 GROUP BY t1.a) AS d" "PREPARE stmt FROM ""SELECT GROUP_CONCAT(t1.a ORDER BY t1.a) FROM t1 JOIN t1 t2 GROUP BY t1.a WITH ROLLUP""" "INSERT INTO t1 values (0),(0)" +"SELECT POLYGON((SELECT 1 FROM (SELECT 1 IN (GROUP_CONCAT(t1.f1)) FROM t1, t1 t GROUP BY t.f1 ) d))" +"EXPLAIN SELECT UPDATEXML('1', a, '1') +FROM t1 ORDER BY (SELECT GROUP_CONCAT(1) FROM t1)" "CREATE TABLE t1 (a VARCHAR(6), b INT)" "CREATE TABLE t2 (a VARCHAR(6), b INT)" "INSERT INTO t1 VALUES ('111111', 1)" @@ -26194,6 +28920,7 @@ t1 t2, t1 GROUP BY t1.a) AS d" "SET group_concat_max_len = 5" "SET @old_sql_mode = @@sql_mode, @@sql_mode = 'traditional'" "SELECT GROUP_CONCAT(a), b FROM t1 GROUP BY b LIMIT 3" +"INSERT INTO t2 SELECT GROUP_CONCAT(a), b FROM t1 GROUP BY b" "UPDATE t1 SET a = '11111' WHERE b = 1" "UPDATE t1 SET a = '22222' WHERE b = 2" "SET group_concat_max_len= 9999999" @@ -26783,6 +29510,9 @@ FROM t1 t, t2 c WHERE t.a = c.b" "SELECT MIN(a), MIN(b) FROM t5 WHERE a = 1" "SELECT MIN(a), MIN(b) FROM t5 WHERE a = 1 and b > 1" "INSERT INTO t1 values (),(),()" +"SELECT (SELECT SLEEP(0) FROM t1 ORDER BY AVG(DISTINCT a) ) as x FROM t1 +GROUP BY x" +"SELECT 1 FROM t1 GROUP BY (SELECT SLEEP(0) FROM t1 ORDER BY AVG(DISTINCT a) )" "CREATE TABLE t1 (a int, b date NOT NULL, KEY k1 (a,b))" "SELECT MIN(b) FROM t1 WHERE a=1 AND b>'2007-08-01'" "SELECT a FROM t1 HAVING COUNT(*)>2" @@ -26811,12 +29541,25 @@ KEY int_key (int_key) (76,54,4,repeat(' X', 42)), (83,45,4,repeat(' X', 42)), (105,53,12,NULL)" +"SELECT +(SELECT COUNT( int_nokey ) +FROM derived1 AS X +WHERE +X.int_nokey < 61 +GROUP BY pk +LIMIT 1) +FROM D AS X +WHERE X.int_key < 13 +GROUP BY int_nokey LIMIT 1" "DROP TABLE derived1" "DROP TABLE D" "INSERT INTO t1 VALUES (1,1), (1,2), (1,3)" "SET SQL_MODE='ONLY_FULL_GROUP_BY'" "SELECT COUNT(*) FROM t1 where a=1" +"SELECT COUNT(*),a FROM t1" "SELECT COUNT(*) FROM t1 a JOIN t1 b ON a.a= b.a" +"SELECT COUNT(*), (SELECT count(*) FROM t1 inr WHERE inr.a = outr.a) +FROM t1 outr" "SELECT COUNT(*) FROM t1 a JOIN t1 outr ON a.a= (SELECT count(*) FROM t1 inr WHERE inr.a = outr.a)" "CREATE TABLE t1 ( @@ -26873,6 +29616,7 @@ ORDER BY t1.a" "INSERT INTO t1 VALUES (0000),(2001)" "(SELECT MAX(f1) FROM t1) UNION (SELECT MAX(f1) FROM t1)" "CREATE TABLE t1(a int, KEY(a))" +"SELECT 1 FROM t1 ORDER BY AVG(DISTINCT a)" "CREATE TABLE t1(c1 TIME NOT NULL)" "INSERT INTO t1 VALUES('837:59:59')" "INSERT INTO t1 VALUES('838:59:59')" @@ -27033,6 +29777,7 @@ GROUP BY x.val" (2.34165e+21), (-1.79769e+308), (0.0)" +"SELECT STDDEV(value) from t1" "CREATE TABLE t2(grp int, value double)" "INSERT INTO t2 VALUES (0, 9.33174e+07), @@ -27043,6 +29788,7 @@ GROUP BY x.val" (1, 2.34165e+21), (0, -1.79769e+308), (1, 0.0)" +"SELECT VARIANCE(value) FROM t2 GROUP BY grp" "CREATE TABLE t(x INT, KEY (x))" "INSERT INTO t VALUES (0), (1), (2), (3), (4), (5), (6)" "SELECT MAX(x) FROM t WHERE x <= 1 AND x BETWEEN 3 AND 5" @@ -27414,6 +30160,7 @@ SELECT i8 FROM t1 WHERE (i8, dc, vc) IN ((?, ?, ?), (?, ?, ?), (?, ?, ?))""" "EXECUTE ps USING @null, @dec_one, @str_one, @int_two, @null, @str_two, @int_five, @dec_five, @null" "SET @e:=1" +"DO ( 'x' IN (CONVERT(EXP(0xbf40f8f5) USING utf32), UNHEX(@e)) )" "create table t1 (id int auto_increment primary key not null, mydate date not null)" "insert into t1 values (0,""2002-05-01""),(0,""2002-05-01""),(0,""2002-05-01"")" "select * from t1 where isnull(to_days(mydate))" @@ -27451,6 +30198,8 @@ and (outr2.pk <> t3.pk) " "delete from t3" "INSERT INTO t3 VALUES(3)" "SELECT 1 FROM t1 WHERE (a IS NULL) XOR (RAND() > 2.0)" +"DO AVG((SELECT POINT(@x, POINT(115, 219)) IS NULL))" +"DO AVG((SELECT POINT(@x, POINT(115, 219)) IS NULL)) OVER ()" "CREATE TABLE t(x INT NOT NULL)" "INSERT INTO t VALUES (0), (1)" "SELECT t1.x IS NULL = t2.x AS col FROM t AS t1, t AS t2 ORDER BY col" @@ -27487,6 +30236,7 @@ and (outr2.pk <> t3.pk) " "CREATE TABLE t2(b INT PRIMARY KEY)" "INSERT IGNORE INTO t1 VALUES ()" "SELECT 1 FROM t2 JOIN t1 ON 1 LIKE a GROUP BY a" +"SELECT '' LIKE '1' ESCAPE COUNT(1)" "select 0x0000000001020003F03F40408484040ADDE40 like 0x256F3B38312A7725" "select 0x003c8793403032 like '%-112%'" "select 0x903f645a8c507dd79178 like '%-128%'" @@ -27499,11 +30249,15 @@ and (outr2.pk <> t3.pk) " "CREATE TABLE t1(x CHAR(1)) ENGINE=InnoDB" "SELECT ('a%b' LIKE 'a\%b' ESCAPE (SELECT x FROM t1))" "SELECT ('a%b' LIKE 'ax%b' ESCAPE (SELECT x FROM t1))" +"SELECT ('a%b' LIKE 'ax%b' ESCAPE (SELECT 'xy' FROM t1))" "DELETE FROM t1 WHERE x = 'y'" +"SELECT ('a%b' LIKE 'ax%b' ESCAPE (SELECT x, x FROM t1))" +"SELECT ('a%b' LIKE 'ax%b' ESCAPE ('x', 'y'))" +"SELECT ('a%b' LIKE 'ax%b' ESCAPE x) FROM t1" "CREATE TABLE t2(x int, y varchar(100)) ENGINE=InnoDB" "CREATE INDEX idx ON t2(y)" "INSERT INTO t2 VALUES (1, 'abcd'), (2, 'ab%cde')" -"CREATE TABLE t1(a INTEGER) engine=innodb" +"SELECT 1 FROM t1 HAVING (SELECT 1 FROM t1) LIKE EXP(NOW())" "CREATE TABLE t1(wildstr VARCHAR(10), str VARCHAR(10), like_result INTEGER) COLLATE utf8mb4_0900_ai_ci" "INSERT INTO t1 VALUES('abc', 'abc', 1), ('AbC', 'aBc', 1), ('_bc', 'abc', 1), @@ -27525,7 +30279,12 @@ like_result" "select 1 where 'b_a' like '__a' escape '_'" "select 1 where 'b%a' like '#%a' escape '#'" "select 1 where 'b_a' like '#_a' escape '#'" +"SELECT 'a' LIKE '%' ESCAPE CAST('' AS JSON)" "INSERT INTO t1 VALUES (42)" +"DELETE FROM t1 WHERE +( EXISTS +(SELECT * WHERE '520:33:32.77' < (c1 - INTERVAL(1) MONTH)) +) LIKE (c1)" "CREATE TABLE t(col1 DATE)" "INSERT INTO t(col1) VALUES('2019-06-13'), ('2019-07-13')" "SELECT * FROM t WHERE col1 LIKE '2019%'" @@ -27595,6 +30354,7 @@ _utf8mb4'a\bc' LIKE _utf8mb4'a\%' AS col2",NO_BACKSLASH_ESCAPES "SELECT ASIN(1.2-0.2)" "select format(4.55, 1), format(4.551, 1)" "explain select degrees(pi()),radians(360)" +"select rand(rand)" "create table t1 (col1 int, col2 decimal(60,30))" "insert into t1 values(1,1234567890.12345)" "select format(col2,7) from t1" @@ -27698,24 +30458,71 @@ SELECT (a DIV 254576881) FROM t1" "SELECT a, ROUND(a) FROM t1" "SELECT 1 FROM (SELECT ROUND(f1) AS a FROM t1) AS s WHERE a LIKE 'a'" "SELECT 1 FROM (SELECT ROUND(f1, f1) AS a FROM t1) AS s WHERE a LIKE 'a'" +"SELECT 1e308 + 1e308" +"SELECT -1e308 - 1e308" +"SELECT 1e300 * 1e300" +"SELECT 1e300 / 1e-300" +"SELECT EXP(750)" +"SELECT POW(10, 309)" "CREATE OR REPLACE VIEW v1 AS SELECT NULL AS a" "SELECT RAND(a) FROM v1" "SELECT RAND(a) FROM (SELECT NULL AS a) b" "SELECT RAND(i) FROM t1" +"SELECT -9999999999999999991 DIV -1" +"SELECT -9223372036854775808 DIV -1" "SELECT -9223372036854775808 MOD -1" "SELECT -9223372036854775808999 MOD -1" +"select 123456789012345678901234567890.123456789012345678901234567890 div 1 as x" +"select ""123456789012345678901234567890.123456789012345678901234567890"" div 1 as x" "SELECT CASE(('')) WHEN (CONVERT(1, CHAR(1))) THEN (('' / 1)) END" "CREATE TABLE t1 SELECT CAST((CASE(('')) WHEN (CONVERT(1, CHAR(1))) THEN (('' / 1)) END) AS CHAR) as C" +"CREATE TABLE t1 SELECT CEIL(ST_LINESTRINGFROMWKB(1) DIV NULL)" +"CREATE TABLE t1 SELECT FLOOR(ST_LINESTRINGFROMWKB(1) DIV NULL)" "CREATE TABLE t1(f1 DECIMAL(22,1))" "SELECT ROUND(f1, f1) FROM t1" "SELECT ROUND(f1, f1) FROM t1 GROUP BY 1" "SELECT ROUND(LEAST(15, -4939092, 0.2704), STDDEV('a'))" "SELECT SUM(DISTINCT (TRUNCATE((.1), NULL)))" +"SELECT COT(0)" +"SELECT DEGREES(1e307)" +"SELECT 9223372036854775808 + 9223372036854775808" +"SELECT 18446744073709551615 + 1" +"SELECT 1 + 18446744073709551615" +"SELECT -2 + CAST(1 AS UNSIGNED)" +"SELECT CAST(1 AS UNSIGNED) + -2" +"SELECT -9223372036854775808 + -9223372036854775808" +"SELECT 9223372036854775807 + 9223372036854775807" +"SELECT CAST(0 AS UNSIGNED) - 9223372036854775809" +"SELECT 9223372036854775808 - 9223372036854775809" +"SELECT CAST(1 AS UNSIGNED) - 2" +"SELECT 18446744073709551615 - (-1)" +"SELECT -1 - 9223372036854775808" +"SELECT -1 - CAST(1 AS UNSIGNED)" +"SELECT -9223372036854775808 - 1" +"SELECT 9223372036854775807 - -9223372036854775808" "set SQL_MODE='NO_UNSIGNED_SUBTRACTION'" +"SELECT 18446744073709551615 - 1" +"SELECT 18446744073709551615 - CAST(1 AS UNSIGNED)" +"SELECT 18446744073709551614 - (-1)" +"SELECT 9223372036854775807 - -1" "set SQL_MODE=default" +"SELECT 4294967296 * 4294967296" +"SELECT 9223372036854775808 * 2" +"SELECT 7158278827 * 3221225472" +"SELECT 9223372036854775807 * (-2)" +"SELECT CAST(1 as UNSIGNED) * (-1)" +"SELECT 9223372036854775807 * 2" +"SELECT ABS(-9223372036854775808)" +"SELECT 18446744073709551615 DIV -1" "CREATE TABLE t1(a BIGINT, b BIGINT UNSIGNED)" "INSERT INTO t1 VALUES(-9223372036854775808, 9223372036854775809)" +"SELECT -a FROM t1" +"SELECT -b FROM t1" "SET @a:=999999999999999999999999999999999999999999999999999999999999999999999999999999999" +"SELECT @a + @a" +"SELECT @a * @a" +"SELECT -@a - @a" +"SELECT @a / 0.5" "SELECT COT(1/0)" "SELECT -1 + 9223372036854775808" "SELECT 2 DIV -2" @@ -27947,12 +30754,24 @@ END" 0x123, -9223372036854775808 )" +"select cast(pow(2,63) as signed) as pp" "select cast(pow(2,63)-1024 as signed) as pp" "select cast(1-pow(2,63) as signed) as qq" +"SELECT 9223372036854775809 * -1" +"SELECT -1 * 9223372036854775809" +"INSERT INTO t VALUES(hex(rtrim(1.040739e+308)))" +"SELECT 1-CAST(POW(2,100) AS SIGNED)" +"SELECT 1-CAST(POW(2,1000) AS SIGNED)" +"do ((3273059463432352943 )* (-9223372036854775808 )) " +"do ((-9223372036854775808)* ( 3273059463432352943)) " "select -9223372036854775808 * 0 as result" "select 0 * -9223372036854775808 as result" "select -9223372036854775808 * 1 as result" "select 1 * -9223372036854775808 as result" +"select -9223372036854775808 * -1 as result" +"select -1 * -9223372036854775808 as result" +"select -9223372036854775808 * 2 as result" +"select 2 * -9223372036854775808 as result" "CREATE TABLE t1(a BIGINT UNSIGNED)" "INSERT INTO t1 VALUES(18446744073709551615)" "CREATE TABLE t2 AS @@ -27988,6 +30807,7 @@ FLOOR(CAST(-999999999999999999.9 AS DECIMAL(19, 1))) AS f" "SELECT CAST(COALESCE(t0.c0, -1) AS UNSIGNED) IS TRUE FROM t0" "SELECT CAST(COALESCE(t0.c0, -1) AS UNSIGNED) FROM t0" "SELECT CAST(-1.1 AS UNSIGNED)" +"select (round(-9223372036854775808, -4))" "CREATE PROCEDURE test_round(in arg bigint) BEGIN DECLARE i int; @@ -28018,6 +30838,7 @@ END" "CALL test_round(-9223372036854775807)" "CALL test_round(-9223372036854775808)" "CALL test_round(9223372036854775807)" +"CALL test_round(9223372036854775808)" "CALL test_round_unsigned(9223372036854775807)" "CALL test_round_unsigned(9223372036854775808)" "CALL test_round_unsigned(18446744073709551614)" @@ -28025,9 +30846,11 @@ END" "DROP PROCEDURE test_round_unsigned" "INSERT INTO t1 VALUES(11, -1)" "CREATE TABLE t2 AS SELECT a, ROUND(a, b) AS c FROM t1" +"INSERT INTO t VALUES (1.0E+01+'a')" "PREPARE st1 FROM ""INSERT INTO t VALUES (? + ?)""" "SET @a=1.0E+01" "SET @b='a'" +"EXECUTE st1 USING @a,@b" "CREATE TABLE t1 (i INT, iu INT UNSIGNED, b BIGINT, bu BIGINT UNSIGNED)" "INSERT INTO t1 (i,iu,b,bu) @@ -28053,7 +30876,9 @@ VALUES ('1.2.3.4', '1.2.3.4', '1.2.3.4', '1.2.3.4')" 5.0 + CAST('96' AS UNSIGNED) DIV 1" "CREATE TABLE t1(a BIGINT)" "INSERT INTO t1 VALUES (-9223372036854775808)" +"SELECT a, 0-a FROM t1" "INSERT INTO t1 VALUES (-9223372036854775807)" +"SELECT a, 1-a FROM t1" "CREATE TABLE t1(c1 INTEGER, c2 INTEGER)" "INSERT INTO t1 VALUES(97, 1)" "SELECT 27 DIV (c2/c1) / 17 AS c1 FROM t1 GROUP BY c1" @@ -28135,9 +30960,13 @@ end" "select benchmark(100, (select avg(func_26093_a(a)) from table_26093))" "select @invoked" "select benchmark(100, (select avg(func_26093_b(a, rand())) from table_26093))" +"select benchmark(100, (select (a) from table_26093))" +"select benchmark(100, (select 1, 1))" "drop table table_26093" "drop function func_26093_a" "drop function func_26093_b" +"SELECT NAME_CONST('test', NOW())" +"SELECT NAME_CONST('test', UPPER('test'))" "SELECT NAME_CONST('test', NULL)" "SELECT NAME_CONST('test', 1)" "SELECT NAME_CONST('test', -1)" @@ -28148,8 +30977,13 @@ end" "SELECT NAME_CONST('flag',1.5) * MAX(a) FROM t1" "SELECT NAME_CONST('flag',-1) * MAX(a) FROM t1" "SELECT NAME_CONST('flag',-1.5) * MAX(a) FROM t1" +"SELECT NAME_CONST('flag', SQRT(4)) * MAX(a) FROM t1" +"SELECT NAME_CONST('flag',-SQRT(4)) * MAX(a) FROM t1" "INSERT INTO t1 VALUES (5), (2)" +"SELECT NAME_CONST(x,2) FROM (SELECT a x FROM t1) t" "INSERT INTO t1 VALUES (), (), ()" +"SELECT NAME_CONST(a, '1') FROM t1" +"SET INSERT_ID= NAME_CONST(a, a)" "insert into t1 values (-1), (-2)" "select min(a) from t1 group by inet_ntoa(a)" "SELECT NAME_CONST('var', 'value') COLLATE latin1_general_cs" @@ -28166,6 +31000,8 @@ end" "SELECT * FROM t1 WHERE a = NAME_CONST('reportDate', _binary'2009-01-09' COLLATE 'binary')" "select NAME_CONST('_id',1234) as id" +"SELECT NAME_CONST('a', -(1 OR 2)) OR 1" +"SELECT NAME_CONST('a', -(1 AND 2)) OR 1" "SELECT NAME_CONST('a', -(1)) OR 1" "select connection_id() > 0" "CREATE TABLE t1 (a INT, b LONGBLOB)" @@ -28177,6 +31013,7 @@ _binary'2009-01-09' COLLATE 'binary')" "CREATE TABLE t1 (a SET('a'), b INT)" "INSERT INTO t1 VALUES ('', 0)" "SELECT COALESCE(a) = COALESCE(b) FROM t1" +"SELECT 1 from t1 HAVING NAME_CONST('', a)" "SELECT INET6_ATON(NULL) IS NULL" "SELECT INET6_ATON(123) IS NULL" "SELECT INET6_ATON(123.45) IS NULL" @@ -28389,6 +31226,9 @@ KEY (col_varchar) WHERE pk = 5 AND (col_time, col_varchar) IN ((23, 'Y'), (92, 'W'))""" "EXECUTE st" "DEALLOCATE PREPARE st" +"do (is_ipv4_mapped(bin_to_uuid(@a:=34))) +<=> +(json_objectagg('key2',42 ) and rtrim(""""))" "select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2" "explain select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2" "select 1 | (1+1),5 & 3,bit_count(7) " @@ -28438,6 +31278,8 @@ WHERE pk = 5 AND (col_time, col_varchar) IN ((23, 'Y'), (92, 'W'))""" "CREATE TABLE t1(f1 BLOB, KEY(f1(1))) ENGINE=INNODB" "INSERT INTO t1 VALUES ('ccc'), ('aa')" "SELECT (f1 LIKE null) from t1" +"SELECT 1 FROM t1 WHERE f1 NOT LIKE json_merge('' ,'+' )" +"SELECT 1 FROM t1 WHERE f1 LIKE json_contains('key2' ,'key4' )" "SELECT 1 FROM t1 WHERE f1 LIKE json_depth(null)" "EXPLAIN SELECT (f1 LIKE null) from t1" "EXPLAIN SELECT (f1 LIKE null) from t1 WHERE f1 LIKE 'a%'" @@ -28459,7 +31301,6 @@ PRIMARY KEY (id) "EXPLAIN FORMAT=tree SELECT 1 WHERE RAND() < RAND()" "CREATE TABLE t ( i1 INT, i2 INT)" "INSERT INTO t VALUES (1,1),(2,2),(3,3)" -"DELETE FROM t" "SELECT i1 FROM t" "SELECT i2 FROM t" "SELECT r FROM t LEFT JOIN (SELECT RAND(0) AS r) AS dt ON TRUE" @@ -28472,6 +31313,7 @@ PRIMARY KEY (id) "select * from t1 where xxx regexp('is a test of some long text to s')" "select * from t1 where xxx regexp('is a test of some long text to se')" "insert into t1 (xxx) values('this is some text: to test - out.reg exp (22/45)')" +"select * from t1 where xxx REGEXP '^this is some text: to test - out\\.reg exp [[(][0-9]+[/\\][0-9]+[])][ ]*$'" "select _latin1 0xFF regexp _latin1 '[[:lower:]]' COLLATE latin1_bin" "select _koi8r 0xFF regexp _koi8r '[[:lower:]]' COLLATE koi8r_bin" "select _latin1 0xFF regexp _latin1 '[[:upper:]]' COLLATE latin1_bin" @@ -28487,7 +31329,10 @@ PRIMARY KEY (id) "execute stmt1 using @a" "set @a=""^R.*""" "SELECT 1 REGEXP NULL" +"SELECT '' REGEXP BINARY NULL" "SELECT NULL REGEXP BINARY NULL" +"SELECT 'A' REGEXP BINARY NULL" +"SELECT ""ABC"" REGEXP BINARY NULL" "CREATE TABLE t1(a INT, b CHAR(4))" "INSERT INTO t1 VALUES (1, '6.1'), (1, '7.0'), (1, '8.0')" "PREPARE stmt1 FROM ""SELECT a FROM t1 WHERE a=1 AND '7.0' REGEXP b LIMIT 1""" @@ -28495,6 +31340,8 @@ PRIMARY KEY (id) "SELECT '\t' REGEXP '[[:blank:]]'" "SELECT ' ' REGEXP '[[:space:]]'" "SELECT '\t' REGEXP '[[:space:]]'" +"DO 1 regexp (multilinestring(point(1,1)))" +"SELECT '1' RLIKE RPAD('1', 10000, '(')" "SELECT REGEXP_INSTR(e, 'pattern') FROM (VALUES ROW('Find pattern'), ROW(NULL), ROW('Find pattern')) AS v(e)" "SELECT REGEXP_LIKE(e, 'pattern') @@ -28559,6 +31406,15 @@ END" "SELECT f1_simple_insert(1)" "SELECT * FROM t1_not_null ORDER BY f1,f2" "SELECT f1_simple_insert(1) FROM t1_select" +"SELECT f1_simple_insert(NULL)" +"SELECT f1_simple_insert(NULL) FROM t1_select" +"SELECT f1_simple_insert(f2) FROM t1_select" +"SELECT f1_simple_insert(1),f1_simple_insert(NULL)" +"SELECT f1_simple_insert(NULL),f1_simple_insert(1)" +"SELECT f1_simple_insert(f1),f1_simple_insert(f2) FROM t1_select" +"SELECT f1_simple_insert(f2),f1_simple_insert(f1) FROM t1_select" +"SELECT f1_simple_insert(f1_simple_insert(NULL)) FROM t1_select" +"SELECT f1_simple_insert(f1_simple_insert(1) + NULL) FROM t1_select" "DROP FUNCTION f1_simple_insert" "SELECT f1_insert_select(2)" "DROP FUNCTION f1_insert_select" @@ -28569,6 +31425,7 @@ INSERT INTO t1_not_null SET f1 = 10, f2 = NULL; INSERT INTO t1_not_null SET f1 = 10, f2 = 10; RETURN 1; END" +"SELECT f1_two_inserts()" "DROP FUNCTION f1_two_inserts" "CREATE FUNCTION f1_two_inserts() RETURNS INTEGER BEGIN @@ -28578,10 +31435,31 @@ RETURN 1; END" "SELECT f1_insert_with_two_rows()" "DROP FUNCTION f1_insert_with_two_rows" +"SELECT 1 FROM t1_select t1 +WHERE 1 = (SELECT f1_insert_with_two_rows() FROM t1_select t2 +WHERE t2.f1 = t1.f1)" +"SELECT 1 FROM t1_select t1, t1_select t2 +WHERE t1.f1 = t2.f1 AND t2.f1 = f1_insert_with_two_rows()" +"SELECT STRAIGHT_JOIN * FROM t1_select t2 RIGHT JOIN t1_select t1 +ON t1.f1 = t1.f1 WHERE 1 = f1_insert_with_two_rows()" +"SELECT 1 +UNION ALL +SELECT f1_two_inserts()" +"INSERT INTO t1_aux SET f1 = 1, f2 = f1_two_inserts()" +"INSERT INTO t1_aux SELECT 1, f1_two_inserts()" "SELECT * FROM t1_aux ORDER BY f1,f2" +"INSERT INTO t1_aux VALUES(1,f1_two_inserts())" "INSERT INTO t1_aux VALUES (1,1)" +"DELETE FROM t1_aux WHERE f1 = f1_two_inserts()" +"UPDATE t1_aux SET f2 = f1_two_inserts() + 1" "CREATE VIEW v1_func AS SELECT f1_two_inserts() FROM t1_select" +"SELECT * FROM v1_func" "DROP VIEW v1_func" +"CREATE TABLE t1_fail AS SELECT f1_two_inserts() FROM t1_select" +"CREATE TABLE t1_fail AS SELECT * FROM t1_select WHERE 1 = f1_two_inserts()" +"SELECT * FROM t1_select ORDER BY f1,f1_two_inserts()" +"SELECT AVG(f1_two_inserts()) FROM t1_select" +"SELECT 1 FROM t1_select HAVING AVG(f1) = f1_two_inserts() + 2" "CREATE VIEW v1_not_null AS SELECT f1,f2 FROM t1_not_null WITH CHECK OPTION" "CREATE FUNCTION f1_two_inserts_v1() RETURNS INTEGER BEGIN @@ -28589,6 +31467,7 @@ INSERT INTO v1_not_null SET f1 = 10, f2 = 10; INSERT INTO v1_not_null SET f1 = 10, f2 = NULL; RETURN 1; END" +"SELECT f1_two_inserts_v1()" "DROP FUNCTION f1_two_inserts_v1" "DROP VIEW v1_not_null" "INSERT INTO t1_parent VALUES (1,1)" @@ -28843,6 +31722,9 @@ SELECT 'invalid column ', FIND_IN_SET(z, s), s FROM t1" "SELECT LOCATE(x'64', _utf8mb4'abcdef')" "SELECT POSITION(x'64' IN _utf8mb4'abcdef')" "SELECT INSTR(_utf8mb4'abcdef', x'64')" +"SELECT LOCATE(x'ff', _utf8mb4'abcdef')" +"SELECT POSITION(x'ff' IN _utf8mb4'abcdef')" +"SELECT INSTR(_utf8mb4'abcdef', x'ff')" "select left('hello',null), right('hello',null)" "select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5) " "select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) " @@ -28967,10 +31849,16 @@ SELECT 'invalid column ', FIND_IN_SET(z, s), s FROM t1" "select _latin1'1'=1" "select _latin2'1'=1" "select 1=_latin2'1'" +"select _latin1'1'=_latin2'1'" "select row('a','b','c') = row('a','b','c')" "select row('A','b','c') = row('a','b','c')" "select row('A' COLLATE latin1_bin,'b','c') = row('a','b','c')" "select row('A','b','c') = row('a' COLLATE latin1_bin,'b','c')" +"select row('A' COLLATE latin1_general_ci,'b','c') = row('a' COLLATE latin1_bin,'b','c')" +"select concat(_latin1'a',_latin2'a')" +"select concat(_latin1'a',_latin2'a',_latin5'a')" +"select concat(_latin1'a',_latin2'a',_latin5'a',_latin7'a')" +"select concat_ws(_latin1'a',_latin2'a')" "select FIELD('b','A','B')" "select FIELD('B','A','B')" "select FIELD('b' COLLATE latin1_bin,'A','B')" @@ -28978,25 +31866,38 @@ SELECT 'invalid column ', FIND_IN_SET(z, s), s FROM t1" "select FIELD(_latin2'b','A','B')" "select FIELD('b',_latin2'A','B')" "select FIELD('1',_latin2'3','2',1)" +"SELECT FIELD(_utf8mb4'abc', x'ff')" "select POSITION(_latin1'B' IN _latin1'abcd')" "select POSITION(_latin1'B' IN _latin1'abcd' COLLATE latin1_bin)" "select POSITION(_latin1'B' COLLATE latin1_bin IN _latin1'abcd')" "select POSITION(_latin1'B' COLLATE latin1_general_ci IN _latin1'abcd' COLLATE latin1_bin)" "select POSITION(_latin1'B' IN _latin2'abcd')" "select FIND_IN_SET(_latin1'B',_latin1'a,b,c,d')" +"select FIND_IN_SET(_latin1'B' COLLATE latin1_general_ci,_latin1'a,b,c,d' COLLATE latin1_bin)" +"select FIND_IN_SET(_latin1'B',_latin2'a,b,c,d')" "select SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin1'd',2)" "select SUBSTRING_INDEX(_latin1'abcdabcdabcd' COLLATE latin1_bin,_latin1'd',2)" "select SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin1'd' COLLATE latin1_bin,2)" "select SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin2'd',2)" +"select SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin2 0xa3, 2)" "select SUBSTRING_INDEX(_latin1'abcdabcdabcd' COLLATE latin1_general_ci,_latin1'd' COLLATE latin1_bin,2)" "select _latin1'B' between _latin1'a' and _latin1'c'" "select _latin1'B' collate latin1_bin between _latin1'a' and _latin1'c'" "select _latin1'B' between _latin1'a' collate latin1_bin and _latin1'c'" "select _latin1'B' between _latin1'a' and _latin1'c' collate latin1_bin" +"select _latin2'B' between _latin1'a' and _latin1'b'" +"select _latin1'B' between _latin2'a' and _latin1'b'" +"select _latin1'B' between _latin1'a' and _latin2'b'" +"select _latin1'B' collate latin1_general_ci between _latin1'a' collate latin1_bin and _latin1'b'" "select _latin1'B' in (_latin1'a',_latin1'b')" "select _latin1'B' collate latin1_bin in (_latin1'a',_latin1'b')" "select _latin1'B' in (_latin1'a' collate latin1_bin,_latin1'b')" "select _latin1'B' in (_latin1'a',_latin1'b' collate latin1_bin)" +"select _latin2'B' in (_latin1'a',_latin1'b')" +"select _latin1'B' in (_latin2'a',_latin1'b')" +"select _latin1'B' in (_latin1'a',_latin2'b')" +"select _latin1'B' COLLATE latin1_general_ci in (_latin1'a' COLLATE latin1_bin,_latin1'b')" +"select _latin1'B' COLLATE latin1_general_ci in (_latin1'a',_latin1'b' COLLATE latin1_bin)" "select collation(bin(130)), coercibility(bin(130))" "select collation(oct(130)), coercibility(oct(130))" "select collation(conv(130,16,10)), coercibility(conv(130,16,10))" @@ -29077,6 +31978,8 @@ where coercibility(t2.a) = 5 order by t1.a,t2.a" "select SUBSTR('abcdefg',-1,-1) FROM DUAL" "select SUBSTR('abcdefg',1,-1) FROM DUAL" "create table t7 (s1 char) charset latin1" +"select * from t7 +where concat(s1 collate latin1_general_ci,s1 collate latin1_swedish_ci) = 'AA'" "drop table t7" "select substring_index(""1abcd;2abcd;3abcd;4abcd"", ';', 2),substring_index(""1abcd;2abcd;3abcd;4abcd"", ';', -2)" "explain select sha('abc')" @@ -29600,6 +32503,8 @@ LPAD('hi', DAY(FROM_UNIXTIME(-1)),'?') AS f6" ((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)), (32767.1)))" "SELECT ((rpad(1.0,2048,1)) = ('4(') ^ (0.1))" +"SELECT +pow((rpad(10.0,2048,1)),(b'1111111111111111111111111111111111111111111'))" "SELECT ((rpad(1.0,2048,1)) + (0) ^ ('../'))" "SELECT stddev_samp(rpad(1.0,2048,1))" "SELECT ((127.1) not in ((rpad(1.0,2048,1)),(''),(-1.1)))" @@ -29612,6 +32517,22 @@ format(rpad('111111111.1', 1111111, '999999999999999999999999999999999999999999'),0,'be_BY') " +"DO +round( +concat( ( +coalesce( ( +ST_linefromwkb('2147483648', +-b'1111111111111111111111111111111111111111111')), +( convert('[.DC2.]',decimal(30,30)) ), +bit_count('') +) ), +( lpad( ( elt('01','}:K5')), +sha1('P'), +( ( select '-9223372036854775808.1' > all (select ''))) +) +) +) +)" "SET @@global.max_allowed_packet:= @tmp_max" "CREATE TABLE t1 (a VARBINARY(64))" "INSERT INTO t1 VALUES (0x00), (0x0000), (0x000000), (0x00000000)" @@ -29685,6 +32606,10 @@ dt1 DATETIME "INSERT INTO t1 VALUES('1978-01-03 00:00:00'),('2000-001-02 00:00:00')" "SELECT 1 FROM t1 GROUP BY insert(a,'1','11','1')" "SELECT insert(a,1,1,1) FROM t1" +"do concat('a',concat_ws('a', 0x2859, 'a' , +trim(period_add('a',1) from (1&'')) +) +)" "SET @@global.max_allowed_packet=1024*1024" "select length(repeat("""",1)) as a" "select length(repeat("""",1024*1024*1024)) as a" @@ -29871,13 +32796,28 @@ repeat ('d',100)),'""')" "do ((repeat(1,9223372036854775808))or(convert((0x6d5b5d8d)using dec8)))" "CREATE TABLE t1(c1 VARCHAR(10))" "INSERT INTO t1 VALUES ('Alaska')" +"SELECT HEX(LPAD('', 42, REPLACE(COMPRESS(42),c1,''))) FROM t1" +"SELECT HEX(LPAD('', 42, SUBSTRING_INDEX(COMPRESS(42),c1,1))) FROM t1" +"SELECT LPAD('', 42, REPLACE(AES_ENCRYPT(c1, 'key'),c1,'')) FROM t1" "SELECT LPAD('', 42, REPLACE(SHA2(c1, 0),c1,'')) FROM t1" +"SELECT HEX(LPAD('', 42, TRIM(BOTH c1 FROM x'ff'))) FROM t1" +"SELECT HEX(LPAD('', 42, REPLACE(x'ffff',c1,''))) FROM t1" +"SELECT HEX(LPAD('', 42, TRIM(x'ffff' FROM c1))) FROM t1" +"SELECT LPAD('', 42, REPLACE(c1, 'las', x'ff')) FROM t1" +"SELECT LPAD('', 42, REPLACE(c1, x'ff', 'las')) FROM t1" +"SELECT HEX(SUBSTRING_INDEX(_utf8mb4 x'41F09F8DA3F09F8DA3' , x'f0', 2)) FROM t1" +"SELECT TRIM(BOTH x'f0' FROM _utf8mb4 x'F09F8DA3F09F8DA3')" "SELECT TRIM(BOTH x'F09F8DA3' FROM _utf8mb4 x'F09F8DA3F09F8DA3')" +"SELECT TRIM(_latin2 x'a3' from _latin1 ""hello"")" +"SELECT REPLACE(_latin1 ""hello"", _latin2 x'a3', ""hei"")" +"SELECT REPLACE(_latin1 ""hello"", ""hei"", _latin2 x'a3')" +"SELECT SUBSTRING_INDEX(_latin1 ""hello"", _latin2 x'a3', 42)" "SELECT TRIM(leading _utf8mb4 x'F09F8DA3' from _gb18030 x'9439B9376181308B33')" "SELECT SUBSTRING_INDEX(_utf8mb4 x'C3A6C3B8F09F8DA361C3A6C3B8F09F8DA362', _gb18030 x'81308B339439B937', 2)" "SELECT REPLACE('æøåæøå',_utf16 x'00e5', _gb18030 x'9439B937')" "SELECT REPLACE(_latin1 x'E6F8E5E6F8E5',_utf16 x'00e5', _utf32 x'00000061')" +"DO INSERT(1, 1, 1, CAST(1 AS DECIMAL(1,3)))" "DO CONVERT( NULLIF( @a , 'c' ) USING BINARY)" "CREATE TABLE t1 ( id INT NOT NULL, @@ -29902,17 +32842,31 @@ FROM t1" "CREATE TABLE t(x LONGTEXT)" "SELECT UNHEX(x) FROM t" "CREATE TABLE t1(a CHAR(1) CHARACTER SET utf8mb4)" +"SELECT CONCAT(a, x'ff') FROM t1" +"SELECT CONCAT_WS(',', a, x'ff') FROM t1" +"SELECT CONCAT_WS(x'ff', a, a) FROM t1" +"SELECT INSERT(a, 1, 1, x'ff') FROM t1" "CREATE TABLE t1(a VARCHAR(3), b VARCHAR(3))" "INSERT INTO t1 VALUES('on','off')" +"SELECT EXPORT_SET(7, a, b, x'ff', 4) FROM t1" +"SELECT EXPORT_SET(7, a, x'ff', b, 4) FROM t1" +"SELECT MAKE_SET(7, a, b, x'ff') FROM t1" "INSERT INTO t VALUES (1),(2)" "SELECT (SELECT 1 FROM t WHERE CONVERT(1 USING utf32) <> GROUP_CONCAT(1) )" +"SELECT (SELECT 1 +FROM t +WHERE CONVERT(1 USING gb18030) <> GROUP_CONCAT(x'a3') +)" "SELECT INSERT('a', 1, 1, YEAR(UNHEX('w')))" "DO USER() in (COERCIBILITY(@c), CONVERT(LAST_VALUE(FROM_UNIXTIME(1536999169)) OVER() USING utf32))" +"DO ST_ISVALID(INSTR(9223372036854775806 ,0x46bc299f))" +"DO ST_SRID(LOCATE(0x58ed0b8e,8,135))" +"DO NOT CAST(UTC_TIME AS CHAR(2877246026) CHARACTER SET ujis)" "DO REPEAT(LAST_INSERT_ID(''), 4294967295)" "DO REPEAT(LAST_INSERT_ID(''), 0x96e4ed7e70a7fec7f11572c8980a)" "CREATE VIEW v AS SELECT LPAD('x', 1 NOT IN (0), 1) AS c" @@ -30012,6 +32966,9 @@ GROUP BY field1 WITH ROLLUP "CREATE TABLE t1 AS SELECT HEX(-1) AS f" "CREATE TABLE t0(c0 DECIMAL)" "INSERT INTO t0 VALUES(NULL)" +"UPDATE t0 SET c0 = 1 WHERE (t0.c0 IS NULL)>>('')" +"UPDATE t0 SET c0 = 1 WHERE (t0.c0 IS NULL)>>('' COLLATE 'utf8mb4_0900_ai_ci')" +"SELECT _latin1 'ß' COLLATE latin1_general_ci = _utf8mb4 'ss' COLLATE utf8mb4_0900_ai_ci AS c" "SELECT _utf8mb4 'ß' COLLATE utf8mb4_0900_ai_ci = _utf8mb4 'ss' COLLATE utf8mb4_0900_ai_ci AS c" "SELECT _latin1 'ß' COLLATE latin1_general_ci = _latin1 'ss' COLLATE latin1_general_ci AS c" "SELECT _latin1 'ß' = _utf8mb4 'ss' AS c" @@ -30022,10 +32979,18 @@ GROUP BY field1 WITH ROLLUP "SET @@sql_mode=''","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "DO SPACE(SHA(UUID_SHORT()))" "SET @@sql_mode = default" +"DO LPAD(BIT_XOR(1), ROW_COUNT(), JSON_PRETTY('-$ *?(8}'))" +"DO RPAD(BIT_XOR(1), ROW_COUNT(), JSON_PRETTY('-$ *?(8}'))" +"DO RANDOM_BYTES(CAST((RANDOM_BYTES('?+,$ F5')) as unsigned))" "CREATE TABLE t1 ( c1 varchar(255) )" "INSERT INTO t1 VALUES('m'),('u'),('i')" +"SELECT +CASE (AES_ENCRYPT(0, c1)) +WHEN '1234556789' THEN -1535639552 +WHEN (CONVERT(c1 USING utf16)) THEN c1 END +FROM t1" "SET SESSION SQL_MODE=''" "CREATE TABLE t1 ( col_varchar_255_utf8_key varchar(255), @@ -30082,6 +33047,8 @@ WHERE REPEAT( c1, LTRIM( -42 ^ ( 4 XOR -2023620608 ) ) )" "SET SESSION sql_mode=default" "SELECT QUOTE(x'01')" "SELECT QUOTE(NULL)" +"SELECT QUOTE(x'80')" +"SELECT QUOTE(_utf8mb4 x'80')" "SET session debug='d,force_fake_uuid'" "do concat('111','11111111111111111111111111', substring_index(uuid(),0,1.111111e+308))" @@ -30183,6 +33150,8 @@ WHERE a = CONV('e251273eb74a8ee3', 16, 10)" "select left(concat(a,version()),1) from t1" "prepare s from ""DO SHA1(DATABASE());""" "CREATE DATABASE +db345678901234567890123456789012345678901234567890123456789012345" +"CREATE DATABASE db34567890123456789012345678901234567890123456789012345678901234" "USE db34567890123456789012345678901234567890123456789012345678901234" "SELECT DATABASE()" @@ -30224,16 +33193,22 @@ db34567890123456789012345678901234567890123456789012345678901234" "select _koi8r'a' = _koi8r'A' COLLATE koi8r_bin" "select _koi8r'a' COLLATE koi8r_general_ci = _koi8r'A'" "select _koi8r'a' COLLATE koi8r_bin = _koi8r'A'" +"select _koi8r'a' COLLATE koi8r_bin = _koi8r'A' COLLATE koi8r_general_ci" +"select _koi8r'a' = _latin1'A'" "select strcmp(_koi8r'a', _koi8r'A')" "select strcmp(_koi8r'a', _koi8r'A' COLLATE koi8r_general_ci)" "select strcmp(_koi8r'a', _koi8r'A' COLLATE koi8r_bin)" "select strcmp(_koi8r'a' COLLATE koi8r_general_ci, _koi8r'A')" "select strcmp(_koi8r'a' COLLATE koi8r_bin, _koi8r'A')" +"select strcmp(_koi8r'a' COLLATE koi8r_general_ci, _koi8r'A' COLLATE koi8r_bin)" +"select strcmp(_koi8r'a', _latin1'A')" "select _koi8r'a' LIKE _koi8r'A'" "select _koi8r'a' LIKE _koi8r'A' COLLATE koi8r_general_ci" "select _koi8r'a' LIKE _koi8r'A' COLLATE koi8r_bin" "select _koi8r'a' COLLATE koi8r_general_ci LIKE _koi8r'A'" "select _koi8r'a' COLLATE koi8r_bin LIKE _koi8r'A'" +"select _koi8r'a' COLLATE koi8r_general_ci LIKE _koi8r'A' COLLATE koi8r_bin" +"select _koi8r'a' LIKE _latin1'A'" "CREATE TABLE t1 ( faq_group_id int(11) NOT NULL default '0', faq_id int(11) NOT NULL default '0', title varchar(240) default NULL, keywords text, description longblob, solution longblob, status tinyint(4) NOT NULL default '0', access_id smallint(6) default NULL, lang_id smallint(6) NOT NULL default '0', created datetime NOT NULL default '0000-00-00 00:00:00', updated datetime default NULL, last_access datetime default NULL, last_notify datetime default NULL, solved_count int(11) NOT NULL default '0', static_solved int(11) default NULL, solved_1 int(11) default NULL, solved_2 int(11) default NULL, solved_3 int(11) default NULL, solved_4 int(11) default NULL, solved_5 int(11) default NULL, expires datetime default NULL, notes text, assigned_to smallint(6) default NULL, assigned_group smallint(6) default NULL, last_edited_by smallint(6) default NULL, orig_ref_no varchar(15) binary default NULL, c$fundstate smallint(6) default NULL, c$contributor smallint(6) default NULL, UNIQUE KEY t1$faq_id (faq_id), KEY t1$group_id$faq_id (faq_group_id,faq_id), KEY t1$c$fundstate (c$fundstate) ) ENGINE=InnoDB" "INSERT INTO t1 VALUES (82,82,'How to use the DynaVox Usage Counts Feature','usages count, number, corner, white, box, button','\r\n\r\n \r\n \r\n \r\n \r\n
 \r\n

How \r\n To: \r\n Display or Hide the Usage Counts to find out how many times each button is being selected.

\r\n
','\r\n \r\n \r\n \r\n \r\n\r\n \r\n
  \r\n \r\n

1. Select \r\n the On/Setup button to access the DynaVox Setup Menu.
\r\n 2. Select Button Features.
\r\n 3. Below the OK button is the Usage Counts button.
\r\n a. If it says \"Hidden\" then the Usage Counts will not be displayed.
\r\n b. If it says \"Displayed\" then the Usage Counts will be shown.
\r\n c. Select the Usage Counts Option Ring once and it will toggle \r\n to the alternative option.
\r\n 4. Once the correct setting has been chosen, select OK to leave the Button \r\n Features menu.
\r\n 5. Select OK out of the Setup menu and return to the communication \r\n page.

\r\n

For \r\n further information on Usage Counts, see the Button Features \r\n Menu Entry in the DynaVox/DynaMyte Reference Manual.

\r\n
',4,1,1,'2001-11-16 16:43:34','2002-11-25 12:09:43','2003-07-24 01:04:48',NULL,11,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,11,NULL,NULL,NULL)" "CREATE TABLE t2 ( access_id smallint(6) NOT NULL default '0', name varchar(20) binary default NULL, `rank` smallint(6) NOT NULL default '0', KEY t2$access_id (access_id) ) ENGINE=InnoDB" @@ -30285,6 +33260,7 @@ db34567890123456789012345678901234567890123456789012345678901234" "SELECT least (9223372036854775808, 18446744073709551615) as l" "CREATE TABLE t1 AS SELECT greatest(-1, 9223372036854775808)" "CREATE TABLE t2 AS SELECT greatest(9223372036854775808, 9223372036854775808)" +"select greatest(1,_utf16'.',_utf8mb3'')" "CREATE TABLE t1 AS SELECT 5 AS c1, 5 AS c2, 5 AS c3, 5 AS c4, 20010101 AS c5, 010101 AS c6, 010101 AS c7, 20010101 AS c8, 5.55 AS c11, 5.5 AS c12, 5.5 AS c13, @@ -30434,7 +33410,6 @@ FROM t0017" (FROM_UNIXTIME(1537013301) ) )" "CREATE TABLE t1 (a DOUBLE, b DOUBLE)" -"CREATE TABLE t2 (a INTEGER, b INTEGER)" "INSERT INTO t1 values(1, NULL), (1, 1)" "INSERT INTO t2 values(1, NULL), (1, 1)" "SELECT SUM(LEAST(a, b)) FROM t1" @@ -30483,11 +33458,21 @@ c2 varchar(7) NOT NULL ('2005-10-18 17:41:54','tyz'), ('2000-03-03 23:40:04','ityzg'), ('1900-01-01 10:10:10','wityzg')" +"SELECT +CONVERT(LEAST(c1, +CASE (COT(c2)) WHEN c1 THEN c2 ELSE 0 END ), +SIGNED) +FROM t1" "INSERT INTO t1 VALUES ('2007-05-16 19:15:59'), ('2004-10-19 22:37:33'), ('2000-08-16 05:05:15'), ('2001-11-04 19:07:55')" +"SELECT +STD( c1 % '2006-08-23 21:41:12.036166' ) +FROM t1 +GROUP BY BIN_TO_UUID( c1 ), +CAST( LEAST( c1, CONVERT(c1, UNSIGNED) ) AS DECIMAL )" "CREATE TABLE t(id INT PRIMARY KEY, set_col SET('a', 'b', 'c'), enum_col ENUM('d', 'e'))" @@ -30947,6 +33932,7 @@ FROM t1 ORDER BY a DESC" "select date_add('1000-01-01 00:00:00', interval '1.02' day_microsecond)" "SET TIMESTAMP=-147490000" "SELECT UTC_TIMESTAMP()" +"SET TIMESTAMP=2147483648" "SET TIMESTAMP=2147483646" "SET TIMESTAMP=2147483647" "SET TIMESTAMP=0" @@ -30997,6 +33983,7 @@ INDEX idx2(c2)) ENGINE=InnoDB" "SELECT WEEK(STR_TO_DATE(NULL,0))" "SELECT SUBDATE(STR_TO_DATE(NULL,0), INTERVAL 1 HOUR)" "SELECT MONTHNAME(0), MONTHNAME(0) IS NULL, MONTHNAME(0) + 1" +"SET default_storage_engine=NULL" "SET time_zone='+03:00'" "CREATE TABLE t1 (a DATETIME NOT NULL)" "INSERT INTO t1 VALUES ('2009-09-20 07:32:39.06')" @@ -31030,6 +34017,7 @@ WHERE CONVERT_TZ(TIMESTAMPADD(YEAR, a, DATE('0000-00-00')), "SELECT UNIX_TIMESTAMP(COUNT(1))" "SELECT CONCAT(UNIX_TIMESTAMP(COUNT(1)), '|')" "SET SESSION SQL_MODE=@savmode" +"DO MBRContains(1, if(0, coalesce(NULL), now()))" "CREATE TABLE t1 AS SELECT IF(0, coalesce(NULL), now(0)) + 0" "DO maketime(~0, 49, 0.123456789)" "DO is_used_lock(ifnull(now(), CASE 1 WHEN 1 THEN NULL END))" @@ -31038,6 +34026,24 @@ WHERE CONVERT_TZ(TIMESTAMPADD(YEAR, a, DATE('0000-00-00')), CURRENT_TIMESTAMP(0), LOCALTIMESTAMP(1), UTC_TIME(4), UTC_TIMESTAMP(4)" "CREATE VIEW v2 AS SELECT LOCATE(""."", SYSDATE(6)) != 0" "SET @@TIMESTAMP= DEFAULT" +"DO DAYOFYEAR(SEC_TO_TIME((~(((RELEASE_ALL_LOCKS())-((1)))))))" +"DO DAYOFYEAR(((MBRDISJOINT(0xbc,1))OR(WEEK(SEC_TO_TIME(419824656)))))" +"DO DAYOFYEAR(SEC_TO_TIME(OCT(BIT_AND(JSON_REPLACE((23533),'key3',NULL)))))" +"DO DAYOFYEAR(MAKETIME(((0x965a)^((@g :=(1 IS NULL)))), +EXP(39988664861.65638662152600787509), +((STD(@f))LIKE(1))))" +"DO DAYOFYEAR(MAKETIME('1981-06-27 11:16:09.211343', +(((NOT(ST_DISTANCE_SPHERE(POINT(4472,28027), +POINT(28061,-9007199254740996),-644021130))))<=>(@c)),(1)))" +"DO DAYOFYEAR(MAKETIME(ROUND(-23797,'6588-01-08'), +COERCIBILITY(BIT_COUNT(RTRIM((~( +INET6_NTOA(0xa04810f0839d318fa075bd)))))), +((ST_ASWKT(1))OR(1))))" +"SELECT PERIOD_ADD(-11924, 2892462180)" +"SELECT PERIOD_DIFF(200024, 200012)" +"SELECT PERIOD_DIFF(200012, 200024)" +"select period_add(-9223372036854775808,29880)" +"select period_diff(-9223372036854775808,201902)" "SELECT MAKEDATE(1, 8.381922e+307)" "SELECT timestampadd(year ,1.212208e+308,'1995-01-05 06:32:20.859724') as result" @@ -31084,6 +34090,12 @@ date_add('1995-01-05', INTERVAL -9223372036854775806 HOUR) as result" "CREATE TABLE t0022 ( c0000 text )" +"WITH cte1 AS +(SELECT(replace(sha2(0x9025c5c7, 0), +convert((1) using utf8mb3), +(!(cast((555) AS char(20)))))) AS a1 FROM t0022) +SELECT cte1.a1 +FROM cte1 WHERE cte1.a1 = from_unixtime(1537000917)" "DROP TABLE t0022" "CREATE TABLE t AS SELECT CAST(TO_DAYS('9999-12-31') AS CHAR) AS x, @@ -31130,7 +34142,17 @@ HEX(uuid_to_bin('{e60c88ba-083f-4ceb-be59-f67636d718a2}', TRUE)) AS b" HEX(uuid_to_bin('e60c88ba083f4cebbe59f67636d718a2', TRUE)) AS b" "SELECT HEX(uuid_to_bin('c8eb4b15-cb09-48bb-bbb2-e6a0b6b4d5c7', TRUE)) AS a, HEX(uuid_to_bin('e60c88ba-083f-4ceb-be59-f67636d718a2', TRUE)) AS b" +"SELECT uuid_to_bin('c8eb4b15-cb09-48bb-bbb2-e6a0b6b4d5cc7', TRUE) AS a" +"SELECT uuid_to_bin('12345678123456Z81234567812345678', TRUE) AS a" +"SELECT uuid_to_bin('12345678-1234-5678-1234-56781234567Z', TRUE) AS a" +"SELECT uuid_to_bin('e60c88ba-083f-4ceb-be59-f67636d718aa2', TRUE) AS b" +"SELECT uuid_to_bin('c8eb4b15-cb09-48bb-bbb2-e6a04d5cc7', TRUE) AS a" +"SELECT uuid_to_bin('e60c88ba-083f-4ceb-be59-f676318aa2', TRUE) AS b" "SELECT bin_to_uuid(unhex('7f9d04ae61b34468ac798ffcc984ab68')) AS a, bin_to_uuid(unhex('7f9d04ae61b34468ac898ffcc984ab68'),TRUE) AS b" +"SELECT bin_to_uuid(unhex('7f9d04ae61b34468ac798ffcc984ab668')) AS a" +"SELECT bin_to_uuid(unhex('7f9d04ae61b34468ac898ffcc984ab668'), TRUE) AS b" +"SELECT bin_to_uuid(unhex('7f9d04ae61b34468ac798ffcc98468')) AS a" +"SELECT bin_to_uuid(unhex('7f9d04ab34468ac898ffcc984ab668'), TRUE) AS b" "SELECT uuid_to_bin('{c8eb4b15-CB09-48bb-bbb2-e6a0b6b4d5c7}') = x'c8eb4b15cb0948bbbbb2e6a0b6b4d5c7'" "SELECT uuid_to_bin('{c8eb4b15-CB09-48bb-bbb2-e6a0b6b4d5c7}', TRUE) = x'48bbcb09c8eb4b15bbb2e6a0b6b4d5c7'" "SELECT bin_to_uuid(x'7f9d04ae61b34468ac798ffcc984ab68') = '7f9d04ae-61b3-4468-ac79-8ffcc984ab68'" @@ -31182,6 +34204,16 @@ x'12345678123456781234567812345678')" uuid_to_bin('c8eb4b15-cb09-48bb-bbb2-e6a0b6b4d5c7') AS a, uuid_to_bin('c8eb4b15-cb09-48bb-bbb2-e6a0b6b4d5c7', true) AS b" "CREATE TABLE t3 AS SELECT unhex(_bin) FROM at" +"SELECT bin_to_uuid(2)" +"SELECT uuid_to_bin(2)" +"SELECT bin_to_uuid()" +"SELECT uuid_to_bin()" +"SELECT bin_to_uuid(x'12345678123456781234567812345678', true, false)" +"SELECT uuid_to_bin('12345678-1234-5678-1234-567812345678', true, false)" +"SELECT bin_to_uuid(x'')" +"SELECT bin_to_uuid(x'', true)" +"SELECT uuid_to_bin('')" +"SELECT uuid_to_bin('', true)" "set @a=uuid()" "SELECT bin_to_uuid(uuid_to_bin(@a)) = @a" "PREPARE s FROM ""SELECT bin_to_uuid(x'7f9d04ae61b34468ac798ffcc984ab68',true)""" @@ -31210,6 +34242,8 @@ uuid_to_bin('c8eb4b15-cb09-48bb-bbb2-e6a0b6b4d5c7', true) AS b" "SELECT COUNT(DISTINCT v) FROM t" "select hex(weight_string(0x010203))" "select hex(weight_string('aa' as char(3)))" +"select hex(weight_string('a' as char(-1)))",,syntax_error +"select hex(weight_string('a' as char(0)))",,syntax_error "select hex(weight_string('a' as char(1)))" "select hex(weight_string('ab' as char(1)))" "select hex(weight_string('ab'))" @@ -31257,6 +34291,8 @@ uuid_to_bin('c8eb4b15-cb09-48bb-bbb2-e6a0b6b4d5c7', true) AS b" "CREATE TABLE t1 ( ch VARCHAR(1) COLLATE latin2_czech_cs )" "INSERT INTO t1 VALUES (0x4F)" "SELECT DISTINCT HEX(WEIGHT_STRING(ch)) FROM t1" +"DO ltrim(weight_string(1))" +"DO rtrim(weight_string(1))" "set default_storage_engine=innodb" "set default_storage_engine=myisam" "CREATE TABLE t1 (int_col INTEGER, string_col VARCHAR(255))" @@ -31280,23 +34316,36 @@ INDEX ((col1 * 6)))" "CREATE INDEX combined_index ON t1 ((int_col + int_col), string_col)" "EXPLAIN SELECT * FROM t1 WHERE int_col + int_col = 2 AND string_col = ""bar""" "ALTER TABLE t1 ADD COLUMN rand VARCHAR(255)" +"CREATE INDEX name_collision ON t1 ((rand(2)))" +"CREATE INDEX name_collision ON t1 ((`rand`(2)))" "CREATE TABLE t1 (f1 JSON, f2 VARCHAR(255))" "CREATE INDEX my_functional_index ON t1 ((CAST(f1 AS DECIMAL(2, 1))))" "CREATE INDEX my_functional_index_2 ON t1 ((CAST(f2 AS CHAR(1))))" +"CREATE INDEX idx1 ON t1 ((CAST(f2 AS JSON)))" "INSERT INTO t1 (f1) VALUES (CAST(1000 AS JSON))" "INSERT INTO t1 (f2) VALUES (""lorem ipsum"")" "SET @@sql_mode=DEFAULT" "CREATE TABLE t1 (t1_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY)" +"CREATE INDEX idx1 ON t1 ((t1_id + t1_id))" "CREATE TABLE t1 (col1 INT, col2 INT)" "CREATE INDEX idx1 ON t1 (col1, (col1 + col2))" "CREATE INDEX idx2 ON t1 ((col1 + 1), (col1 + 2), (col1 + 3), (col1 + 4), (col1 + 5))" +"ALTER TABLE t1 ADD COLUMN `!hidden!idx1!1!0` INT NOT NULL" "ALTER TABLE t1 ADD COLUMN `!hidden!idx3!0!0` INT NOT NULL" "CREATE INDEX idx3 ON t1 ((col1-col2))" +"ALTER TABLE t1 ADD COLUMN `!hidden!idx3!0!1` INT NOT NULL" "ALTER TABLE t1 ADD INDEX ((ABS(col1))), ADD INDEX ((ABS(col2)))" "ALTER TABLE t1 ADD COLUMN col3 INT, ADD INDEX ((col1 - col3))" "CREATE TABLE t1 (col1 INT, INDEX ((ABS(col1))))" "CREATE INDEX idx ON t1 ((ABS(a)))" +"CREATE TABLE t1 (col1 INT, INDEX ((CONCAT(''))))" +"CREATE TABLE t1 (col1 INT, PRIMARY KEY ((ABS(col1))))" +"CREATE TABLE t1 (col1 INT, PRIMARY KEY (col1, (ABS(col1))))" +"CREATE TABLE t1 (col1 INT, col2 INT, PRIMARY KEY (col1, (ABS(col1)), col2))" +"ALTER TABLE t1 ADD PRIMARY KEY ((ABS(col1)))" +"ALTER TABLE t1 ADD PRIMARY KEY (col2, (ABS(col1)))" +"ALTER TABLE t1 ADD PRIMARY KEY (col1, col2, (ABS(col1)))" "CREATE TABLE t1 (col1 INT, INDEX ((ABS(col1)) DESC))" "EXPLAIN SELECT col1 FROM t1 WHERE ABS(col1) < 1 ORDER BY ABS(col1) DESC" "CREATE TABLE t1(f1 JSON, INDEX idx1 ((CAST(f1->""$.id"" AS UNSIGNED))))" @@ -31333,17 +34382,30 @@ ON t1 ((col1 + 1), (col1 + 2), (col1 + 3), (col1 + 4), (col1 + 5))" "SELECT * FROM t1 WHERE CAST(f1->>""$.name"" AS CHAR(30)) COLLATE utf8mb4_bin = ""james""" "EXPLAIN SELECT * FROM t1 WHERE CAST(f1->>""$.name"" AS CHAR(30)) COLLATE utf8mb4_bin = ""james""" "CREATE TABLE t1 (col1 INT, INDEX idx1 ((col1 + col1)))" +"UPDATE t1 SET `!hidden!idx1!0!0` = 123" "CREATE TABLE t3 (c1 INT)" "CREATE INDEX int_func_index ON t3 ((ABS(c1)))" +"SELECT * FROM t3 WHERE `!hidden!int_func_index!0!0`=1" "CREATE TABLE t6 (c1 INT, c2 INT)" "CREATE INDEX int_func_index ON t6 ((ABS(c1)))" "ALTER TABLE t6 DROP COLUMN c2" +"CREATE TABLE t1(x VARCHAR(100), KEY ((ST_GeomFromText(x))))" "CREATE TABLE t1(x VARCHAR(30), INDEX idx ((CAST(x->>'$.name' AS CHAR(30)))))" "INSERT INTO t1 VALUES ('{""name"":""knut""}')" "EXPLAIN FORMAT=JSON SELECT * FROM t1 WHERE CAST(x->>'$.name' AS CHAR(30)) = 'knut'" "CREATE TABLE t(x INT, KEY((1+1)))" +"ALTER TABLE t DROP COLUMN x" "CREATE TABLE t (x INT)" "CREATE INDEX idx ON t ((x+1))" +"CREATE INDEX idx ON t ((x+2))" +"CREATE TABLE t2(a INT, b INT, INDEX id2 ((a)))" +"CREATE TABLE t2(a INT, b INT, INDEX id2 ((a+b+c)))" +"CREATE TABLE IF NOT EXISTS table470 ( pk INTEGER AUTO_INCREMENT, a1 +VARCHAR(3) NOT NULL, b1 DATETIME NOT NULL, c1 TEXT NOT NULL, d1 TEXT NULL, +PRIMARY KEY (a1), KEY ((VALUES(d1))))" +"CREATE TABLE table44 ( pk INTEGER AUTO_INCREMENT, a1 TEXT NOT NULL, b1 +DATETIME NOT NULL, c1 TIME NOT NULL, d1 BLOB NOT NULL, PRIMARY KEY (a1), KEY +((VALUES(d1))))" "CREATE TABLE t1 ( pk int(11) NOT NULL AUTO_INCREMENT, col_int_nokey int(11) DEFAULT NULL, @@ -31367,6 +34429,10 @@ KEY ind211 ((cast(col_date_nokey as date))), KEY ind602 ((is_uuid(col_time_nokey))) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci" +"CREATE INDEX ind320 ON t1 ((pk >= col_time_nokey LIKE +ST_GeomFromGeoJSON(col_varchar_key) ))" +"CREATE TABLE t(a INT, b INT, INDEX c((null)))" +"CREATE TABLE t1(x INT, KEY `` ((x + 1)))" "CREATE TABLE t(x VARCHAR(10), KEY k ((CAST(CONCAT(x,x) AS BINARY))))" "INSERT INTO t VALUES ('x')" "EXPLAIN SELECT * FROM t WHERE CONCAT(x,x) = 'XX'" @@ -31381,21 +34447,30 @@ col1 FLOAT , INDEX ((ADDDATE(col2, INTERVAL 2 DAY))) , INDEX ((ABS(col3))) )" +"CREATE TABLE t1 ( +col4 TEXT NOT NULL +, INDEX ((ST_AsBinary(col4))) +)" "CREATE TABLE t1 (col1 INT, col2 INT, col3 INT, INDEX idx ((col1 + col2 + col3)))" -"ALTER TABLE t1 DROP INDEX idx" +"ALTER TABLE t1 DROP COLUMN col2" "ALTER TABLE t1 DROP COLUMN col3" +"ALTER TABLE t1 DROP INDEX idx" "CREATE TABLE t ( col1 INT , UNIQUE INDEX regular_index (col1) , UNIQUE INDEX functional_index ((ABS(col1))))" "SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE table_name = ""t""" -"CREATE TABLE t1 (x INT)" +"CREATE TABLE t2 (y INT, KEY (((SELECT * FROM t1))))" +"CREATE TABLE t2 (y INT, KEY (((SELECT x FROM t1))))" +"CREATE TABLE t2 (y INT, KEY (((SELECT 1 FROM t1))))" +"CREATE TABLE t (j JSON, KEY k (((j,j))))" "CREATE TABLE t1 ( j1 JSON, j3 JSON, KEY my_idx ((CAST(j1->'$[0]' as SIGNED))), KEY my_idx_char ((CAST(j3->'$[0]' as CHAR(10)))) )" +"ALTER TABLE t1 RENAME KEY my_idx_char TO my_idx" "CREATE TABLE t1 (col1 INT, INDEX ((col1 + col1)))" "SELECT COLUMN_NAME, ORDINAL_POSITION FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ""t1""" @@ -31519,6 +34594,7 @@ KEY this_is_a_very_long_index_name_in_fact_it_is_64_characters_long_ "SET SESSION debug='+d,show_hidden_columns'" "SET SESSION debug='-d,show_hidden_columns'" "CREATE TABLE t2 (c1 INT)" +"CREATE INDEX name_collision ON t2((ABS(cq)))" "CREATE TABLE t1 ( col1 INT, INDEX idx ((PI())) @@ -31561,13 +34637,25 @@ COLLATE=utf8mb4_0900_ai_ci" "CREATE TABLE t1 ( col1 INT , INDEX myKey ((ABS(col1))))" +"ALTER TABLE t1 DROP COLUMN `!HIdDEN!MYkEY!0!0`" "ALTER TABLE t1 RENAME INDEX myKEY TO renaMEDkey" "ALTER TABLE t1 DROP INDEX renamedkey" "CREATE TABLE table1130 ( pk INTEGER AUTO_INCREMENT, a1 INTEGER NOT NULL, b1 INTEGER NULL, c1 BLOB NULL, d1 VARCHAR(2) NULL, PRIMARY KEY (pk), KEY ((COALESCE(a1))))" "DROP TABLE table1130" +"CREATE TABLE table29 ( +pk INTEGER AUTO_INCREMENT +, a1 VARCHAR(5) NOT NULL +, PRIMARY KEY (pk) +, KEY ((a1)))" "CREATE TABLE t1(a INT, b INT, c INT, UNIQUE INDEX i((a+b)))" +"ALTER TABLE t1 ADD INDEX p(a9e26254e651465c89ff715d5733e97c)" +"ALTER TABLE t1 ADD INDEX g((a + a9e26254e651465c89ff715d5733e97c))" +"CREATE TABLE table1286 (a1 BIT(24) NULL, KEY ((a1)))" +"CREATE TABLE table276 ( pk INTEGER AUTO_INCREMENT, a1 +SET('Nebraska','gfjzdfpngmbhvftlmiwrgduhdsbnkswbacwjvotkav','fjzdf') NULL, +PRIMARY KEY (pk), KEY ((a1)) )" "CREATE TABLE t1( e ENUM('a', 'bbb', 'cccccc') , s SET('a', 'bbb', 'cccccc') @@ -31575,6 +34663,11 @@ e ENUM('a', 'bbb', 'cccccc') , KEY ((NULLIF(e, null))) , KEY ((NULLIF(s, null))) , KEY ((NULLIF(b, null))))" +"CREATE TABLE table121 ( +pk INTEGER AUTO_INCREMENT +, a1 SET('Michigan','w','d') NOT NULL +, PRIMARY KEY (pk) +, KEY ((ST_Centroid(a1))))" "CREATE TABLE t1 ( col1 INT , INDEX idx1 ((SOUNDEX(col1))))" @@ -31615,6 +34708,12 @@ FULLTEXT KEY aobor (aobor) (PARTITION p0 VALUES LESS THAN (2011), PARTITION p1 VALUES LESS THAN (2022))" "CREATE TABLE t1 (f1 INT, f2 INT) ENGINE = MyISAM" +"CREATE TABLE t1 (my_row_id INT, f2 INT)" +"CREATE TABLE t1(f1 INT NOT NULL AUTO_INCREMENT, f2 INT, key(f1))" +"CREATE TABLE t1 (f1 INT, f2 DATE) PARTITION BY KEY(f2) PARTITIONS 2" +"CREATE TABLE t1 (f1 INT, f2 INT NOT NULL UNIQUE) PARTITION BY RANGE (f2) +(PARTITION p0 VALUES LESS THAN (2011), +PARTITION p1 VALUES LESS THAN (2022))" "CREATE TEMPORARY TABLE t1(f1 INT)" "CREATE TABLE t1(f1 INT NOT NULL UNIQUE)" "CREATE TEMPORARY TABLE t1 (f1 INT NOT NULL UNIQUE)" @@ -31629,17 +34728,28 @@ PARTITION p1 VALUES LESS THAN (2022))" "SET SESSION sql_require_primary_key=OFF" "CREATE TABLE t2 (f1 INT NOT NULL UNIQUE) AS SELECT * FROM t1" "CREATE TABLE t2 (f1 INT, PRIMARY KEY(f1)) AS SELECT * FROM t1" +"CREATE TABLE t2 AS SELECT f1, my_row_id FROM t1" "CREATE TABLE t2(my_row_id INT PRIMARY KEY) AS SELECT f1, my_row_id FROM t1" "CREATE TABLE t2 (f1 INT, f2 INT)" "SET SESSION sql_generate_invisible_primary_key = OFF" "ALTER TABLE t1 DROP COLUMN my_row_id" +"ALTER TABLE t2 DROP PRIMARY KEY, ADD PRIMARY KEY(f2)" "ALTER TABLE t2 DROP PRIMARY KEY, DROP COLUMN my_row_id, ADD PRIMARY KEY (f2)" "SET SESSION sql_generate_invisible_primary_key = ON" "CREATE TABLE t3 (f1 INT)" "CREATE TEMPORARY TABLE t4 (f1 INT)" "ALTER TABLE t1 DROP COLUMN my_row_id, ADD PRIMARY KEY(f1)" +"ALTER TABLE t2 DROP PRIMARY KEY" +"ALTER TABLE t2 DROP PRIMARY KEY, ADD PRIMARY KEY(f1)" "ALTER TABLE t2 DROP PRIMARY KEY, DROP COLUMN my_row_id, ADD PRIMARY KEY(f1)" +"DROP INDEX `PRIMARY` ON t3" +"ALTER TABLE t4 DROP PRIMARY KEY" +"ALTER TABLE t4 DROP PRIMARY KEY, ADD PRIMARY KEY(f1)" "ALTER TABLE t4 DROP PRIMARY KEY, DROP COLUMN my_row_id, ADD PRIMARY KEY(f1)" +"ALTER TABLE t1 DROP PRIMARY KEY, DROP COLUMN my_row_id, ADD UNIQUE KEY(f1)" +"ALTER TABLE t2 DROP PRIMARY KEY, DROP COLUMN my_row_id, ADD UNIQUE KEY(f1)" +"ALTER TABLE t1 ADD PRIMARY KEY(f1)" +"ALTER TABLE t2 ADD PRIMARY KEY(f1)" "ALTER TABLE t1 ADD UNIQUE KEY(f1)" "ALTER TABLE t2 ADD UNIQUE KEY(f1)" "ALTER TABLE t1 ENGINE='MyISAM'" @@ -31676,6 +34786,8 @@ DROP COLUMN my_row_id" "CREATE TEMPORARY TABLE t1(f2 INT)" "ALTER TABLE t1 ADD COLUMN my_row_id bigint unsigned NOT NULL AUTO_INCREMENT INVISIBLE FIRST, ADD PRIMARY KEY(my_row_id)" +"ALTER TABLE t1 MODIFY my_row_id INT" +"ALTER TABLE t1 PARTITION BY KEY(my_row_id) PARTITIONS 10" "CREATE TABLE t1 (f1 INT) PARTITION BY RANGE(f1) (PARTITION p1 VALUES LESS THAN (1991))" "ALTER TABLE t1 REMOVE PARTITIONING" "CREATE PROCEDURE p1() BEGIN @@ -31754,6 +34866,11 @@ ALGORITHM=INPLACE" @saved_session_show_gipk_in_create_table_and_information_schema" "SET SESSION sql_generate_invisible_primary_key = @saved_session_sql_generate_invisible_primary_key" +"CREATE TABLE t1 (get INT)",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE get INT DEFAULT 1; +END",,syntax_error "CREATE TABLE t1 (`get` INT)" "INSERT INTO t1 (`get`) values (1)" "SELECT `get` FROM t1 WHERE `get` = 1" @@ -31774,6 +34891,44 @@ DECLARE number INT DEFAULT 3; DECLARE returned_sqlstate INT DEFAULT 4; SELECT current, diagnostics, number, returned_sqlstate; END" +GET,,syntax_error +"GET CURRENT",,syntax_error +"GET CURRENT DIAGNOSTICS",,syntax_error +"GET DIAGNOSTICS @var",,syntax_error +"GET DIAGNOSTICS var",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +GET DIAGNOSTICS var; +END",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE var INT; +GET DIAGNOSTICS var; +END",,syntax_error +"GET DIAGNOSTICS @var =",,syntax_error +"GET DIAGNOSTICS @var = INVALID",,syntax_error +"GET DIAGNOSTICS @var = MORE",,syntax_error +"GET DIAGNOSTICS @var = CLASS_ORIGIN",,syntax_error +"GET DIAGNOSTICS @var = INVALID,",,syntax_error +"GET DIAGNOSTICS @var1 = NUMBER, @var2",,syntax_error +"GET DIAGNOSTICS @var1 = NUMBER, @var2 = INVALID",,syntax_error +"GET DIAGNOSTICS @@var1 = NUMBER",,syntax_error +"GET DIAGNOSTICS @var1 = NUMBER, @@var2 = NUMBER",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE var INT; +GET DIAGNOSTICS var = INVALID; +END",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE var CONDITION FOR SQLSTATE '12345'; +GET DIAGNOSTICS var = NUMBER; +END" +"CREATE PROCEDURE p1() +BEGIN +DECLARE var INT; +GET DIAGNOSTICS var = NUMBER, var1 = ROW_COUNT; +END" "GET DIAGNOSTICS @var = NUMBER" "GET DIAGNOSTICS @var = ROW_COUNT" "GET DIAGNOSTICS @var1 = NUMBER, @var2 = ROW_COUNT" @@ -31788,6 +34943,43 @@ GET DIAGNOSTICS var = ROW_COUNT; GET DIAGNOSTICS var1 = NUMBER, var2 = ROW_COUNT; GET DIAGNOSTICS var1 = ROW_COUNT, var2 = NUMBER; END" +"GET DIAGNOSTICS CONDITION",,syntax_error +"GET DIAGNOSTICS CONDITION a",,syntax_error +"GET DIAGNOSTICS CONDITION 1",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @var",,syntax_error +"GET DIAGNOSTICS CONDITION 1 var",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +GET DIAGNOSTICS CONDITION 1 var; +END",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE var INT; +GET DIAGNOSTICS CONDITION 1 var; +END",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @var =",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @var = INVALID",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @var = NUMBER",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @var = INVALID,",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @var1 = CLASS_ORIGIN, @var2",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @var1 = CLASS_ORIGIN, @var2 = INVALID",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @@var1 = CLASS_ORIGIN",,syntax_error +"GET DIAGNOSTICS CONDITION 1 @var1 = CLASS_ORIGIN, @@var2 = CLASS_ORIGIN",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE var INT; +GET DIAGNOSTICS CONDITION 1 var = INVALID; +END",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE var CONDITION FOR SQLSTATE '12345'; +GET DIAGNOSTICS CONDITION 1 var = NUMBER; +END",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE var INT; +GET DIAGNOSTICS CONDITION 1 var = CLASS_ORIGIN, var1 = SUBCLASS_ORIGIN; +END" "GET DIAGNOSTICS CONDITION 1 @var = CLASS_ORIGIN" "GET DIAGNOSTICS CONDITION 1 @var = SUBCLASS_ORIGIN" "GET DIAGNOSTICS CONDITION 1 @var1 = CLASS_ORIGIN, @var2 = SUBCLASS_ORIGIN" @@ -31802,6 +34994,12 @@ GET DIAGNOSTICS CONDITION 1 var = SUBCLASS_ORIGIN; GET DIAGNOSTICS CONDITION 1 var1 = CLASS_ORIGIN, var2 = SUBCLASS_ORIGIN; GET DIAGNOSTICS CONDITION 1 var1 = SUBCLASS_ORIGIN, var2 = CLASS_ORIGIN; END" +"GET DIAGNOSTICS CONDITION -1 @var = CLASS_ORIGIN",,syntax_error +"GET DIAGNOSTICS CONDITION 1+1 @var = CLASS_ORIGIN",,syntax_error +"GET DIAGNOSTICS CONDITION ? @var = CLASS_ORIGIN",,syntax_error +"GET DIAGNOSTICS CONDITION (1) @var = CLASS_ORIGIN",,syntax_error +"GET DIAGNOSTICS CONDITION p1() @var = CLASS_ORIGIN",,syntax_error +"GET DIAGNOSTICS CONDITION ABS(2) @var = CLASS_ORIGIN",,syntax_error "GET DIAGNOSTICS CONDITION 1.1 @var = CLASS_ORIGIN" "GET DIAGNOSTICS CONDITION ""1"" @var = CLASS_ORIGIN" "SELECT COUNT(max_questions) INTO @var FROM mysql.user" @@ -31823,6 +35021,8 @@ DECLARE cond TEXT; DECLARE var INT; GET DIAGNOSTICS CONDITION cond var = CLASS_ORIGIN; END" +"PREPARE stmt FROM ""GET DIAGNOSTICS CONDITION 1 @var = CLASS_ORIGIN""" +"PREPARE stmt FROM ""GET DIAGNOSTICS @var = NUMBER""" "SELECT CAST(-19999999999999999999 AS SIGNED)" "GET DIAGNOSTICS CONDITION 99999 @var = CLASS_ORIGIN" "SELECT CAST(-19999999999999999999 AS SIGNED), @@ -32083,6 +35283,9 @@ BEGIN DECLARE stacked INT DEFAULT 1; SELECT stacked; END" +"GET STACKED",,syntax_error +"GET STACKED DIAGNOSTICS",,syntax_error +"GET STACKED DIAGNOSTICS @var1 = NUMBER" "CREATE PROCEDURE p1() GET STACKED DIAGNOSTICS @var1 = NUMBER" "CREATE FUNCTION f1() RETURNS INT BEGIN @@ -32234,6 +35437,8 @@ WAIT_FOR cont_retry_TB1'" "select ST_astext(ST_symdifference(ST_GeomFromText('polygon((0 0, 1 0, 0 1, 0 0))'), ST_GeomFromText('polygon((0 0, 1 1, 0 2, 0 0))')))" "select ST_astext(ST_buffer(ST_geometryfromtext('point(1 1)'), 1))" "create table t1(geom geometrycollection)" +"insert into t1 values (ST_GeomFromText('POLYGON((0 0, 10 10, 0 8, 0 0))'))" +"insert into t1 values (ST_GeomFromText('POLYGON((1 1, 10 10, 0 8, 1 1))'))" "select ST_astext(geom), ST_area(geom),ST_area(ST_buffer(geom,2)) from t1" "select ST_NUMPOINTS(ST_EXTERIORRING(ST_buffer(geom,2))) from t1" "set @geom=ST_GeomFromText('LINESTRING(2 1, 4 2, 2 3, 2 5)')" @@ -32282,6 +35487,11 @@ ST_GeomFromText('POLYGON((525298.67 183511.53,525296.57 183493.04,525269.88 183485.82,525266.99 183484.33,525263.26 183491.55))'))) st_u" "SET @a=0x0000000001030000000200000005000000000000000000000000000000000000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000000000000F03F000000000000F03F0000000000000040000000000000F03F00000000000000400000000000000040000000000000F03F0000000000000040000000000000F03F000000000000F03F" +"SELECT ST_ASTEXT(ST_TOUCHES(@a, ST_GEOMFROMTEXT('point(0 0)'))) t" +"select st_union((cast(linestring(point(6,-68), point(-22,-4)) as binary(13))), +st_intersection(point(6,8),multipoint(point(3,1),point(-4,-6),point(1,6),point(-3,-5),point(5,4))))" +"select st_difference((convert(st_polygonfromwkb(linestring(point(1,1))) using gb18030)), +st_geomcollfromwkb(point(1,1)))" "select ST_astext(ST_geomfromwkb(ST_AsWKB(st_intersection(linestring(point(-59,82),point(32,29)), point(2,-5))))) as result" "SELECT ST_AsText(ST_Symdifference(ST_GeomFromText('POLYGON((5 0,15 25,25 0,15 5,5 0))'),ST_GeomFromText('POLYGON((5 0,15 25,25 0,15 5,5 0))')))" "SELECT st_equals(ST_GeomFromWKB(ST_AsWKB(Polygon(Linestring(Point(0, 0),Point(1, 0),Point(1, 1),Point(0, 1), Point(0, 0))))), @@ -32367,8 +35577,20 @@ st_intersection(ST_GeomFromText('point(0 0)'), ST_GeomFromText('point(1 1)')))" st_intersection(ST_GeomFromText('point(0 0)'), ST_GeomFromText('point(1 1)')))" "select st_crosses(st_union(ST_GeomFromText('point(1 1)'), ST_GeomFromText('multipoint(2 2, 3 3)')), st_intersection(ST_GeomFromText('point(0 0)'), ST_GeomFromText('point(1 1)')))" +"select +st_within( +multipoint(point(4,2),point(-6,-8)), +polygon( +linestring(point(13,0),point(13,0)), +linestring(point(2,4), point(2,4)) +))" "SELECT ST_AsText(ST_GeomFromText('GeometryCollection()'))" "SELECT ST_AsText(ST_GeomFromText('GeometryCollection(GeometryCollection())'))" +"SELECT ST_AsText(ST_GeomFromText('GeometryCollection(,)'))" +"SELECT ST_AsText(ST_GeomFromText('GeometryCollection(())'))" +"SELECT ST_AsText(ST_GeomFromText('GeometryCollection(point(0 0),)'))" +"SELECT ST_AsText(ST_GeomFromText('GeometryCollection(,point(0 0))'))" +"SELECT ST_AsText(ST_GeomFromText('GeometryCollection((point(0 0)))'))" "SELECT ST_AsText(ST_GeomFromText('GeometryCollection(GeometryCollection(Point(1 1)))'))" "SELECT ST_AsText(ST_GeomFromText('GeometryCollection(GeometryCollection(Point(1 1)), GeometryCollection(linestring(1 1, 2 2)))'))" "SELECT ST_AsText(st_union(ST_GeomFromText('GeometryCollection(GeometryCollection(Point(1 1)), GeometryCollection(linestring(1 1, 2 2)))'), @@ -32412,10 +35634,14 @@ Point(0, 0)))))))) as Result" "select st_astext(st_symdifference(ST_GeometryFromText('geometrycollection(polygon((0 0, 2 0, 2 1, 0 1, 0 0)))'), ST_GeometryFromText('geometrycollection(polygon((1 0, 3 0, 3 1, 1 1, 1 0)))')))" "select ST_astext(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(1, 0), Point(0, 0))))" "select ST_astext(ST_envelope(ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(1, 0), Point(0, 0)))))))" +"select ST_astext(ST_centroid(ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(1, 0), Point(0, 0)))))))" +"select ST_astext(ST_convexhull(ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(1, 0), Point(0, 0)))))))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('GEOMETRYCOLLECTION(POINT(10 10),MULTIPOINT(0 0,10 10))')))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('linestring(0 0, 1 1, 2 2)')))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('multipoint(0 0, 1 1, 2 2)')))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('multilinestring((0 0, 1 1, 2 2), (3 3, 4 4, 5 5))')))" +"SELECT ST_AsText(ST_Centroid(ST_GeomFromText('polygon((0 0, 1 1, 2 2, 0 0), (3 3, 4 4, 5 5, 3 3))')))" +"SELECT ST_AsText(ST_Centroid(ST_GeomFromText('multipolygon(((0 0, 1 1, 2 2, 0 0), (3 3, 4 4, 5 5, 3 3)), ((0 0, 1 0, 1 1, 0 1, 0 0)))')))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('geometrycollection(polygon((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)), polygon((0 0, 1 0, 1 1, 0 1, 0 0)))')))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('multipolygon(((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)), ((0 0, 1 0, 1 1, 0 1, 0 0)))')))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('multipolygon(((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)))')))" @@ -32425,6 +35651,8 @@ Point(0, 0)))))))) as Result" "SELECT ST_AsText(ST_Convexhull(ST_GeomFromText('linestring(0 0, 1 1, 2 2)')))" "SELECT ST_AsText(ST_Convexhull(ST_GeomFromText('multipoint(0 0, 1 1, 2 2)')))" "SELECT ST_AsText(ST_Convexhull(ST_GeomFromText('multilinestring((0 0, 1 1, 2 2), (3 3, 4 4, 5 5))')))" +"SELECT ST_AsText(ST_Convexhull(ST_GeomFromText('polygon((0 0, 1 1, 2 2, 0 0), (3 3, 4 4, 5 5, 3 3))')))" +"SELECT ST_AsText(ST_Convexhull(ST_GeomFromText('multipolygon(((0 0, 1 1, 2 2, 0 0), (3 3, 4 4, 5 5, 3 3)), ((0 0, 1 0, 1 1, 0 1, 0 0)))')))" "SELECT ST_AsText(ST_Convexhull(ST_GeomFromText('geometrycollection(polygon((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)), polygon((0 0, 1 0, 1 1, 0 1, 0 0)))')))" "SELECT ST_AsText(ST_Convexhull(ST_GeomFromText('multipolygon(((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)), ((0 0, 1 0, 1 1, 0 1, 0 0)))')))" "SELECT ST_AsText(ST_Convexhull(ST_GeomFromText('multipolygon(((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)))')))" @@ -32442,7 +35670,11 @@ Point(0, 0)))))))) as Result" "Select ST_Area(ST_PolygonFromText('POLYGON((1 1, 10 1, 1 0, 10 0, 1 -1, 10 -1, 7 2, 7 -2, 4 2, 4 -2, 1 1))')) as Result" "Select ST_AsText(ST_Centroid(ST_PolyFromText('POLYGON((1 1, 10 1, 10 20, 1 20, 1 1), (-1 -1, -10 -1, -10 -15, -1 -15, -1 -1))'))) as Result" "Select ST_AsText(ST_Centroid(ST_MultiPolygonFromText('MULTIPOLYGON(((1 1, 10 1, 10 20, 1 20, 1 1),(-1 -1, -10 -1, -10 -15, -1 -15, -1 -1)))'))) as Result" +"Select ST_AsText(ST_Centroid(ST_PolyFromText('POLYGON((1 1, 10 1, 10 20, 1 20, 1 1), (5 5))'))) as Result" +"Select ST_AsText(ST_Centroid(ST_PolyFromText('POLYGON((1 1, 10 1, 10 20, 1 20, 1 1), (1 1))'))) as Result" "Select ST_AsText(ST_Centroid(ST_PolyFromText('POLYGON((1 1, 10 1, 10 20, 1 20, 1 1), (5 5, 6 5, 6 6, 5 6, 5 5))'))) as Result" +"Select ST_AsText(ST_Centroid(ST_PolyFromText('POLYGON((1 0, 2 0, 3 0, 4 0, 5 0, 1 0))'))) as Result" +"Select ST_AsText(ST_Centroid(ST_PolyFromText('POLYGON((1 0, 2 0, 3 0, 4 0, 5 0, 1 0), (2 0, 3 0, 2 0))'))) as Result" "Select ST_AsText(ST_Centroid(ST_MultiPolygonFromText('MULTIPOLYGON(((1 1, 2 1, 2 3, 1 3, 1 1),(1 1, 2 1, 2 3, 1 3, 1 1)),((1 1, 2 1, 2 3, 1 3, 1 1)))'))) as Result" "Select ST_AsText(ST_Centroid(ST_MultiPolygonFromText('MULTIPOLYGON(((1 1, 2 1, 2 3, 1 3, 1 1),(1 1, 2 1, 2 3, 1 3, 1 1)),((20 20, 30 20, 30 40, 20 40, 20 20)))'))) as Result" "select ST_astext(ST_MPointFromWKB(ST_AsWKB(MultiPoint(Point('0', '0'),Point('-0', '0'), Point('0', '-0'))))) as result" @@ -32475,6 +35707,12 @@ Point(0, 0)))))))) as Result" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0,0 10,-10 10,-10 0,0 0)),POLYGON((0 0,0 10,10 10,10 0,0 0)))')))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0,0 10,10 10,10 0,0 0)),POLYGON((0 0,0 -10,10 -10,10 0,0 0)))')))" "SELECT ST_AsText(ST_Centroid(ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0,0 10,10 10,10 0,0 0)),POLYGON((0 0,10 0,10 -10,0 -10,0 0)))')))" +"select (ST_aswkb(cast(st_union(multipoint( +point(8,6), point(1,-17679), +point(-9,-9)), +linestring(point(91,12), point(-77,49), +point(53,-81)))as binary(40)))) +in ('1','2')" "SELECT ST_Distance(ST_GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 0,10 10,20 20),GEOMETRYCOLLECTION())'),ST_GeomFromText('LINESTRING(5 0,10 0)'))" "SELECT ST_Distance(ST_GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 0,10 10,20 20),GEOMETRYCOLLECTION())'),ST_GeomFromText('multipoint(5 0,10 0)'))" "SELECT ST_Distance(ST_GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 0,10 10,20 20))'),ST_GeomFromText('LINESTRING(5 0,10 0)'))" @@ -32491,7 +35729,10 @@ Point(0, 0)))))))) as Result" "SELECT ST_AsText(ST_ConvexHull(ST_GeomFromText('POINT(0 -0)')))" "SELECT ST_AsText(ST_ConvexHull(ST_GeomFromText('POINT(-0 0)')))" "SELECT ST_AsText(ST_ConvexHull(ST_GeomFromText('POINT(0 -0)'))) =ST_AsText(ST_ConvexHull(ST_GeomFromText('POINT(-0 0)'))) " +"SELECT ST_AsText(ST_Envelope(ST_GeomFromText('POLYGON((0 0))')))" +"SELECT ST_AsText(ST_Envelope(ST_GeomFromText('POLYGON((0 0,5 5))')))" "SELECT ST_AsText(ST_Envelope(ST_GeomFromText('POLYGON((0 0,5 5,10 10, 0 0))')))" +"SELECT ST_AsText(ST_Envelope(ST_GeomFromText('MULTIPOLYGON(((0 0,5 5)),((1 1,1 1,1 1,1 1)))')))" "Select st_astext(st_centroid(ST_GeomFromText('geometrycollection(polygon((0 0,0 10,10 10,10 0,0 0)))')))" "Select st_astext(st_centroid(ST_GeomFromText('geometrycollection(geometrycollection(),polygon((0 0,0 10,10 10,10 0,0 0)))')))" "Select st_astext(st_convexhull(ST_GeomFromText('geometrycollection(polygon((0 0,0 10,10 10,10 0,0 0)))')))" @@ -32500,6 +35741,9 @@ Point(0, 0)))))))) as Result" "select st_distance(ST_GeomFromText('geometrycollection(geometrycollection(),polygon((0 0,0 10,10 10,10 0,0 0)))'),ST_GeomFromText('point(100 100)'))" "Select st_distance(ST_GeomFromText('geometrycollection(polygon((0 0,0 10,10 10,10 0,0 0)))'),ST_GeomFromText('point(100 100)'))" "Select st_distance(ST_GeomFromText('geometrycollection(polygon((0 0,0 10,10 10,10 0,0 0)))'),ST_GeomFromText('linestring(0 0,10 10)'))" +"SELECT ST_AsText(ST_ConvexHull(ST_GeomFromText('GeometryCollection(POLYGON((0 0)))')))" +"SELECT ST_AsText(ST_Centroid(ST_GeomFromText('GeometryCollection(POLYGON((0 0)))')))" +"SELECT ST_DISTANCE(ST_GeomFromText('POLYGON((0 0, 1 1))'), ST_GeomFromText('POLYGON((1 0, 0 1))'))" "select st_astext(st_makeenvelope(st_geomfromtext('point(0 0)'), st_geomfromtext('point(2 2)')))" "select st_astext(st_makeenvelope(st_geomfromtext('point(0 0)'), st_geomfromtext('point(-22 -11)')))" "select st_distance_sphere(st_geomfromtext('point(-120 45)'), st_geomfromtext('point(30.24 68.37)'))" @@ -32518,6 +35762,13 @@ Point(0, 0)))))))) as Result" "set @centroid_point = ST_CENTROID(ST_UNION(ST_UNION(ST_GEOMFROMTEXT('MULTILINESTRING((-556 966,-721 -210),(-202 390,-954 804,682 504,-394 -254,832 371,907 -369,827 126,-567 -337,-304 -555,-957 -483,-660 792),(-965 -940,814 -804,-477 -909,-128 57,-819 880,761 497,-559 40,-431 427,179 -291,-707 315,137 -781,-416 -371,-5 -156),(-600 -570,-481 -191,991 -361,768 888,-647 566,795 -861,-82 -575,-593 539))'), ST_GEOMFROMTEXT('MULTIPOLYGON(((805 69,249 708,147 455,546 -672,-218 843,458 24,-630 -420,-83 -69, 805 69)),((196 -219,-201 663,-867 521,-910 -315,-749 801,-402 820,-167 -817,-526 -163,744 -988,-588 -370,573 695,-597 513,-246 439, 196 -219)),((32 -903,189 -871,-778 -741,784 340,403 -555,607 -540,-513 -982,700 -124,344 732,714 151,-812 -252,-440 -895,-426 231,-819 -357, 32 -903)),((-395 830,454 -143,788 -279,618 -843,-490 -507,-224 17, -395 830)))')), ST_INTERSECTION(ST_UNION(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(-169 -570),MULTIPOINT(384 290,-601 123,408 86,-616 -300,160 -474,-979 -4,-63 -824,-689 -765,-219 802,-54 -93,191 -982,-723 -449),MULTILINESTRING((683 4,864 -634,548 -891,727 -691,-570 32,-334 -438,127 -317,241 -12,-807 947,-987 693,-345 -867,854 -106)),MULTIPOINT(384 290,-601 123,408 86,-616 -300,160 -474,-979 -4,-63 -824,-689 -765,-219 802,-54 -93,191 -982,-723 -449),MULTIPOLYGON(((266 51,851 523,-781 366,-607 -581, 266 51)),((416 -450,-973 880,103 226,-896 -857,-369 761, 416 -450)),((168 171,26 -99,-606 -490,-174 -138,-325 -218,-833 -652,-255 -445,-882 -762,-202 -560, 168 171)),((-423 -216,-531 -190,-147 821,362 441,645 -128,-997 708,134 -426,714 -9,147 842,-887 -870,688 -330,689 17,-314 -262,401 -112,-606 761, -423 -216)),((-582 -373,-360 -84,-727 -171,412 -660,750 -846,-464 718,163 -11,489 -659,586 -324,-741 -198,144 -165,644 -80,930 -487,-504 -205, -582 -373))),MULTIPOLYGON(((266 51,851 523,-781 366,-607 -581, 266 51)),((416 -450,-973 880,103 226,-896 -857,-369 761, 416 -450)),((168 171,26 -99,-606 -490,-174 -138,-325 -218,-833 -652,-255 -445,-882 -762,-202 -560, 168 171)),((-423 -216,-531 -190,-147 821,362 441,645 -128,-997 708,134 -426,714 -9,147 842,-887 -870,688 -330,689 17,-314 -262,401 -112,-606 761, -423 -216)),((-582 -373,-360 -84,-727 -171,412 -660,750 -846,-464 718,163 -11,489 -659,586 -324,-741 -198,144 -165,644 -80,930 -487,-504 -205, -582 -373))),GEOMETRYCOLLECTION(),MULTIPOINT(384 290,-601 123,408 86,-616 -300,160 -474,-979 -4,-63 -824,-689 -765,-219 802,-54 -93,191 -982,-723 -449),MULTILINESTRING((683 4,864 -634,548 -891,727 -691,-570 32,-334 -438,127 -317,241 -12,-807 947,-987 693,-345 -867,854 -106)))'), ST_GEOMFROMTEXT('MULTIPOINT(157 69,-725 -189,-176 -41,676 375,33 -672,-76 47)')), ST_UNION(ST_ENVELOPE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(-896 100,-793 810,243 -525,650 -373,599 170,-554 -890),POINT(945 -828),POINT(945 -828),LINESTRING(-896 100,-793 810,243 -525,650 -373,599 170,-554 -890),POINT(945 -828),MULTIPOINT(-47 307,-768 -425,-3 167,-170 30,-784 721,951 146,407 790,37 850,-466 738),GEOMETRYCOLLECTION(),MULTIPOINT(-47 307,-768 -425,-3 167,-170 30,-784 721,951 146,407 790,37 850,-466 738),MULTIPOLYGON(((104 113,688 423,-859 602,272 978, 104 113)),((981 -394,189 -400,649 -325,-977 371,30 859,590 318,329 -894,-51 262,197 952,-846 -139,-920 399, 981 -394)),((-236 -759,834 757,857 747,437 -146,194 913,316 862,976 -491,-745 933,610 687,-149 -164,-803 -565,451 -275, -236 -759)),((572 96,-160 -607,529 930,-544 -132,458 294, 572 96))))')), ST_CENTROID(ST_GEOMFROMTEXT('POINT(-939 -921)'))))))" "DO ST_AsText(@centroid_point) as centroid" "DO MBRWITHIN(@centroid_point, ST_INTERSECTION(ST_GEOMFROMTEXT('MULTILINESTRING((541 -927,-414 316,-429 -444,212 260,-125 104,445 563,-713 -975,-976 514),(-830 882,-377 914,-915 919,-535 -23,-508 979),(806 347,-87 220,226 -22,-12 468,707 598,83 951,-592 701,833 964,270 -932,743 -514,231 469,-575 -122,-99 -245,416 465,801 -587))'), ST_GEOMFROMTEXT('LINESTRING(-96 -182,-373 75,697 687,-881 -463,-557 -959,-493 810)'))) as result" +"select ST_Length(ST_MLineFromWKB(0x0000000005000000020000000002000000035FB317E5EF3AB327E3A4B378469B67320000000000000000C0240000000000003FF05FD8ADAB9F560000000000000000000000000200000003000000000000000000000000000000000000000000000000BFF08B439581062540240000000000004341C37937E08000)) as length" +"do st_distance(linestring(point(26,87),point(13,95)), +geometrycollection(point(4.297374e+307,8.433875e+307)))" +"select st_distance(linestring(point(26,87),point(13,95)), +geometrycollection(point(4.297374e+307,8.433875e+307))) as dist" +"select st_distance(linestring(point(26,87),point(13,95)), +geometrycollection(point(4.297374e+307,8.433875e+307), point(1e308, 1e308))) as dist" "create table t1(a int)engine=innodb" "delete from t1 where st_touches( @@ -32576,6 +35827,12 @@ MULTIPOINT(-7 -5,6 9,7 4))'))" "SELECT ST_ISVALID(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POLYGON((0 0,0 10,10 10,10 0, 0 0))))'))" "SELECT ST_ISVALID(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(LINESTRING(0 0,0 10)))'))" "SELECT ST_ISVALID(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(0 0)))'))" +"SELECT ST_ASTEXT(ST_MAKEENVELOPE(ST_GEOMFROMTEXT('POINT(0 1)', 4236), +ST_GEOMFROMTEXT('POINT(0 0)', 0)))" +"SELECT ST_ASTEXT(ST_MAKEENVELOPE(ST_GEOMFROMTEXT('POINT(0 1)', 4145), +ST_GEOMFROMTEXT('POINT(0 0)', 0)))" +"SELECT ST_ASTEXT(ST_MAKEENVELOPE(ST_GEOMFROMTEXT('POINT(0 1)', 0), +ST_GEOMFROMTEXT('POINT(0 0)', 2000)))" "SELECT ST_ASTEXT(ST_INTERSECTION(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))) as geom" @@ -32687,8 +35944,15 @@ ST_GEOMFROMTEXT('POINT(180 0)')) as result" ST_GEOMFROMTEXT('MULTIPOINT(180 0)')) as result" "SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(180 0)')) as result" +"SELECT ST_ISVALID(ST_GEOMFROMTEXT('POINT(0 0)', -1))" +"SELECT ST_ISVALID(ST_GEOMFROMTEXT('POINT(0 0)', 1))" +"SELECT ST_ISVALID(ST_GEOMFROMTEXT('POINT(0 0)', 1000))" "SET @star_center= 'POINT(15 10)'" "SET @star_all_points= 'MULTIPOINT(5 0,25 0,15 10,15 25)'" +"SELECT ST_ISVALID(ST_GEOMFROMTEXT(@star_center,-1024))" +"SELECT ST_ISVALID(ST_GEOMFROMTEXT(@star_all_points,-1))" +"SELECT ST_VALIDATE(ST_GEOMFROMTEXT(@star_center,-1024))" +"SELECT ST_VALIDATE(ST_GEOMFROMTEXT(@star_all_points,-1))" "SELECT ST_TOUCHES(ST_GEOMFROMTEXT('LINESTRING(0 0,5 0,10 0)'), ST_GEOMFROMTEXT('MULTIPOINT(10 0)')) as result" "SELECT ST_TOUCHES(ST_GEOMFROMTEXT('LINESTRING(0 0,5 0,10 0)'), @@ -32711,6 +35975,15 @@ ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POlygon((2 2,4 2, 4 4, 2 4, 2 2)), POLYGON(( "select ST_Crosses(ST_GeomFromText('MULTIPOINT(1 0,15 0,10 10)'),ST_GeomFromText('MULTILINESTRING((15 0,20 0,20 20),(10 10,20 20,15 0))')) as result" "select ST_Crosses(ST_GeomFromText('MULTIPOINT(1 0,15 0,10 10)'),ST_GeomFromText('LINESTRING(15 0,20 0,10 10,20 20)')) as result" "select ST_Crosses(ST_GeomFromText('MULTIPOINT(1 0,15 0,10 10)'),ST_GeomFromText('MULTILINESTRING((15 0,20 0,20 20,15 0))')) as result" +"SELECT ST_ASTEXT(ST_INTERSECTION( +ST_GEOMFROMTEXT( +'MULTIPOLYGON(((3 2,7 5,0 0,-9.9 9,10.0002 1,2.232432 2,4 -0.7654,3 2)))'), +ST_GEOMFROMWKB(ST_AsWKB( +MULTILINESTRING( +LINESTRING(POINT(7,0)),LINESTRING(POINT(4,6),POINT(7,5),POINT(5,2),POINT(6,9),POINT(1,8.4),POINT(4,6),POINT(6,9),POINT(0,5),POINT(9,8),POINT(-3.6,+.5)), +LINESTRING(POINT(+.9,5)), +LINESTRING(POINT(2,5),POINT(7,1),POINT(2,5),POINT(2.8,6),POINT(1,3),POINT(3,9),POINT(9,7),POINT(6.1,4),POINT(2,7),POINT(8,6),POINT(0,0),POINT(1,9),POINT(4,6.5)), +LINESTRING(POINT(-.5,6)))))))" "SELECT ST_CONTAINS(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'),ST_GEOMFROMTEXT('POINT(0 0)')) as result" "SELECT ST_DISJOINT(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'),ST_GEOMFROMTEXT('POINT(0 0)')) as result" "SELECT ST_INTERSECTS(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'),ST_GEOMFROMTEXT('POINT(0 0)')) as result" @@ -32735,6 +36008,11 @@ ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)),POLYGON((4 4,4 6,6 6,4 4)))')) as result" "SELECT ST_CONTAINS(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,5 5,0 0)))'), ST_GEOMFROMTEXT('MULTIPOINT(2 9, 1 0)')) as result" "SELECT ST_CONTAINS(ST_GEOMFROMTEXT('GeometryCollection(point(1 1), MULTIPOLYGON(((0 0,0 10,10 10,10 0,5 5,0 0))))'), ST_GEOMFROMTEXT('MULTIPOINT(2 9, 1 0)')) as result" +"SELECT ST_ASTEXT(ST_SIMPLIFY(0x000000000200000000000000000000000000000000, 1)) as result" +"SELECT ST_ASTEXT(ST_VALIDATE(ST_UNION(ST_GEOMFROMTEXT('MULTIPOLYGON(((-7 -9,-3 7,0 -10,-6 5,10 10,-3 -4,7 9,2 -9)),((1 -10,-3 10,-2 5)))'), +ST_GEOMFROMTEXT('POLYGON((6 10,-7 10,-1 -6,0 5,5 4,1 -9,1 3,-10 -7,-10 8))')))) as result" +"SELECT ST_ASTEXT(ST_UNION(ST_GEOMFROMTEXT('MULTIPOLYGON(((-7 -9,-3 7,0 -10,-6 5,10 10,-3 -4,7 9,2 -9)),((1 -10,-3 10,-2 5)))'), +ST_GEOMFROMTEXT('POLYGON((6 10,-7 10,-1 -6,0 5,5 4,1 -9,1 3,-10 -7,-10 8))'))) as result" "SELECT ST_ASTEXT(ST_SIMPLIFY(ST_GEOMFROMTEXT('MULTIPOINT(19 -4, -2 -6, -8 2)'), 1)) as result" "SELECT ST_ASTEXT(ST_BUFFER(ST_GEOMFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0))'), -10))" "SELECT ST_ASTEXT(ST_BUFFER(ST_GEOMFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0))'), -8))" @@ -32744,11 +36022,26 @@ ST_ASTEXT(ST_BUFFER(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(MULTILINESTRING((12 -12, LINESTRING(14 -16,-3 18,-13 -7,-10 1))'), 6561)) as result" "SELECT ST_ASTEXT(ST_BUFFER(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POLYGON((0 0,0 10,10 10,10 0,0 0)), POLYGON((10 10,10 20,20 20,20 10,10 10)))'), -1)) as result" "SELECT ST_ASTEXT(ST_BUFFER(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POLYGON((0 0,0 5,5 5,5 0,0 0)), POLYGON((10 10,10 20,20 20,20 10,10 10)))'), -1)) as result" +"SELECT ST_DISTANCE(ST_GEOMFROMTEXT('MULTILINESTRING((9 8))'),ST_GEOMFROMTEXT('POINT(2 9)'))" +"SELECT ST_DISTANCE(ST_GEOMFROMTEXT('MULTIPOINT(-.1 5,3 6,2 2,9 5)'),ST_GEOMFROMTEXT('LINESTRING(0 8)'))" +"SELECT ST_ASTEXT(ST_ENVELOPE(ST_GEOMFROMTEXT('LINESTRING(0 0)'))) as result" +"SELECT ST_ASTEXT(ST_ENVELOPE(ST_GEOMFROMTEXT('POLYGON((0 0))'))) as result" +"SELECT ST_ASTEXT(ST_ENVELOPE(ST_GEOMFROMTEXT('POLYGON((0 0, 1 1))'))) as result" +"SELECT HEX(LINESTRING(POINT(0,0)))" +"SELECT HEX(ST_GeomFromGeoJSON('{""type"":""LineString"",""coordinates"":[[0,0]]}'))" +"SELECT HEX(POLYGON(LINESTRING(POINT(0,0))))" +"SELECT HEX(POLYGON(LINESTRING(POINT(0,0),POINT(1,0))))" +"SELECT HEX(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(0,0))))" "SELECT ST_ASTEXT(ST_ENVELOPE(ST_GEOMFROMTEXT('POINT(10 10)')))" "SELECT ST_ASTEXT(ST_ENVELOPE(ST_GEOMFROMTEXT('LINESTRING(0 10,10 10)')))" "SELECT ST_ASTEXT(ST_ENVELOPE(ST_GEOMFROMTEXT('LINESTRING(0 0,0 10)')))" "SELECT ST_AsText(ST_Envelope(ST_GeomFromText('POLYGON((0 0, 1 0, 2 0, 0 0))')))" "SELECT ST_AsText(ST_Envelope(ST_GeomFromText('POLYGON((0 0, 0 0, 0 0, 0 0))')))" +"select st_astext(st_buffer(point(-5,0),8772, +st_buffer_strategy( 'point_circle',1024*1024*1024))) +as result" +"do st_buffer(point(-5,0),8772, +st_buffer_strategy('point_circle',1024*1024*1024))" "set session max_points_in_geometry=1024*1024" "set session max_points_in_geometry=4*1024*1024" "SELECT @@ -32824,10 +36117,25 @@ ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(7 0),MULTILINESTRING((-13 -18,-16 0),( "select st_astext(geometrycollection()) as result" "set @empty_geom = geometrycollection()" "select 1, @empty_geom = st_geomfromtext('geometrycollection()') as equal" +"SELECT HEX(POLYGON(POINT(0,0)))" +"SELECT HEX(POINT(POINT(0,0),0))" +"SELECT ST_ASTEXT(POINT(LINESTRING(POINT(0,0),POINT(1,1)),LINESTRING(POINT(2,2),POINT(3,3))))" "SELECT ST_ASTEXT(POINT(HEX(POINT(0,0)),HEX(LINESTRING(POINT(0, 0), POINT(1, 1)))))" "SELECT ST_AsText(Point('123', '456'))" "SELECT ST_AsText(Point('123abc', '456def'))" "SELECT ST_AsText(Point('abc123', 'def456'))" +"SELECT +HEX(MULTIPOLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1),POINT(0,0))))" +"SELECT HEX(MULTIPOLYGON(POINT(0,0)))" +"SELECT HEX(MULTIPOINT(LINESTRING(POINT(0,0),POINT(1,1))))" +"SELECT ST_GeomFromWKB(0x020100000000000000000000000000000000000000)" +"SELECT ST_GeomFromWKB(0x01040000000100000001020000000100000000000000000000000000000000000000)" +"SELECT ST_GeomFromWKB(0x01040000000100000002020000000100000000000000000000000000000000000000)" +"SELECT ST_GeomFromWKB(0x01050000000100000001040000000100000000000000000000000000000000000000)" +"SELECT ST_GeomFromWKB(0x01050000000100000002040000000100000000000000000000000000000000000000)" +"SELECT ST_GeomFromWKB(0x01060000000100000001020000000100000000000000000000000000000000000000)" +"SELECT ST_GeomFromWKB(0x01060000000100000003020000000100000000000000000000000000000000000000)" +"SELECT ST_GeomFromWKB(0x01070000000100000002010000000000000000000000)" "SELECT ST_ASTEXT(ST_ConvexHull(ST_GEOMFROMTEXT( 'MULTILINESTRING((0 10,10 0),(10 0,0 0),(0 0,10 10))'))) as result" "SELECT ST_ASTEXT(ST_ConvexHull(ST_GEOMFROMTEXT('MULTIPOINT(1 2, 1 2)'))) @@ -32873,10 +36181,19 @@ st_geomfromtext('polygon((0 0, 10 0, 10 3, 0 3, 0 0))'), st_geomfromtext('polygon((0 5, 1 3, 2 5, 3 3, 4 3, 4 0, 10 0, 10 3, 6 3, 6 5, 0 5))'))) as result" +"SELECT ST_AsText(ST_GeomFromText(""POINT(10 11) POINT(11 12)"")) as result" +"SELECT ST_AsText(ST_PointFromText(""POINT(10 11) POINT(11 12)"")) as result" +"SELECT ST_AsText(ST_GeomFromText(""MULTIPOINT(10 11, 12 13), 14 15"")) as result" +"SELECT ST_AsText(ST_GeomFromText(""POINT(10 11)FOOBAR"")) as result" "SELECT HEX(ST_AsWKB(ST_GeomFromText(""POINT(10 10) ""))) as result" "SELECT HEX(ST_AsWKB(ST_GeomFromText(""GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(10 10)), LINESTRING(0 0, 1 1), GEOMETRYCOLLECTION()) ""))) as result" "SELECT ST_AsText(ST_GeomFromWKB(0x010100000000000000000024400000000000002440)) as result" +"SELECT ST_AsText(ST_GeomFromWKB(0x01010000000000000000002440000000000000244011111111)) as result" "SELECT ST_AsText(ST_GeomFromWKB(0x01070000000300000001070000000100000001010000000000000000002440000000000000244001020000000200000000000000000000000000000000000000000000000000F03F000000000000F03F010700000000000000)) as result" +"SELECT ST_AsText(ST_GeomFromWKB(0x01070000000300000001070000000100000001010000000000000000002440000000000000244001020000000200000000000000000000000000000000000000000000000000F03F000000000000F03F01070000000000000011111111)) as result" +"do st_union(cast(point(1,1)as binary(12)),point(1,1))" +"do st_union(cast(point(1,1)as binary(13)),point(1,1))" +"select st_astext(st_union(cast(point(1,1)as binary(15)),point(1,1))) as res" "CREATE TABLE t2 (id INT PRIMARY KEY AUTO_INCREMENT, g GEOMETRY NOT NULL SRID 0, SPATIAL INDEX(g)) ENGINE=INNODB" "INSERT INTO t2(g) VALUES (ST_GEOMFROMTEXT('POINT(0 0)'))" @@ -32890,13 +36207,23 @@ SPATIAL INDEX(g)) ENGINE=INNODB" (2, ST_GEOMFROMTEXT('POINT(10 0)')), (3, ST_GEOMFROMTEXT('POINT(10 10)'))" "SELECT id FROM t3" +"SELECT ST_AsText(ST_PointFromText('POINT(1 . 1)'))" "SELECT ST_AsText(ST_PointFromText('POINT(1 .1)'))" "SELECT ST_AsText(ST_LineFromText('LINESTRING(.0 0,0 0,0 0)'))" "SELECT ST_X(ST_PointFromText('POINT(.0 0)'))" "SELECT ST_Y(ST_PointFromText('point(0 .0)'))" "CREATE TABLE t1 (col_1 CHAR(7))" "INSERT INTO t1 VALUES ('POINT(.')" +"SELECT ST_GeomFromText(col_1) FROM t1" +"SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT(0 0, 1 1), (2 2)'))" +"SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT(0 0, (1 1, 2 2))'))" +"SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT(0 0, (1 1), 2 2)'))" +"SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT((0 0), (1 1), 2 2, (3 3), 4 4, 5 5, (6 6))'))" "SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT((0 0), (1 1), (2 2), (3 3), (4 4), (5 5), (6 6))'))" +"SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT()'))" +"SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT(())'))" +"SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT((()))'))" +"SELECT ST_ASTEXT(ST_GEOMFROMTEXT('MULTIPOINT((), ())'))" "CREATE TABLE t1 ( fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, g GEOMETRY NOT NULL SRID 0, @@ -32936,10 +36263,41 @@ SPATIAL KEY (line) ) engine=myisam" +"INSERT INTO t1 (name, kind, line) VALUES +(""Aadaouane"", ""pp"", ST_GeomFromText(""POINT(32.816667 35.983333)"")), +(""Aadassiye"", ""pp"", ST_GeomFromText(""POINT(35.816667 36.216667)"")), +(""Aadbel"", ""pp"", ST_GeomFromText(""POINT(34.533333 36.100000)"")), +(""Aadchit"", ""pp"", ST_GeomFromText(""POINT(33.347222 35.423611)"")), +(""Aadchite"", ""pp"", ST_GeomFromText(""POINT(33.347222 35.423611)"")), +(""Aadchit el Qoussair"", ""pp"", ST_GeomFromText(""POINT(33.283333 35.483333)"")), +(""Aaddaye"", ""pp"", ST_GeomFromText(""POINT(36.716667 40.833333)"")), +(""'Aadeissa"", ""pp"", ST_GeomFromText(""POINT(32.823889 35.698889)"")), +(""Aaderup"", ""pp"", ST_GeomFromText(""POINT(55.216667 11.766667)"")), +(""Qalaat Aades"", ""pp"", ST_GeomFromText(""POINT(33.503333 35.377500)"")), +(""A ad'ino"", ""pp"", ST_GeomFromText(""POINT(54.812222 38.209167)"")), +(""Aadi Noia"", ""pp"", ST_GeomFromText(""POINT(13.800000 39.833333)"")), +(""Aad La Macta"", ""pp"", ST_GeomFromText(""POINT(35.779444 -0.129167)"")), +(""Aadland"", ""pp"", ST_GeomFromText(""POINT(60.366667 5.483333)"")), +(""Aadliye"", ""pp"", ST_GeomFromText(""POINT(33.366667 36.333333)"")), +(""Aadloun"", ""pp"", ST_GeomFromText(""POINT(33.403889 35.273889)"")), +(""Aadma"", ""pp"", ST_GeomFromText(""POINT(58.798333 22.663889)"")), +(""Aadma Asundus"", ""pp"", ST_GeomFromText(""POINT(58.798333 22.663889)"")), +(""Aadmoun"", ""pp"", ST_GeomFromText(""POINT(34.150000 35.650000)"")), +(""Aadneram"", ""pp"", ST_GeomFromText(""POINT(59.016667 6.933333)"")), +(""Aadneskaar"", ""pp"", ST_GeomFromText(""POINT(58.083333 6.983333)"")), +(""Aadorf"", ""pp"", ST_GeomFromText(""POINT(47.483333 8.900000)"")), +(""Aadorp"", ""pp"", ST_GeomFromText(""POINT(52.366667 6.633333)"")), +(""Aadouane"", ""pp"", ST_GeomFromText(""POINT(32.816667 35.983333)"")), +(""Aadoui"", ""pp"", ST_GeomFromText(""POINT(34.450000 35.983333)"")), +(""Aadouiye"", ""pp"", ST_GeomFromText(""POINT(34.583333 36.183333)"")), +(""Aadouss"", ""pp"", ST_GeomFromText(""POINT(33.512500 35.601389)"")), +(""Aadra"", ""pp"", ST_GeomFromText(""POINT(33.616667 36.500000)"")), +(""Aadzi"", ""pp"", ST_GeomFromText(""POINT(38.100000 64.850000)""))" "INSERT INTO t1 (name, kind, line) VALUES (""austria"", ""pp"", ST_GeomFromText('LINESTRING(14.9906 48.9887,14.9946 48.9904,14.9947 48.9916)'))" "CREATE TABLE t1 (st varchar(100))" "INSERT INTO t1 VALUES (""Fake string"")" "CREATE TABLE t2 (geom GEOMETRY NOT NULL SRID 0, SPATIAL KEY gk(geom))" +"INSERT INTO t2 SELECT ST_GeomFromText(st) FROM t1" "CREATE TABLE t1 (`geometry` geometry NOT NULL SRID 0,SPATIAL KEY `gndx` (`geometry`)) ENGINE=MyISAM DEFAULT CHARSET=latin1" "INSERT INTO t1 (geometry) VALUES (ST_PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000 @@ -33541,6 +36899,8 @@ SPATIAL KEY (spatial_point) "insert into t1 values (POINT(4.7783097267365e-299, 2.2761049594727e-159))" "insert into t1 values (POINT(1.94906280228e+289, 1.2338789709327e-178))" "CREATE TABLE t1(foo GEOMETRY NOT NULL SRID 0, SPATIAL INDEX(foo) )" +"INSERT INTO t1(foo) VALUES (NULL)" +"INSERT INTO t1(foo) VALUES ('')" "CREATE TABLE t1 (a INT AUTO_INCREMENT, b POINT NOT NULL SRID 0, KEY (a), SPATIAL KEY (b))" "INSERT INTO t1 (b) VALUES (ST_GeomFromText('POINT(1 2)'))" "INSERT INTO t1 (b) SELECT b FROM t1" @@ -33557,6 +36917,14 @@ MBRINTERSECTS(b, ST_GEOMFROMTEXT('LINESTRING(1 1,1102219 2)') )" (ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" "EXPLAIN SELECT 1 FROM t1 WHERE a = ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" "SELECT 1 FROM t1 WHERE a = ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"EXPLAIN SELECT 1 FROM t1 WHERE a < ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"SELECT 1 FROM t1 WHERE a < ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"EXPLAIN SELECT 1 FROM t1 WHERE a <= ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"SELECT 1 FROM t1 WHERE a <= ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"EXPLAIN SELECT 1 FROM t1 WHERE a > ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"SELECT 1 FROM t1 WHERE a > ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"EXPLAIN SELECT 1 FROM t1 WHERE a >= ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"SELECT 1 FROM t1 WHERE a >= ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" "CREATE TABLE t1(a GEOMETRY NOT NULL SRID 0,SPATIAL INDEX a(a))" "HANDLER t1 READ a FIRST" "HANDLER t1 READ a NEXT" @@ -33565,10 +36933,15 @@ MBRINTERSECTS(b, ST_GEOMFROMTEXT('LINESTRING(1 1,1102219 2)') )" "INSERT INTO t1 VALUES (ST_GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))'))" "CREATE TABLE t1(a LINESTRING NOT NULL SRID 0, b GEOMETRY NOT NULL SRID 0, SPATIAL KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM" +"INSERT INTO t1 VALUES(ST_GEOMFROMTEXT(""point (0 0)""), ST_GEOMFROMTEXT(""point (1 1)""))" +"INSERT IGNORE INTO t1 SET a=ST_GEOMFROMTEXT(""point (-6 0)""), b=ST_GEOMFROMTEXT(""error"")" +"INSERT IGNORE INTO t1 SET a=ST_GEOMFROMTEXT(""point (-6 0)""), b=NULL" "SELECT ST_ASTEXT(a), ST_ASTEXT(b) FROM t1" "CREATE TABLE t1(a INT NOT NULL, b GEOMETRY NOT NULL SRID 0, KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM" "INSERT INTO t1 VALUES(0, ST_GEOMFROMTEXT(""point (1 1)""))" +"INSERT IGNORE INTO t1 SET a=0, b=ST_GEOMFROMTEXT(""error"")" +"INSERT IGNORE INTO t1 SET a=1, b=NULL" "SELECT a, ST_ASTEXT(b) FROM t1" "CREATE TABLE t1 (g GEOMETRY NOT NULL SRID 0, SPATIAL KEY (g)) ENGINE=MyISAM" "DELETE FROM t1 WHERE ST_DISJOINT(g, POINT(1,1))" @@ -33699,6 +37072,8 @@ gm geometry "explain select ST_issimple(MultiPoint(Point(3, 6), Point(4, 10))), ST_issimple(Point(3, 6))" "create table t1 (a geometry not null SRID 0)" "insert into t1 values (ST_GeomFromText('Point(1 2)'))" +"insert into t1 values ('Garbage')" +"insert IGNORE into t1 values ('Garbage')" "alter table t1 add spatial index(a)" "create table t1(a geometry not null SRID 0, spatial index(a))" "insert into t1 values @@ -33871,16 +37246,42 @@ t1 where object_id=85998" "select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from t1 where object_id=85984" "create table t1 (fl geometry not null)" +"insert into t1 values (1.11)" +"insert into t1 values (""qwerty"")" +"insert into t1 values (ST_pointfromtext('point(1,1)'))" "select (ST_asWKT(ST_geomfromwkb((0x000000000140240000000000004024000000000000))))" "select (ST_asWKT(ST_geomfromwkb((0x010100000000000000000024400000000000002440))))" "create table t1 (g GEOMETRY)" "select ST_asbinary(g) from t1" "create table t1 (a TEXT, b GEOMETRY NOT NULL SRID 0, SPATIAL KEY(b))" +"load data infile '../../std_data/bad_gis_data.dat' into table t1" "create table t1 (a int, b blob)" "insert into t1 values (1, ''), (2, NULL), (3, '1')" +"select +ST_geometryfromtext(b) IS NULL, ST_geometryfromwkb(b) IS NULL, ST_astext(b) IS NULL, +ST_aswkb(b) IS NULL, ST_geometrytype(b) IS NULL, ST_centroid(b) IS NULL, +ST_envelope(b) IS NULL, ST_startpoint(b) IS NULL, ST_endpoint(b) IS NULL, +ST_exteriorring(b) IS NULL, ST_pointn(b, 1) IS NULL, ST_geometryn(b, 1) IS NULL, +ST_interiorringn(b, 1) IS NULL, multipoint(b) IS NULL, ST_isempty(b) IS NULL, +ST_issimple(b) IS NULL, ST_isclosed(b) IS NULL, ST_dimension(b) IS NULL, +ST_numgeometries(b) IS NULL, ST_numinteriorrings(b) IS NULL, ST_numpoints(b) IS NULL, +ST_area(b) IS NULL, ST_length(b) IS NULL, ST_srid(b) IS NULL, ST_x(b) IS NULL, +ST_y(b) IS NULL +from t1" +"select +MBRwithin(b, b) IS NULL, MBRcontains(b, b) IS NULL, MBRoverlaps(b, b) IS NULL, +MBRequals(b, b) IS NULL, MBRdisjoint(b, b) IS NULL, ST_touches(b, b) IS NULL, +MBRintersects(b, b) IS NULL, ST_crosses(b, b) IS NULL +from t1" +"select +point(b, b) IS NULL, linestring(b) IS NULL, polygon(b) IS NULL, multipoint(b) IS NULL, +multilinestring(b) IS NULL, multipolygon(b) IS NULL, +geometrycollection(b) IS NULL +from t1" "CREATE TABLE t1(a POINT) ENGINE=MyISAM" "CREATE TABLE `t1` ( `col9` set('a'), `col89` date)" "INSERT INTO `t1` VALUES ('','0000-00-00')" +"select ST_geomfromtext(col9,col89) as a from t1" "CREATE TABLE t1 ( geomdata polygon NOT NULL SRID 0, SPATIAL KEY index_geom (geomdata) @@ -33902,21 +37303,24 @@ t2 ws" "describe t3" "create table t1(col1 geometry default null,col15 geometrycollection not null SRID 0,spatial index(col15))engine=myisam" +"insert into t1 set col15 = ST_GeomFromText('POINT(6 5)')" "create table t1 (s1 geometry not null,s2 char(100))" "create trigger t1_bu before update on t1 for each row set new.s1 = null" +"insert into t1 values (null,null)" "drop procedure if exists fn3" "create function fn3 () returns point deterministic return ST_GeomFromText(""point(1 1)"")" "show create function fn3" "select ST_astext(fn3())" "drop function fn3" "create table t1(pt POINT)" +"alter table t1 add primary key pti(pt)" "create table t1(pt GEOMETRY)" +"alter table t1 add primary key pti(pt(20))" "create table t1 select ST_GeomFromText('point(1 1)')" "create table t1 (g geometry not null)" "CREATE TABLE t1 (a GEOMETRY)" "CREATE VIEW v1 AS SELECT ST_GeomFromwkb(ST_ASBINARY(a)) FROM t1" "CREATE VIEW v2 AS SELECT a FROM t1" -"DESCRIBE v1" "DESCRIBE v2" "create table t1 (name VARCHAR(100), square GEOMETRY)" "INSERT INTO t1 VALUES(""center"", ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'))" @@ -33948,6 +37352,12 @@ null SRID 0,spatial index(col15))engine=myisam" "SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRoverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = ""center"" GROUP BY a1.name" "SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS ST_touches FROM t1 a1 JOIN t1 a2 ON ST_Touches( a1.square, a2.square) WHERE a1.name = ""center"" GROUP BY a1.name" "SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = ""center"" GROUP BY a1.name" +"SET @vert1 = ST_GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))')" +"SET @horiz1 = ST_GeomFromText('POLYGON ((-2 0, 2 0, -2 0))')" +"SET @horiz2 = ST_GeomFromText('POLYGON ((-1 0, 3 0, -1 0))')" +"SET @horiz3 = ST_GeomFromText('POLYGON ((2 0, 3 0, 2 0))')" +"SET @point1 = ST_GeomFromText('POLYGON ((0 0))')" +"SET @point2 = ST_GeomFromText('POLYGON ((-2 0))')" "SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name" "SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name" "SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL" @@ -33971,31 +37381,59 @@ REPEAT ('-0.00000000001234567890123456789012 -0.123456789012345678,', 1000), ))) AS a" "create table `t1` (`col002` point)engine=myisam" "insert into t1 values (),(),()" +"select min(`col002`) from t1 union select `col002` from t1" "CREATE TABLE t1(a INT, b MULTIPOLYGON)" "INSERT INTO t1 VALUES (0, ST_GEOMFROMTEXT( 'multipolygon(((1 2,3 4,5 6,7 8,9 8, 1 2),(7 6,5 4,3 2,1 2,3 4, 7 6)))'))" "SELECT 1 FROM t1 WHERE a <> (SELECT ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(b)) FROM t1)" +"CREATE TABLE t1(col1 MULTIPOLYGON NOT NULL, +SPATIAL INDEX USING BTREE (col1))",,syntax_error "CREATE TABLE t2(col1 MULTIPOLYGON NOT NULL)" +"CREATE SPATIAL INDEX USING BTREE ON t2(col)",,syntax_error +"ALTER TABLE t2 ADD SPATIAL INDEX USING BTREE (col1)",,syntax_error "create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime)" "desc v1" +"SELECT MultiPoint(12345,'')" +"SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b))" "SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440" +"SET @a=ST_POLYFROMWKB(@a)" "SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440" "create table t1(a polygon NOT NULL)engine=myisam" +"insert into t1 values (ST_geomfromtext(""point(0 1)""))" +"insert into t1 values (ST_geomfromtext(""point(1 0)""))" "select * from (select polygon(t1.a) as p from t1 order by t1.a) d" "create table t1(a char(32) not null) engine=myisam" +"create spatial index i on t1 (a)" "CREATE TABLE t0 (a BINARY(32) NOT NULL)" +"CREATE SPATIAL INDEX i on t0 (a)" "INSERT INTO t0 VALUES (1)" +"CREATE TABLE t1( +col0 BINARY NOT NULL, +col2 TIMESTAMP, +SPATIAL INDEX i1 (col0) +) ENGINE=MyISAM" "CREATE TABLE t1 ( col0 BINARY NOT NULL, col2 TIMESTAMP ) ENGINE=MyISAM" +"CREATE SPATIAL INDEX idx0 ON t1(col0)" +"ALTER TABLE t1 ADD SPATIAL INDEX i1 (col0)" "CREATE TABLE t2 ( col0 INTEGER NOT NULL, col1 POINT, col2 POINT )" +"CREATE SPATIAL INDEX idx0 ON t2 (col1, col2)" +"CREATE TABLE t3 ( +col0 INTEGER NOT NULL, +col1 POINT, +col2 LINESTRING, +SPATIAL INDEX i1 (col1, col2) +)" +"SELECT ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20)))" +"SELECT GEOMETRYCOLLECTION((SELECT @@CORE_FILE))" "CREATE TABLE g1 (a geometry NOT NULL) engine=myisam" "INSERT INTO g1 VALUES (ST_geomfromtext('point(1 1)'))" @@ -34004,6 +37442,14 @@ col2 POINT "DROP TABLE g1" "CREATE TABLE g1(a TEXT NOT NULL, KEY(a(255))) charset latin1" "INSERT INTO g1 VALUES ('a'),('a')" +"SELECT 1 FROM g1 WHERE a >= ANY +(SELECT 1 FROM g1 WHERE a = ST_geomfromtext('') OR a) " +"SELECT ST_ASTEXT(0x0100000000030000000100000000000010)" +"SELECT ST_ENVELOPE(0x0100000000030000000100000000000010)" +"SELECT +ST_GEOMETRYN(0x0100000000070000000100000001030000000200000000000000ffff0000, 1)" +"SELECT +ST_GEOMETRYN(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1)" "DROP DATABASE IF EXISTS gis_ogs" "CREATE DATABASE gis_ogs" "USE gis_ogs" @@ -34195,6 +37641,10 @@ WHERE fid = 120" ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',0)) FROM named_places WHERE name = 'Goose Island'" +"SELECT ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',4145)) +FROM named_places +WHERE name = 'Goose Island'" "SELECT ST_Disjoint(centerlines, boundary) FROM divided_routes, named_places WHERE divided_routes.name = 'Route 75' @@ -34235,7 +37685,10 @@ AND named_places.name = 'Ashton'" FROM buildings, bridges WHERE ST_Contains(ST_Buffer(bridges.position, 15.0), buildings.footprint) = 1" "DROP DATABASE gis_ogs" +"SELECT ST_Union('', ''), md5(1)" "CREATE TABLE t1(a POINT NOT NULL SRID 0, SPATIAL KEY(a)) engine=myisam" +"INSERT INTO t1 VALUES ("""")" +"INSERT IGNORE INTO t1 VALUES ("""")" "CREATE PROCEDURE p1() BEGIN DECLARE CONTINUE HANDLER FOR SQLEXCEPTION @@ -34261,31 +37714,310 @@ END " "SELECT HEX(ST_GeomFromGeoJSON('{""type"":""Point"",""coordinates"":[-0,-0.0]}')) AS g" "SELECT HEX( ST_GeomFromGeoJSON('{""type"":""Point"",""coordinates"":[-0.0,-0.0]}')) AS g" +"INSERT INTO t1 VALUES ( +UNHEX('00000000000000000100000000000000000000000000000000'))" "INSERT INTO t1 VALUES (ST_GeomFromWKB( UNHEX('000000000100000000000000000000000000000000')))" "SELECT ST_AsText(g) FROM t1" +"INSERT INTO t1 VALUES (UNHEX( +'00000000010700000001000000000000000100000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000000000000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010800000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010900000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010A00000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010B00000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010C00000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010D00000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010E00000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010F0000000100000001030000000100000004000000000000000000000000' +'00000000000000000000000000F03F0000000000000000000000000000F03F00000000' +'0000F03F00000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001100000000100000001030000000100000004000000000000000000000000' +'00000000000000000000000000F03F0000000000000000000000000000F03F00000000' +'0000F03F00000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001110000000100000004000000000000000000000000000000000000000000' +'00000000F03F0000000000000000000000000000F03F000000000000F03F0000000000' +'0000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001E803000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001E9030000000000000000000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001EA0300000200000000000000000000000000000000000000000000000000' +'0000000000000000F03F000000000000F03F0000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001EB0300000100000004000000000000000000000000000000000000000000' +'000000000000000000000000F03F000000000000000000000000000000000000000000' +'00F03F000000000000F03F000000000000000000000000000000000000000000000000' +'0000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001EC0300000100000001E90300000000000000000000000000000000000000' +'00000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001ED030000010000000000000001EA03000002000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000F03F00000000' +'00000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001EE0300000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001EF0300000100000001E90300000000000000000000000000000000000000' +'00000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F003000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F103000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F203000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F303000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F403000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F503000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F603000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F70300000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F80300000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001F90300000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D007000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D1070000000000000000000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D20700000200000000000000000000000000000000000000000000000000' +'0000000000000000F03F000000000000F03F0000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D30700000100000004000000000000000000000000000000000000000000' +'000000000000000000000000F03F000000000000000000000000000000000000000000' +'00F03F000000000000F03F000000000000000000000000000000000000000000000000' +'0000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D40700000100000001E90300000000000000000000000000000000000000' +'00000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D5070000010000000000000001EA03000002000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000F03F00000000' +'00000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D60700000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D70700000100000001E90300000000000000000000000000000000000000' +'00000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D807000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001D907000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001DA07000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001DB07000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001DC07000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001DD07000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001DE07000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001DF0700000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001E00700000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001E10700000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001B80B000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001B90B00000000000000000000000000000000000000000000000000000000' +'0000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001BA0B00000200000000000000000000000000000000000000000000000000' +'00000000000000000000000000000000F03F000000000000F03F000000000000000000' +'00000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001BB0B00000100000004000000000000000000000000000000000000000000' +'0000000000000000000000000000000000000000F03F00000000000000000000000000' +'0000000000000000000000000000000000F03F000000000000F03F0000000000000000' +'0000000000000000000000000000000000000000000000000000000000000000000000' +'0000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001BC0B00000100000001B90B00000000000000000000000000000000000000' +'0000000000000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001BD0B00000100000001BA0B00000200000000000000000000000000000000' +'00000000000000000000000000000000000000000000000000F03F000000000000F03F' +'00000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001BE0B00000100000001BB0B00000100000004000000000000000000000000' +'0000000000000000000000000000000000000000000000000000000000F03F00000000' +'0000000000000000000000000000000000000000000000000000F03F000000000000F0' +'3F00000000000000000000000000000000000000000000000000000000000000000000' +'0000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001BF0B00000100000001B90B00000000000000000000000000000000000000' +'0000000000000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C00B000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C10B000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C20B000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C30B000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C40B000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C50B000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C60B000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C70B00000100000001BB0B00000100000004000000000000000000000000' +'0000000000000000000000000000000000000000000000000000000000F03F00000000' +'0000000000000000000000000000000000000000000000000000F03F000000000000F0' +'3F00000000000000000000000000000000000000000000000000000000000000000000' +'0000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C80B00000100000001BB0B00000100000004000000000000000000000000' +'0000000000000000000000000000000000000000000000000000000000F03F00000000' +'0000000000000000000000000000000000000000000000000000F03F000000000000F0' +'3F00000000000000000000000000000000000000000000000000000000000000000000' +'0000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001C90B00000100000001EB0300000100000004000000000000000000000000' +'000000000000000000000000000000000000000000F03F000000000000000000000000' +'00000000000000000000F03F000000000000F03F000000000000000000000000000000' +'0000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000011F00000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('00000000010200000000000000'))" +"INSERT INTO t1 VALUES (LINESTRING(POINT(0,0)))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001020000000100000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES (UNHEX('00000000010300000000000000'))" +"INSERT INTO t1 VALUES (UNHEX('0000000001030000000100000000000000'))" +"INSERT INTO t1 VALUES (POLYGON(LINESTRING(POINT(0,0),POINT(1,0))))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001030000000100000002000000000000000000000000000000000000000000' +'00000000F03F0000000000000000'))" +"INSERT INTO t1 VALUES (POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(0,0))))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001030000000100000003000000000000000000000000000000000000000000' +'00000000F03F000000000000000000000000000000000000000000000000'))" "INSERT INTO t1 VALUES (POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1), POINT(0,0))))" +"INSERT INTO t1 VALUES (UNHEX('00000000010400000000000000'))" +"INSERT INTO t1 VALUES (UNHEX('00000000010500000000000000'))" +"INSERT INTO t1 VALUES (UNHEX('00000000010600000000000000'))" "INSERT INTO t1 VALUES (UNHEX('00000000010700000000000000'))" +"INSERT INTO t1 VALUES (UNHEX(''))" +"INSERT INTO t1 VALUES (UNHEX('00000000'))" +"INSERT INTO t1 VALUES (UNHEX('0000000001'))" +"INSERT INTO t1 VALUES (UNHEX('000000000101'))" +"INSERT INTO t1 VALUES (UNHEX('000000000101000000'))" +"INSERT INTO t1 VALUES (UNHEX('0000000001010000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001010000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES (UNHEX('000000000107000000000000000'))" +"INSERT INTO t1 VALUES (UNHEX('0000000001070000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('000000000101000000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001010000000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001040000000100000001020000000200000000000000000000000000000000' +'000000000000000000F03F000000000000F03F'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001070000000100000001040000000100000001020000000200000000000000' +'000000000000000000000000000000000000F03F000000000000F03F'))" +"INSERT INTO t1 VALUES (UNHEX( +'00000000010500000001000000010100000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001070000000100000001050000000100000001010000000000000000000000' +'0000000000000000'))" +"INSERT INTO t1 VALUES (UNHEX( +'00000000010600000001000000010100000000000000000000000000000000000000'))" +"INSERT INTO t1 VALUES ( +UNHEX('0000000001070000000100000001060000000100000001010000000000000000000000' +'0000000000000000'))" "CREATE TABLE t1 (p POINT)" "INSERT INTO t1 VALUES (POINT(0,0))" -"CREATE TABLE t1 (l LINESTRING)" "INSERT INTO t1 VALUES (LINESTRING(POINT(0,0),POINT(1,1)))" -"CREATE TABLE t1 (p POLYGON)" "INSERT INTO t1 VALUES ( POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1),POINT(0,1),POINT(0,0))))" -"CREATE TABLE t1 (m MULTIPOINT)" "INSERT INTO t1 VALUES (MULTIPOINT(POINT(0,0),POINT(1,1)))" -"CREATE TABLE t1 (m MULTILINESTRING)" "INSERT INTO t1 VALUES (MULTILINESTRING(LINESTRING(POINT(0,0),POINT(1,1))))" +"INSERT INTO t1 VALUES (MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0), +POINT(1,1), POINT(0,1),POINT(0,0)))))" +"INSERT INTO t1 VALUES (GEOMETRYCOLLECTION(POINT(0,0)))" +"CREATE TABLE t1 (l LINESTRING)" +"INSERT INTO t1 VALUES (MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0), +POINT(1,1),POINT(0,1),POINT(0,0)))))" +"CREATE TABLE t1 (p POLYGON)" +"CREATE TABLE t1 (m MULTIPOINT)" +"CREATE TABLE t1 (m MULTILINESTRING)" "CREATE TABLE t1 (m MULTIPOLYGON)" "INSERT INTO t1 VALUES (MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0), POINT(1,1),POINT(0,1), POINT(0,0)))))" "CREATE TABLE t1 (g GEOMETRYCOLLECTION)" -"INSERT INTO t1 VALUES (MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0), -POINT(1,1),POINT(0,1),POINT(0,0)))))" -"INSERT INTO t1 VALUES (GEOMETRYCOLLECTION(POINT(0,0)))" "CREATE TABLE t1 (g GEOMETRY)" "INSERT INTO t1 VALUES(ST_GeomFromText('GEOMETRYCOLLECTION()'))" +"CREATE TABLE t1 ( +a GEOMETRY NOT NULL, +b GEOMETRY NOT NULL, +c GEOMETRY NOT NULL, +d GEOMETRY NOT NULL, +e GEOMETRY NOT NULL, +f GEOMETRY NOT NULL, +g GEOMETRY NOT NULL, +h GEOMETRY NOT NULL, +i GEOMETRY NOT NULL, +j GEOMETRY NOT NULL, +k GEOMETRY NOT NULL, +l GEOMETRY NOT NULL, +m GEOMETRY NOT NULL, +n GEOMETRY NOT NULL, +o GEOMETRY NOT NULL, +p GEOMETRY NOT NULL, +q GEOMETRY NOT NULL, +r GEOMETRY NOT NULL, +SPATIAL INDEX (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) +)" "SET @poly1 = ST_GeomFromText('POLYGON((25 25, 25 35, 35 35, 35 25, 25 25))')" "CREATE TABLE t1 ( a INT NOT NULL, @@ -34394,6 +38126,7 @@ IN (SELECT b FROM t) "SELECT ST_GeomFromText('POINT(0 0)') IN (SELECT b FROM t) AS result" "SELECT ST_AsWKB(ST_GeomFromText('POINT(0 0)')) IN (SELECT b FROM t) AS result" "INSERT INTO t VALUES(ST_GeomFromText('POINT(0 0)'), CURDATE())" +"SELECT ST_GeomFromText('POINT(0 0)') > (SELECT b FROM t) AS result" "CREATE TABLE t1(a BLOB NOT NULL, b INT NOT NULL) ENGINE=Innodb" "SELECT NOT EXISTS ( SELECT 1 FROM t1 WHERE (SELECT a FROM t1) @@ -34410,6 +38143,7 @@ IN (SELECT b FROM t1) "SELECT ST_GeomFromText('POINT(0 0)') IN (SELECT b FROM t1) AS result" "SELECT ST_AsWKB(ST_GeomFromText('POINT(0 0)')) IN (SELECT b FROM t1) AS result" "INSERT INTO t1 VALUES(ST_GeomFromText('POINT(0 0)'), 1)" +"SELECT ST_GeomFromText('POINT(0 0)') > (SELECT b FROM t1) AS result" "SELECT ST_AsWKB(ST_GeomFromText('POINT(0 0)')) > (SELECT b FROM t1) AS result" "CREATE TABLE t1 ( i INT NOT NULL @@ -34420,10 +38154,11 @@ i INT NOT NULL "ALTER TABLE t1 MODIFY COLUMN g3 GEOMETRY NOT NULL" "ALTER TABLE t1 ADD COLUMN g4 GEOMETRY NOT NULL, ALGORITHM=DEFAULT" "ALTER TABLE t1 ADD COLUMN g5 GEOMETRY NOT NULL" +"ALTER TABLE t1 ADD COLUMN g GEOMETRY NOT NULL, ALGORITHM=COPY" "ALTER TABLE t1 ADD COLUMN g GEOMETRY" +"ALTER TABLE t1 MODIFY COLUMN g GEOMETRY NOT NULL" "SELECT i, g FROM t1" "UPDATE t1 SET g=POINT(0,0) WHERE g IS NULL" -"ALTER TABLE t1 MODIFY COLUMN g GEOMETRY NOT NULL" "SELECT i, ST_ASTEXT(g) FROM t1" "ALTER TABLE t1 ADD COLUMN g INT" "ALTER TABLE t1 MODIFY COLUMN g GEOMETRY" @@ -34438,11 +38173,13 @@ i INT NOT NULL "SET SESSION sql_mode=@save_sql_mode" "SET SESSION innodb_strict_mode=@save_innodb_strict_mode" "ALTER TABLE t1 ADD COLUMN g INT DEFAULT 1" +"ALTER TABLE t1 CHANGE COLUMN g h GEOMETRY" "ALTER TABLE t1 ADD COLUMN g VARCHAR(20) NOT NULL" "CREATE TABLE t1 (b BLOB)" "INSERT INTO t1 VALUES(POINT(0,0))" "ALTER TABLE t1 MODIFY COLUMN b BLOB" "ALTER TABLE t1 ALGORITHM=COPY, MODIFY COLUMN b GEOMETRY NOT NULL" +"ALTER TABLE t1 MODIFY COLUMN b GEOMETRY NOT NULL" "SELECT HEX(b) FROM t1" "CREATE TABLE t1 ( p1 POINT, @@ -34458,6 +38195,10 @@ p4 POINT p POINT ) ENGINE=InnoDB" "SELECT ST_AsText(p) FROM t1" +"ALTER TABLE t1 MODIFY COLUMN p POLYGON" +"ALTER TABLE t1 CHANGE COLUMN p q POLYGON" +"ALTER TABLE t1 MODIFY COLUMN p POLYGON NOT NULL" +"ALTER TABLE t1 CHANGE COLUMN p q POLYGON NOT NULL" "CREATE TABLE t1 ( mp MULTIPOINT NOT NULL ) ENGINE=InnoDB" @@ -34558,6 +38299,37 @@ ST_GeometryType(ST_GeomFromText('POINT(1 1)')) HOUR_SECOND" "SET @wkb_mls = ST_ASWKB(ST_GEOMFROMTEXT(@wkt_mls))" "SET @wkb_mpy = ST_ASWKB(ST_GEOMFROMTEXT(@wkt_mpy))" "SET @wkb_gc = ST_ASWKB(ST_GEOMFROMTEXT(@wkt_gc))" +"SELECT ST_SRID(ST_GEOMCOLLFROMTEXT(@wkt_gc, -1))" +"SELECT ST_SRID(ST_GEOMCOLLFROMTXT(@wkt_gc, -1))" +"SELECT ST_SRID(ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_gc, -1))" +"SELECT ST_SRID(ST_GEOMETRYFROMTEXT(@wkt_pt, -1))" +"SELECT ST_SRID(ST_GEOMFROMTEXT(@wkt_pt, -1))" +"SELECT ST_SRID(ST_LINEFROMTEXT(@wkt_ls, -1))" +"SELECT ST_SRID(ST_LINESTRINGFROMTEXT(@wkt_ls, -1))" +"SELECT ST_SRID(ST_MLINEFROMTEXT(@wkt_mls, -1))" +"SELECT ST_SRID(ST_MPOINTFROMTEXT(@wkt_mpt, -1))" +"SELECT ST_SRID(ST_MPOLYFROMTEXT(@wkt_mpy, -1))" +"SELECT ST_SRID(ST_MULTILINESTRINGFROMTEXT(@wkt_mls, -1))" +"SELECT ST_SRID(ST_MULTIPOINTFROMTEXT(@wkt_mpt, -1))" +"SELECT ST_SRID(ST_MULTIPOLYGONFROMTEXT(@wkt_mpy, -1))" +"SELECT ST_SRID(ST_POINTFROMTEXT(@wkt_pt, -1))" +"SELECT ST_SRID(ST_POLYFROMTEXT(@wkt_py, -1))" +"SELECT ST_SRID(ST_POLYGONFROMTEXT(@wkt_py, -1))" +"SELECT ST_SRID(ST_GEOMCOLLFROMWKB(@wkb_gc, -1))" +"SELECT ST_SRID(ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_gc, -1))" +"SELECT ST_SRID(ST_GEOMETRYFROMWKB(@wkb_pt, -1))" +"SELECT ST_SRID(ST_GEOMFROMWKB(@wkb_pt, -1))" +"SELECT ST_SRID(ST_LINEFROMWKB(@wkb_ls, -1))" +"SELECT ST_SRID(ST_LINESTRINGFROMWKB(@wkb_ls, -1))" +"SELECT ST_SRID(ST_MLINEFROMWKB(@wkb_mls, -1))" +"SELECT ST_SRID(ST_MPOINTFROMWKB(@wkb_mpt, -1))" +"SELECT ST_SRID(ST_MPOLYFROMWKB(@wkb_mpy, -1))" +"SELECT ST_SRID(ST_MULTILINESTRINGFROMWKB(@wkb_mls, -1))" +"SELECT ST_SRID(ST_MULTIPOINTFROMWKB(@wkb_mpt, -1))" +"SELECT ST_SRID(ST_MULTIPOLYGONFROMWKB(@wkb_mpy, -1))" +"SELECT ST_SRID(ST_POINTFROMWKB(@wkb_pt, -1))" +"SELECT ST_SRID(ST_POLYFROMWKB(@wkb_py, -1))" +"SELECT ST_SRID(ST_POLYGONFROMWKB(@wkb_py, -1))" "SELECT ST_SRID(ST_GEOMCOLLFROMTEXT(@wkt_gc, 0))" "SELECT ST_SRID(ST_GEOMCOLLFROMTXT(@wkt_gc, 0))" "SELECT ST_SRID(ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_gc, 0))" @@ -34574,14 +38346,54 @@ ST_GeometryType(ST_GeomFromText('POINT(1 1)')) HOUR_SECOND" "SELECT ST_SRID(ST_POINTFROMTEXT(@wkt_pt, 0))" "SELECT ST_SRID(ST_POLYFROMTEXT(@wkt_py, 0))" "SELECT ST_SRID(ST_POLYGONFROMTEXT(@wkt_py, 0))" +"SELECT ST_SRID(ST_GEOMCOLLFROMTEXT(@wkt_gc, 4294967296))" +"SELECT ST_SRID(ST_GEOMCOLLFROMTXT(@wkt_gc, 4294967296))" +"SELECT ST_SRID(ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_gc, 4294967296))" +"SELECT ST_SRID(ST_GEOMETRYFROMTEXT(@wkt_pt, 4294967296))" +"SELECT ST_SRID(ST_GEOMFROMTEXT(@wkt_pt, 4294967296))" +"SELECT ST_SRID(ST_LINEFROMTEXT(@wkt_ls, 4294967296))" +"SELECT ST_SRID(ST_LINESTRINGFROMTEXT(@wkt_ls, 4294967296))" +"SELECT ST_SRID(ST_MLINEFROMTEXT(@wkt_mls, 4294967296))" +"SELECT ST_SRID(ST_MPOINTFROMTEXT(@wkt_mpt, 4294967296))" +"SELECT ST_SRID(ST_MPOLYFROMTEXT(@wkt_mpy, 4294967296))" +"SELECT ST_SRID(ST_MULTILINESTRINGFROMTEXT(@wkt_mls, 4294967296))" +"SELECT ST_SRID(ST_MULTIPOINTFROMTEXT(@wkt_mpt, 4294967296))" +"SELECT ST_SRID(ST_MULTIPOLYGONFROMTEXT(@wkt_mpy, 4294967296))" +"SELECT ST_SRID(ST_POINTFROMTEXT(@wkt_pt, 4294967296))" +"SELECT ST_SRID(ST_POLYFROMTEXT(@wkt_py, 4294967296))" +"SELECT ST_SRID(ST_POLYGONFROMTEXT(@wkt_py, 4294967296))" +"SELECT ST_SRID(ST_GEOMCOLLFROMWKB(@wkb_gc, 4294967296))" +"SELECT ST_SRID(ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_gc, 4294967296))" +"SELECT ST_SRID(ST_GEOMETRYFROMWKB(@wkb_pt, 4294967296))" +"SELECT ST_SRID(ST_GEOMFROMWKB(@wkb_pt, 4294967296))" +"SELECT ST_SRID(ST_LINEFROMWKB(@wkb_ls, 4294967296))" +"SELECT ST_SRID(ST_LINESTRINGFROMWKB(@wkb_ls, 4294967296))" +"SELECT ST_SRID(ST_MLINEFROMWKB(@wkb_mls, 4294967296))" +"SELECT ST_SRID(ST_MPOINTFROMWKB(@wkb_mpt, 4294967296))" +"SELECT ST_SRID(ST_MPOLYFROMWKB(@wkb_mpy, 4294967296))" +"SELECT ST_SRID(ST_MULTILINESTRINGFROMWKB(@wkb_mls, 4294967296))" +"SELECT ST_SRID(ST_MULTIPOINTFROMWKB(@wkb_mpt, 4294967296))" +"SELECT ST_SRID(ST_MULTIPOLYGONFROMWKB(@wkb_mpy, 4294967296))" +"SELECT ST_SRID(ST_POINTFROMWKB(@wkb_pt, 4294967296))" +"SELECT ST_SRID(ST_POLYFROMWKB(@wkb_py, 4294967296))" +"SELECT ST_SRID(ST_POLYGONFROMWKB(@wkb_py, 4294967296))" +"DO ST_GEOMCOLLFROMTEXT(@wkt_pt)" +"DO ST_GEOMCOLLFROMTEXT(@wkt_ls)" +"DO ST_GEOMCOLLFROMTEXT(@wkt_py)" "DO ST_GEOMCOLLFROMTEXT(@wkt_mpt)" "DO ST_GEOMCOLLFROMTEXT(@wkt_mls)" "DO ST_GEOMCOLLFROMTEXT(@wkt_mpy)" "DO ST_GEOMCOLLFROMTEXT(@wkt_gc)" +"DO ST_GEOMCOLLFROMTXT(@wkt_pt)" +"DO ST_GEOMCOLLFROMTXT(@wkt_ls)" +"DO ST_GEOMCOLLFROMTXT(@wkt_py)" "DO ST_GEOMCOLLFROMTXT(@wkt_mpt)" "DO ST_GEOMCOLLFROMTXT(@wkt_mls)" "DO ST_GEOMCOLLFROMTXT(@wkt_mpy)" "DO ST_GEOMCOLLFROMTXT(@wkt_gc)" +"DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_pt)" +"DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_ls)" +"DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_py)" "DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_mpt)" "DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_mls)" "DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_mpy)" @@ -34600,21 +38412,93 @@ ST_GeometryType(ST_GeomFromText('POINT(1 1)')) HOUR_SECOND" "DO ST_GEOMFROMTEXT(@wkt_mls)" "DO ST_GEOMFROMTEXT(@wkt_mpy)" "DO ST_GEOMFROMTEXT(@wkt_gc)" +"DO ST_LINEFROMTEXT(@wkt_pt)" "DO ST_LINEFROMTEXT(@wkt_ls)" +"DO ST_LINEFROMTEXT(@wkt_py)" +"DO ST_LINEFROMTEXT(@wkt_mpt)" +"DO ST_LINEFROMTEXT(@wkt_mls)" +"DO ST_LINEFROMTEXT(@wkt_mpy)" +"DO ST_LINEFROMTEXT(@wkt_gc)" +"DO ST_LINESTRINGFROMTEXT(@wkt_pt)" "DO ST_LINESTRINGFROMTEXT(@wkt_ls)" +"DO ST_LINESTRINGFROMTEXT(@wkt_py)" +"DO ST_LINESTRINGFROMTEXT(@wkt_mpt)" +"DO ST_LINESTRINGFROMTEXT(@wkt_mls)" +"DO ST_LINESTRINGFROMTEXT(@wkt_mpy)" +"DO ST_LINESTRINGFROMTEXT(@wkt_gc)" +"DO ST_MLINEFROMTEXT(@wkt_pt)" +"DO ST_MLINEFROMTEXT(@wkt_ls)" +"DO ST_MLINEFROMTEXT(@wkt_py)" +"DO ST_MLINEFROMTEXT(@wkt_mpt)" "DO ST_MLINEFROMTEXT(@wkt_mls)" +"DO ST_MLINEFROMTEXT(@wkt_mpy)" +"DO ST_MLINEFROMTEXT(@wkt_gc)" +"DO ST_MPOINTFROMTEXT(@wkt_pt)" +"DO ST_MPOINTFROMTEXT(@wkt_ls)" +"DO ST_MPOINTFROMTEXT(@wkt_py)" "DO ST_MPOINTFROMTEXT(@wkt_mpt)" +"DO ST_MPOINTFROMTEXT(@wkt_mls)" +"DO ST_MPOINTFROMTEXT(@wkt_mpy)" +"DO ST_MPOINTFROMTEXT(@wkt_gc)" +"DO ST_MPOLYFROMTEXT(@wkt_pt)" +"DO ST_MPOLYFROMTEXT(@wkt_ls)" +"DO ST_MPOLYFROMTEXT(@wkt_py)" +"DO ST_MPOLYFROMTEXT(@wkt_mpt)" +"DO ST_MPOLYFROMTEXT(@wkt_mls)" "DO ST_MPOLYFROMTEXT(@wkt_mpy)" +"DO ST_MPOLYFROMTEXT(@wkt_gc)" +"DO ST_MULTILINESTRINGFROMTEXT(@wkt_pt)" +"DO ST_MULTILINESTRINGFROMTEXT(@wkt_ls)" +"DO ST_MULTILINESTRINGFROMTEXT(@wkt_py)" +"DO ST_MULTILINESTRINGFROMTEXT(@wkt_mpt)" "DO ST_MULTILINESTRINGFROMTEXT(@wkt_mls)" +"DO ST_MULTILINESTRINGFROMTEXT(@wkt_mpy)" +"DO ST_MULTILINESTRINGFROMTEXT(@wkt_gc)" +"DO ST_MULTIPOINTFROMTEXT(@wkt_pt)" +"DO ST_MULTIPOINTFROMTEXT(@wkt_ls)" +"DO ST_MULTIPOINTFROMTEXT(@wkt_py)" "DO ST_MULTIPOINTFROMTEXT(@wkt_mpt)" +"DO ST_MULTIPOINTFROMTEXT(@wkt_mls)" +"DO ST_MULTIPOINTFROMTEXT(@wkt_mpy)" +"DO ST_MULTIPOINTFROMTEXT(@wkt_gc)" +"DO ST_MULTIPOLYGONFROMTEXT(@wkt_pt)" +"DO ST_MULTIPOLYGONFROMTEXT(@wkt_ls)" +"DO ST_MULTIPOLYGONFROMTEXT(@wkt_py)" +"DO ST_MULTIPOLYGONFROMTEXT(@wkt_mpt)" +"DO ST_MULTIPOLYGONFROMTEXT(@wkt_mls)" "DO ST_MULTIPOLYGONFROMTEXT(@wkt_mpy)" +"DO ST_MULTIPOLYGONFROMTEXT(@wkt_gc)" "DO ST_POINTFROMTEXT(@wkt_pt)" +"DO ST_POINTFROMTEXT(@wkt_ls)" +"DO ST_POINTFROMTEXT(@wkt_py)" +"DO ST_POINTFROMTEXT(@wkt_mpt)" +"DO ST_POINTFROMTEXT(@wkt_mls)" +"DO ST_POINTFROMTEXT(@wkt_mpy)" +"DO ST_POINTFROMTEXT(@wkt_gc)" +"DO ST_POLYFROMTEXT(@wkt_pt)" +"DO ST_POLYFROMTEXT(@wkt_ls)" "DO ST_POLYFROMTEXT(@wkt_py)" +"DO ST_POLYFROMTEXT(@wkt_mpt)" +"DO ST_POLYFROMTEXT(@wkt_mls)" +"DO ST_POLYFROMTEXT(@wkt_mpy)" +"DO ST_POLYFROMTEXT(@wkt_gc)" +"DO ST_POLYGONFROMTEXT(@wkt_pt)" +"DO ST_POLYGONFROMTEXT(@wkt_ls)" "DO ST_POLYGONFROMTEXT(@wkt_py)" +"DO ST_POLYGONFROMTEXT(@wkt_mpt)" +"DO ST_POLYGONFROMTEXT(@wkt_mls)" +"DO ST_POLYGONFROMTEXT(@wkt_mpy)" +"DO ST_POLYGONFROMTEXT(@wkt_gc)" +"DO ST_GEOMCOLLFROMWKB(@wkb_pt)" +"DO ST_GEOMCOLLFROMWKB(@wkb_ls)" +"DO ST_GEOMCOLLFROMWKB(@wkb_py)" "DO ST_GEOMCOLLFROMWKB(@wkb_mpt)" "DO ST_GEOMCOLLFROMWKB(@wkb_mls)" "DO ST_GEOMCOLLFROMWKB(@wkb_mpy)" "DO ST_GEOMCOLLFROMWKB(@wkb_gc)" +"DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_pt)" +"DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_ls)" +"DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_py)" "DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_mpt)" "DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_mls)" "DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_mpy)" @@ -34633,21 +38517,93 @@ ST_GeometryType(ST_GeomFromText('POINT(1 1)')) HOUR_SECOND" "DO ST_GEOMFROMWKB(@wkb_mls)" "DO ST_GEOMFROMWKB(@wkb_mpy)" "DO ST_GEOMFROMWKB(@wkb_gc)" +"DO ST_LINEFROMWKB(@wkb_pt)" "DO ST_LINEFROMWKB(@wkb_ls)" +"DO ST_LINEFROMWKB(@wkb_py)" +"DO ST_LINEFROMWKB(@wkb_mpt)" +"DO ST_LINEFROMWKB(@wkb_mls)" +"DO ST_LINEFROMWKB(@wkb_mpy)" +"DO ST_LINEFROMWKB(@wkb_gc)" +"DO ST_LINESTRINGFROMWKB(@wkb_pt)" "DO ST_LINESTRINGFROMWKB(@wkb_ls)" +"DO ST_LINESTRINGFROMWKB(@wkb_py)" +"DO ST_LINESTRINGFROMWKB(@wkb_mpt)" +"DO ST_LINESTRINGFROMWKB(@wkb_mls)" +"DO ST_LINESTRINGFROMWKB(@wkb_mpy)" +"DO ST_LINESTRINGFROMWKB(@wkb_gc)" +"DO ST_MLINEFROMWKB(@wkb_pt)" +"DO ST_MLINEFROMWKB(@wkb_ls)" +"DO ST_MLINEFROMWKB(@wkb_py)" +"DO ST_MLINEFROMWKB(@wkb_mpt)" "DO ST_MLINEFROMWKB(@wkb_mls)" +"DO ST_MLINEFROMWKB(@wkb_mpy)" +"DO ST_MLINEFROMWKB(@wkb_gc)" +"DO ST_MPOINTFROMWKB(@wkb_pt)" +"DO ST_MPOINTFROMWKB(@wkb_ls)" +"DO ST_MPOINTFROMWKB(@wkb_py)" "DO ST_MPOINTFROMWKB(@wkb_mpt)" +"DO ST_MPOINTFROMWKB(@wkb_mls)" +"DO ST_MPOINTFROMWKB(@wkb_mpy)" +"DO ST_MPOINTFROMWKB(@wkb_gc)" +"DO ST_MPOLYFROMWKB(@wkb_pt)" +"DO ST_MPOLYFROMWKB(@wkb_ls)" +"DO ST_MPOLYFROMWKB(@wkb_py)" +"DO ST_MPOLYFROMWKB(@wkb_mpt)" +"DO ST_MPOLYFROMWKB(@wkb_mls)" "DO ST_MPOLYFROMWKB(@wkb_mpy)" +"DO ST_MPOLYFROMWKB(@wkb_gc)" +"DO ST_MULTILINESTRINGFROMWKB(@wkb_pt)" +"DO ST_MULTILINESTRINGFROMWKB(@wkb_ls)" +"DO ST_MULTILINESTRINGFROMWKB(@wkb_py)" +"DO ST_MULTILINESTRINGFROMWKB(@wkb_mpt)" "DO ST_MULTILINESTRINGFROMWKB(@wkb_mls)" +"DO ST_MULTILINESTRINGFROMWKB(@wkb_mpy)" +"DO ST_MULTILINESTRINGFROMWKB(@wkb_gc)" +"DO ST_MULTIPOINTFROMWKB(@wkb_pt)" +"DO ST_MULTIPOINTFROMWKB(@wkb_ls)" +"DO ST_MULTIPOINTFROMWKB(@wkb_py)" "DO ST_MULTIPOINTFROMWKB(@wkb_mpt)" +"DO ST_MULTIPOINTFROMWKB(@wkb_mls)" +"DO ST_MULTIPOINTFROMWKB(@wkb_mpy)" +"DO ST_MULTIPOINTFROMWKB(@wkb_gc)" +"DO ST_MULTIPOLYGONFROMWKB(@wkb_pt)" +"DO ST_MULTIPOLYGONFROMWKB(@wkb_ls)" +"DO ST_MULTIPOLYGONFROMWKB(@wkb_py)" +"DO ST_MULTIPOLYGONFROMWKB(@wkb_mpt)" +"DO ST_MULTIPOLYGONFROMWKB(@wkb_mls)" "DO ST_MULTIPOLYGONFROMWKB(@wkb_mpy)" +"DO ST_MULTIPOLYGONFROMWKB(@wkb_gc)" "DO ST_POINTFROMWKB(@wkb_pt)" +"DO ST_POINTFROMWKB(@wkb_ls)" +"DO ST_POINTFROMWKB(@wkb_py)" +"DO ST_POINTFROMWKB(@wkb_mpt)" +"DO ST_POINTFROMWKB(@wkb_mls)" +"DO ST_POINTFROMWKB(@wkb_mpy)" +"DO ST_POINTFROMWKB(@wkb_gc)" +"DO ST_POLYFROMWKB(@wkb_pt)" +"DO ST_POLYFROMWKB(@wkb_ls)" "DO ST_POLYFROMWKB(@wkb_py)" +"DO ST_POLYFROMWKB(@wkb_mpt)" +"DO ST_POLYFROMWKB(@wkb_mls)" +"DO ST_POLYFROMWKB(@wkb_mpy)" +"DO ST_POLYFROMWKB(@wkb_gc)" +"DO ST_POLYGONFROMWKB(@wkb_pt)" +"DO ST_POLYGONFROMWKB(@wkb_ls)" "DO ST_POLYGONFROMWKB(@wkb_py)" +"DO ST_POLYGONFROMWKB(@wkb_mpt)" +"DO ST_POLYGONFROMWKB(@wkb_mls)" +"DO ST_POLYGONFROMWKB(@wkb_mpy)" +"DO ST_POLYGONFROMWKB(@wkb_gc)" +"DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" "DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" "DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" "DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" "DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" "DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" "DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" "DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" @@ -34666,22 +38622,98 @@ ST_GeometryType(ST_GeomFromText('POINT(1 1)')) HOUR_SECOND" "DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" "DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" "DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" "DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" "DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" "DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" "DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" "DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" "DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" "DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" "DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" "DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" +"DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" "DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" +"DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" +"DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" "DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" +"DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" +"DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" +"DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" +"DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" "CREATE TABLE t1 (a DECIMAL(54,20))" +"SELECT (SELECT MULTILINESTRING(d.a, d.a, d.a) FROM t1) +FROM t1 AS d GROUP BY d.a" +"DO ST_EXTERIORRING(x'000000000107000000010000000101000000000000000000')" +"DO ST_EXTERIORRING(x'000000000107000000010000000102000000000000000000')" +"DO ST_EXTERIORRING(x'000000000107000000010000000103000000000000000000')" +"DO ST_EXTERIORRING(x'00000000010700000001000000010400000001000000')" +"DO ST_EXTERIORRING(x'00000000010700000001000000010500000001000000')" +"DO ST_EXTERIORRING(x'00000000010700000001000000010600000001000000')" "CREATE TABLE t1(g GEOMETRY NOT NULL) ENGINE=ARCHIVE" +"INSERT INTO t1 VALUES (NULL), (NULL)" "SET @save_sql_mode=@@sql_mode" "SET sql_mode=@save_sql_mode" "INSERT INTO t VALUES(1),(2),(3),(4)" +"DO (SELECT DISTINCT SQL_BIG_RESULT ST_SIMPLIFY(POINT(a,1),1) FROM t)" "CREATE TABLE t1 ( g POLYGON SRID 4326 NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" @@ -34718,20 +38750,44 @@ g POLYGON SRID 4326 NOT NULL, SPATIAL INDEX g_idx (g) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" "CREATE TABLE t1(g GEOMETRY NOT NULL)" +"INSERT IGNORE INTO t1 VALUES (NULL)" "UPDATE t1 SET g=NULL" "UPDATE IGNORE t1 SET g=NULL" "INSERT INTO t1 VALUES (POINT(0, 0))" "CREATE TABLE t1(x VARCHAR(10), g GEOMETRY NOT NULL)" +"LOAD DATA INFILE 'bug26412713.csv' INTO TABLE t1 (x)" +"CREATE TABLE t1(g GEOMETRY NOT NULL DEFAULT '')" "CREATE TABLE t1 (id INT, g GEOMETRY NOT NULL)" +"INSERT IGNORE INTO v1(id) VALUES(0)" "CREATE TABLE t1 (g GEOMCOLLECTION)" "INSERT INTO t1 VALUES (GEOMCOLLECTION(POINT(0, 0)))" "SELECT TABLE_NAME, COLUMN_NAME, GEOMETRY_TYPE_NAME FROM INFORMATION_SCHEMA.ST_GEOMETRY_COLUMNS" "INSERT INTO t1 VALUES (GEOMETRYCOLLECTION(POINT(0, 0)))" +"DO ST_GEOMFROMTEXT('GEOMCOLLECTION(POINT(0 0))')" "DO ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))')" "SELECT ST_GEOMETRYTYPE(GEOMETRYCOLLECTION(POINT(0, 0)))" "EXPLAIN SELECT GEOMCOLLECTION()" "EXPLAIN SELECT GEOMETRYCOLLECTION()" +"SELECT ST_Contains( +ST_GeomFromText('LINESTRING(79 63,65 -51)', '4326','axis-order=long-lat'), +ST_GeomFromText( +'GEOMETRYCOLLECTION(POLYGON((16 -15,-132 -22,-56 89,67 -29,16 -15)), +POLYGON((101 49,117 -61,-164 -21,12 40,101 49)))', +'4326', 'axis-order=long-lat' +) +) AS result" +"SELECT ST_Touches( +ST_GeomFromText( +'GEOMETRYCOLLECTION(POLYGON((-31 144,-74 -125,60 -89,53 60,-31 144)), +POLYGON((1 23,23 105,14 -134,1 23)))', +'4326' +), +ST_GeomFromText( +'MULTIPOLYGON(((-12 -12,-17 -157,-77 -132,-12 -12)))', +'4326' +) +) AS result" "SET @saved_sql_mode=@@sql_mode" "SET SESSION sql_mode=@saved_sql_mode" "CREATE TABLE t1(c1 POINT)" @@ -34758,20 +38814,59 @@ ST_GeomFromText('POINT(1 1)', 4326) , ST_GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(3 3, 4 4))', 4326) , ST_GeomFromText('POINT(1 1)', 4326))" "INSERT INTO t2 (point_col) SELECT point_col FROM t1" +"INSERT INTO t2 (multipoint_col) SELECT point_col FROM t1" +"INSERT INTO t2 (linestring_col) SELECT point_col FROM t1" +"INSERT INTO t2 (multilinestring_col) SELECT point_col FROM t1" +"INSERT INTO t2 (polygon_col) SELECT point_col FROM t1" +"INSERT INTO t2 (multipolygon_col) SELECT point_col FROM t1" +"INSERT INTO t2 (geometrycollection_col) SELECT point_col FROM t1" "INSERT INTO t2 (geometry_col) SELECT point_col FROM t1" +"INSERT INTO t2 (point_col) SELECT multipoint_col FROM t1" "INSERT INTO t2 (multipoint_col) SELECT multipoint_col FROM t1" +"INSERT INTO t2 (linestring_col) SELECT multipoint_col FROM t1" +"INSERT INTO t2 (multilinestring_col) SELECT multipoint_col FROM t1" +"INSERT INTO t2 (polygon_col) SELECT multipoint_col FROM t1" +"INSERT INTO t2 (multipolygon_col) SELECT multipoint_col FROM t1" "INSERT INTO t2 (geometrycollection_col) SELECT multipoint_col FROM t1" "INSERT INTO t2 (geometry_col) SELECT multipoint_col FROM t1" +"INSERT INTO t2 (point_col) SELECT linestring_col FROM t1" +"INSERT INTO t2 (multipoint_col) SELECT linestring_col FROM t1" "INSERT INTO t2 (linestring_col) SELECT linestring_col FROM t1" +"INSERT INTO t2 (multilinestring_col) SELECT linestring_col FROM t1" +"INSERT INTO t2 (polygon_col) SELECT linestring_col FROM t1" +"INSERT INTO t2 (multipolygon_col) SELECT linestring_col FROM t1" +"INSERT INTO t2 (geometrycollection_col) SELECT linestring_col FROM t1" "INSERT INTO t2 (geometry_col) SELECT linestring_col FROM t1" +"INSERT INTO t2 (point_col) SELECT multilinestring_col FROM t1" +"INSERT INTO t2 (multipoint_col) SELECT multilinestring_col FROM t1" +"INSERT INTO t2 (linestring_col) SELECT multilinestring_col FROM t1" "INSERT INTO t2 (multilinestring_col) SELECT multilinestring_col FROM t1" +"INSERT INTO t2 (polygon_col) SELECT multilinestring_col FROM t1" +"INSERT INTO t2 (multipolygon_col) SELECT multilinestring_col FROM t1" "INSERT INTO t2 (geometrycollection_col) SELECT multilinestring_col FROM t1" "INSERT INTO t2 (geometry_col) SELECT multilinestring_col FROM t1" +"INSERT INTO t2 (point_col) SELECT polygon_col FROM t1" +"INSERT INTO t2 (multipoint_col) SELECT polygon_col FROM t1" +"INSERT INTO t2 (linestring_col) SELECT polygon_col FROM t1" +"INSERT INTO t2 (multilinestring_col) SELECT polygon_col FROM t1" "INSERT INTO t2 (polygon_col) SELECT polygon_col FROM t1" +"INSERT INTO t2 (multipolygon_col) SELECT polygon_col FROM t1" +"INSERT INTO t2 (geometrycollection_col) SELECT polygon_col FROM t1" "INSERT INTO t2 (geometry_col) SELECT polygon_col FROM t1" +"INSERT INTO t2 (point_col) SELECT multipolygon_col FROM t1" +"INSERT INTO t2 (multipoint_col) SELECT multipolygon_col FROM t1" +"INSERT INTO t2 (linestring_col) SELECT multipolygon_col FROM t1" +"INSERT INTO t2 (multilinestring_col) SELECT multipolygon_col FROM t1" +"INSERT INTO t2 (polygon_col) SELECT multipolygon_col FROM t1" "INSERT INTO t2 (multipolygon_col) SELECT multipolygon_col FROM t1" "INSERT INTO t2 (geometrycollection_col) SELECT multipolygon_col FROM t1" "INSERT INTO t2 (geometry_col) SELECT multipolygon_col FROM t1" +"INSERT INTO t2 (point_col) SELECT geometrycollection_col FROM t1" +"INSERT INTO t2 (multipoint_col) SELECT geometrycollection_col FROM t1" +"INSERT INTO t2 (linestring_col) SELECT geometrycollection_col FROM t1" +"INSERT INTO t2 (multilinestring_col) SELECT geometrycollection_col FROM t1" +"INSERT INTO t2 (polygon_col) SELECT geometrycollection_col FROM t1" +"INSERT INTO t2 (multipolygon_col) SELECT geometrycollection_col FROM t1" "INSERT INTO t2 (geometrycollection_col) SELECT geometrycollection_col FROM t1" "INSERT INTO t2 (geometry_col) SELECT geometrycollection_col FROM t1" "SELECT @@ -34784,8 +38879,23 @@ ST_AsText(point_col) AS point_col , ST_AsText(geometrycollection_col) AS geometrycollection_col , ST_AsText(geometry_col) AS geometry_col FROM t2" +"DO ST_ASWKB(JSON_UNQUOTE(JSON_SET('{""a"":""""}', '$', '')))" "CREATE TABLE t(a INT PRIMARY KEY) ENGINE=INNODB PARTITION BY KEY(a) PARTITIONS 10" +"INSERT t(a) VALUES( +is_uuid( +st_distance_sphere( +multipoint( +point(-6682,10942), +point(-6033,-22659), +point(-14161,-22192), +point(3074,1.717753e+308), +point(-12593,562949953421315) +), +point(2051,8192) +) +) +)" "CREATE TABLE t ( c1 VARCHAR(8) NOT NULL, c2 VARCHAR(16) NOT NULL, @@ -34796,8 +38906,17 @@ SPATIAL KEY coord (geom) "INSERT INTO t VALUES (1, 2, POINT(1, 2))" "EXPLAIN SELECT COUNT(*) FROM t WHERE MBRCONTAINS(ST_GEOMFROMTEXT('POLYGON((1 2, 2 2, 2 3, 1 2))'), geom) AND c1 <> '10'" "CREATE TABLE t1 (geom POINT SRID 0 NOT NULL)" +"INSERT IGNORE INTO t1 VALUES()" +"INSERT IGNORE INTO t1 VALUES(DEFAULT)" +"INSERT INTO t1 VALUES(DEFAULT)" "INSERT INTO t1 VALUES(ST_GeomFromText('POINT(0 0)', 0))" +"UPDATE t1 SET geom = DEFAULT" "SHOW GLOBAL STATUS LIKE 'Gr\_%'" +"SELECT group_replication_disable_member_action(""mysql_disable_super_read_only_if_primary"", ""AFTER_PRIMARY_ELECTION"")" +"SELECT group_replication_enable_member_action(""mysql_disable_super_read_only_if_primary"", ""AFTER_PRIMARY_ELECTION"")" +"SELECT group_replication_reset_member_actions()" +"SELECT * FROM performance_schema.replication_group_member_actions" +"SELECT * FROM performance_schema.replication_group_configuration_version" "set @orig_sql_mode_session= @@SESSION.sql_mode" "set @orig_sql_mode_global= @@GLOBAL.sql_mode" "create user mysqltest_1@localhost" @@ -34834,6 +38953,7 @@ SPATIAL KEY coord (geom) "delete from mysql.columns_priv where user='mysqltest_1' or user=""mysqltest_2"" or user=""mysqltest_3""" "create table t1 (abcdefghijklmnopqrstuvwxyz int)" "GRANT select (abcdefghijklmnopqrstuvwxyz) on t1 to mysqltest_1@localhost" +"GRANT FILE on mysqltest.* to mysqltest_1@localhost" "drop user mysqltest_1@localhost" "insert ignore into mysql.user (host, user) values ('localhost', 'test11')" "insert into mysql.db (host, db, user, select_priv) values @@ -34868,6 +38988,8 @@ SPATIAL KEY coord (geom) "grant select on *.* to drop_user4@localhost" "drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost, drop_user4@localhost" +"revoke all privileges, grant option from drop_user1@localhost, drop_user2@localhost, +drop_user3@localhost, drop_user4@localhost" "create user mysqltest_1@localhost identified by ""password""" "grant select, update, insert on test.* to mysqltest_1@localhost" "CREATE DATABASE бд" @@ -34978,6 +39100,11 @@ ORDER BY TABLE_SCHEMA,PRIVILEGE_TYPE" "SELECT * from INFORMATION_SCHEMA.USER_PRIVILEGES WHERE GRANTEE = '''mysqltest_3''@''localhost''' ORDER BY TABLE_CATALOG,PRIVILEGE_TYPE" +"update mysqltest_1.t1, mysqltest_1.t2 set q=10 where b=1" +"update mysqltest_1.t2, mysqltest_2.t2 set d=20 where d=1" +"update mysqltest_1.t1, mysqltest_2.t2 set d=20 where d=1" +"update mysqltest_2.t1, mysqltest_1.t2 set c=20 where b=1" +"update mysqltest_2.t1, mysqltest_2.t2 set d=10 where s=2" "update mysqltest_1.t1, mysqltest_2.t2 set a=10,d=10" "update mysqltest_1.t1, mysqltest_2.t1 set a=20 where c=20" "select t1.*,t2.* from mysqltest_1.t1,mysqltest_1.t2" @@ -34991,7 +39118,10 @@ ORDER BY TABLE_CATALOG,PRIVILEGE_TYPE" "grant select on mysqltest_2.t1 to mysqltest_3@localhost" "use mysqltest_1" "update mysqltest_2.t1, mysqltest_2.t2 set c=500,d=600" +"update mysqltest_1.t1, mysqltest_1.t2 set a=100,b=200" "use mysqltest_2" +"update mysqltest_2.t1, mysqltest_1.t2 set c=100,b=200" +"update mysqltest_1.t1, mysqltest_2.t2 set a=100,d=200" "delete from mysql.user where user='mysqltest_3'" "delete from mysql.db where user=""mysqltest_3""" "delete from mysql.tables_priv where user=""mysqltest_3""" @@ -35047,6 +39177,7 @@ PRIVILEGE_TYPE SEPARATOR ', ') AS PRIVILEGES FROM TABLE_PRIVILEGES WHERE GRANTEE "create user user27515@localhost" "grant alter on db27515.t1 to user27515@localhost" "grant insert, create on db27515.t2 to user27515@localhost" +"rename table t1 to t2" "revoke all privileges, grant option from user27515@localhost" "drop user user27515@localhost" "drop database db27515" @@ -35083,6 +39214,7 @@ where grantee like ""'mysqltest_8'%""" "drop user mysqltest_8@''" "drop user mysqltest_8" "drop user mysqltest_8@host8" +"show grants for mysqltest_8@host8" "insert into mysql.user select * from t2" "CREATE DATABASE mysqltest3" "USE mysqltest3" @@ -35098,13 +39230,21 @@ where grantee like ""'mysqltest_8'%""" "GRANT SELECT ON mysqltest2.v_yn TO 'mysqltest_1'@'localhost'" "GRANT SELECT ON mysqltest2.* TO 'mysqltest_1'@'localhost'" "GRANT SHOW VIEW,SELECT ON mysqltest2.v_yy TO 'mysqltest_1'@'localhost'" +"SHOW CREATE VIEW mysqltest2.v_nn" +"SHOW CREATE TABLE mysqltest2.v_nn" +"SHOW CREATE VIEW mysqltest2.v_yn" +"SHOW CREATE TABLE mysqltest2.v_yn" "SHOW CREATE TABLE mysqltest2.v_ny" "SHOW CREATE VIEW mysqltest2.v_ny" +"SHOW CREATE TABLE mysqltest3.t_nn" +"SHOW CREATE VIEW mysqltest3.t_nn" +"SHOW CREATE VIEW mysqltest3.v_nn" +"SHOW CREATE TABLE mysqltest3.v_nn" "SHOW CREATE TABLE mysqltest2.t_nn" +"SHOW CREATE VIEW mysqltest2.t_nn" "SHOW CREATE VIEW mysqltest2.v_yy" "SHOW CREATE TABLE mysqltest2.v_yy" -"SHOW CREATE TABLE mysqltest2.v_nn" -"SHOW CREATE VIEW mysqltest2.v_nn" +"SHOW CREATE VIEW mysqltest2.t_nn" "DROP VIEW mysqltest2.v_nn" "DROP VIEW mysqltest2.v_yn" "DROP VIEW mysqltest2.v_ny" @@ -35115,6 +39255,7 @@ where grantee like ""'mysqltest_8'%""" "DROP DATABASE mysqltest3" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'mysqltest_1'@'localhost'" "DROP USER 'mysqltest_1'@'localhost'" +"create user mysqltest1_thisisreallyreallyreallyreallyreallyireallyreallytoolong" "CREATE TABLE mysqltest1.t1 ( int_field INTEGER UNSIGNED NOT NULL, char_field CHAR(10), @@ -35131,16 +39272,29 @@ INDEX(`int_field`) "ALTER TABLE t2 RENAME TO t1" "REVOKE DROP, INSERT ON mysqltest1.t1 FROM mysqltest_1@localhost" "REVOKE DROP, INSERT ON mysqltest1.t2 FROM mysqltest_1@localhost" +"GRANT CREATE ON mysqltest.* TO 1234567890abcdefGHIKL1234567890abcdefGHIKL@localhost" +"GRANT CREATE ON mysqltest.* TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"REVOKE CREATE ON mysqltest.* FROM 1234567890abcdefGHIKL1234567890abcdefGHIKL@localhost" +"REVOKE CREATE ON mysqltest.* FROM some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"GRANT CREATE ON t1 TO 1234567890abcdefGHIKL1234567890abcdefGHIKL@localhost" +"GRANT CREATE ON t1 TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"REVOKE CREATE ON t1 FROM 1234567890abcdefGHIKL1234567890abcdefGHIKL@localhost" +"REVOKE CREATE ON t1 FROM some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"GRANT EXECUTE ON PROCEDURE p1 TO 1234567890abcdefGHIKL1234567890abcdefGHIKL@localhost" +"GRANT EXECUTE ON PROCEDURE p1 TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"REVOKE EXECUTE ON PROCEDURE p1 FROM 1234567890abcdefGHIKL1234567890abcdefGHIKL@localhost" +"REVOKE EXECUTE ON PROCEDURE t1 FROM some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" "CREATE USER bug23556@localhost" "CREATE DATABASE bug23556" "GRANT SELECT ON bug23556.* TO bug23556@localhost" "USE bug23556" "GRANT DELETE ON t1 TO bug23556@localhost" +"TRUNCATE t1" "REVOKE DELETE ON t1 FROM bug23556@localhost" "GRANT DROP ON t1 TO bug23556@localhost" -"TRUNCATE t1" "DROP DATABASE bug23556" "DROP USER bug23556@localhost" +"GRANT PROCESS ON * TO user@localhost" "CREATE DATABASE mysqltest4" "CREATE PROCEDURE mysqltest1.p_def() SQL SECURITY DEFINER SELECT 1" @@ -35186,6 +39340,7 @@ SELECT 1" "GRANT ALL ON db27878.* TO 'mysqltest_1'@'localhost'" "USE db27878" "CREATE SQL SECURITY INVOKER VIEW db27878.v1 AS SELECT * FROM test.t1" +"UPDATE v1 SET f2 = 4" "SELECT * FROM test.t1" "REVOKE UPDATE (f1) ON `test`.`t1` FROM 'mysqltest_1'@'localhost'" "REVOKE SELECT ON `test`.* FROM 'mysqltest_1'@'localhost'" @@ -35228,6 +39383,8 @@ end" "GRANT SELECT(a) ON t1 TO testuser@localhost" "REVOKE SELECT ON t2 FROM testuser@localhost" "REVOKE SELECT ON mysqltest2.* FROM testuser@localhost" +"SELECT SUM(b) OVER () FROM t1" +"SHOW TABLES FROM mysqltest2" "create function mysqltest1.f1() returns int return 0" "create procedure mysqltest1.p1() begin end" "create user mysqluser1@localhost" @@ -35258,6 +39415,7 @@ end" "grant select on test.* to юзер_юзер@localhost" "revoke all on test.* from юзер_юзер@localhost" "drop user юзер_юзер@localhost" +"grant select on test.* to очень_длинный_юзер_very_long_user@localhost" "create user mysqltest@localhost" "grant create on mysqltest.* to mysqltest@localhost" "create table t1 (i INT)" @@ -35267,9 +39425,13 @@ end" "grant insert on mysqltest.t4 to mysqltest@localhost" "grant create, insert on mysqltest.t5 to mysqltest@localhost" "grant create, insert on mysqltest.t6 to mysqltest@localhost" +"create table if not exists t1 select * from t2" +"create table if not exists t3 select * from t2" "create table if not exists t4 select * from t2" "create table if not exists t5 select * from t2" "create table t6 select * from t2" +"create table t7 select * from t2" +"create table t4 select * from t2" "drop table t1,t2,t4,t5,t6" "revoke create on mysqltest.* from mysqltest@localhost" "revoke select, insert on mysqltest.t2 from mysqltest@localhost" @@ -35282,6 +39444,7 @@ end" "CREATE PROCEDURE mysqltest1.test() SQL SECURITY DEFINER SELECT 1" "CREATE FUNCTION mysqltest1.test() RETURNS INT RETURN 1" +"GRANT EXECUTE ON FUNCTION mysqltest1.test TO mysqltest_1@localhost" "CALL mysqltest1.test()" "RENAME TABLE mysql.procs_gone TO mysql.procs_priv" "CREATE DATABASE dbbug33464" @@ -35302,6 +39465,7 @@ END" "USE dbbug33464" "SELECT fn1()" "SELECT fn2()" +"DROP USER 'userbug33464'@'localhost'" "DROP FUNCTION fn1" "DROP FUNCTION fn2" "DROP PROCEDURE sp3" @@ -35331,11 +39495,14 @@ END ;" "REVOKE ALL ON db1.* FROM 'user2'@'%'" "DROP USER 'user1'@'localhost'" "DROP USER 'user2'" -"GRANT ALL ON *.* TO mysqltest_1" "GRANT ALL ON * TO mysqltest_1" +"GRANT ALL ON *.* TO mysqltest_1" "CREATE USER 'testbug'@localhost" "GRANT SELECT ON db1.* to 'testbug'@localhost" "USE db2" +"SELECT * FROM `../db2/tb2`" +"SELECT * FROM `../db2`.tb2" +"SELECT * FROM `#mysql50#/../db2/tb2`" "DROP USER 'testbug'@localhost" "DROP TABLE db2.t1" "create user myuser@Localhost identified by 'foo'" @@ -35390,10 +39557,15 @@ END ;" "GRANT REFERENCES ON mysqltest_db1.t1 TO mysqltest_u1@localhost" "GRANT CREATE VIEW ON mysqltest_db1.t1 TO mysqltest_u1@localhost" "GRANT SHOW VIEW ON mysqltest_db1.t1 TO mysqltest_u1@localhost" +"grant execute on function mysqltest_db1.f1 to mysqltest_u1" +"grant execute on procedure mysqltest_db1.p1 to mysqltest_u1" +"grant select on mysqltest_db1.t1 to mysqltest_u1" "show grants for mysqltest_u1" "CREATE DATABASE secret" "CREATE USER 'untrusted'@localhost" "GRANT USAGE ON *.* TO 'untrusted'@localhost" +"CREATE PROCEDURE no_such_db.foo() BEGIN END" +"CREATE PROCEDURE secret.peek_at_secret() BEGIN END" "DROP USER 'untrusted'@localhost" "DROP DATABASE secret" "CREATE USER foo@'127.0.0.1'" @@ -35421,6 +39593,9 @@ END ;" "select password_lifetime from mysql.user where user='wl7131'" "CREATE USER 'wl7131'" "ALTER USER 'wl7131' REQUIRE SSL" +"ALTER USER 'wl7131' PASSWORD EXPIRE INTERVAL -2 DAY",,syntax_error +"ALTER USER 'wl7131' PASSWORD EXPIRE INTERVAL 0 DAY" +"ALTER USER 'wl7131' PASSWORD EXPIRE INTERVAL 65536 DAY" "ALTER USER 'wl7131' IDENTIFIED BY ''" "CREATE USER 'wl7131'@'localhost' IDENTIFIED BY 'wl7131'" "SELECT (SELECT password_last_changed FROM mysql.user where user='wl7131') IS NOT NULL" @@ -35430,80 +39605,109 @@ END ;" "CREATE USER user_name_len_16@localhost" "CREATE USER user_name_len_22_01234@localhost" "CREATE USER user_name_len_32_012345678901234@localhost" +"CREATE USER user_name_len_33_0123456789012345@localhost" +"CREATE USER user_name_len_40_01234567890123456789012@localhost" "GRANT CREATE ON mysqltest.* TO user_name_len_16@localhost" "GRANT CREATE ON mysqltest.* TO user_name_len_22_01234@localhost" "GRANT CREATE ON mysqltest.* TO user_name_len_32_012345678901234@localhost" +"GRANT CREATE ON mysqltest.* TO user_name_len_33_0123456789012345@localhost" +"GRANT CREATE ON mysqltest.* TO user_name_len_40_01234567890123456789012@localhost" "REVOKE CREATE ON mysqltest.* FROM user_name_len_16@localhost" "REVOKE CREATE ON mysqltest.* FROM user_name_len_22_01234@localhost" "REVOKE CREATE ON mysqltest.* FROM user_name_len_32_012345678901234@localhost" +"REVOKE CREATE ON mysqltest.* FROM user_name_len_33_0123456789012345@localhost" +"REVOKE CREATE ON mysqltest.* FROM user_name_len_40_01234567890123456789012@localhost" "GRANT CREATE ON t1 TO user_name_len_16@localhost" "GRANT CREATE ON t1 TO user_name_len_22_01234@localhost" "GRANT CREATE ON t1 TO user_name_len_32_012345678901234@localhost" +"GRANT CREATE ON t1 TO user_name_len_33_0123456789012345@localhost" +"GRANT CREATE ON t1 TO user_name_len_40_01234567890123456789012@localhost" "REVOKE CREATE ON t1 FROM user_name_len_16@localhost" "REVOKE CREATE ON t1 FROM user_name_len_22_01234@localhost" "REVOKE CREATE ON t1 FROM user_name_len_32_012345678901234@localhost" +"REVOKE CREATE ON t1 FROM user_name_len_33_0123456789012345@localhost" +"REVOKE CREATE ON t1 FROM user_name_len_40_01234567890123456789012@localhost" "GRANT SELECT ON t1 TO user_name_len_16@localhost" "GRANT SELECT ON t1 TO user_name_len_22_01234@localhost" "GRANT SELECT ON t1 TO user_name_len_32_012345678901234@localhost" +"GRANT SELECT ON t1 TO user_name_len_33_0123456789012345@localhost" +"GRANT SELECT ON t1 TO user_name_len_40_01234567890123456789012@localhost" "REVOKE SELECT ON t1 FROM user_name_len_16@localhost" "REVOKE SELECT ON t1 FROM user_name_len_22_01234@localhost" "REVOKE SELECT ON t1 FROM user_name_len_32_012345678901234@localhost" +"REVOKE SELECT ON t1 FROM user_name_len_33_0123456789012345@localhost" +"REVOKE SELECT ON t1 FROM user_name_len_40_01234567890123456789012@localhost" "GRANT EXECUTE ON PROCEDURE p1 TO user_name_len_16@localhost" "GRANT EXECUTE ON PROCEDURE p1 TO user_name_len_22_01234@localhost" "GRANT EXECUTE ON PROCEDURE p1 TO user_name_len_32_012345678901234@localhost" +"GRANT EXECUTE ON PROCEDURE p1 TO user_name_len_33_0123456789012345@localhost" +"GRANT EXECUTE ON PROCEDURE p1 TO user_name_len_40_01234567890123456789012@localhost" "REVOKE EXECUTE ON PROCEDURE p1 FROM user_name_len_16@localhost" "REVOKE EXECUTE ON PROCEDURE p1 FROM user_name_len_22_01234@localhost" "REVOKE EXECUTE ON PROCEDURE p1 FROM user_name_len_32_012345678901234@localhost" +"REVOKE EXECUTE ON PROCEDURE p1 FROM user_name_len_33_0123456789012345@localhost" +"REVOKE EXECUTE ON PROCEDURE p1 FROM user_name_len_40_01234567890123456789012@localhost" +"DROP USER user_name_len_40_01234567890123456789012@localhost" "CREATE USER очень_длинный_юз@localhost" "CREATE USER очень_очень_длинный_юзер@localhost" "CREATE USER очень_очень_очень_длинный_юзер__@localhost" +"CREATE USER очень_очень_очень_очень_длинный_юзер@localhost" "GRANT CREATE ON mysqltest.* TO очень_длинный_юз@localhost" "GRANT CREATE ON mysqltest.* TO очень_очень_длинный_юзер@localhost" "GRANT CREATE ON mysqltest.* TO очень_очень_очень_длинный_юзер__@localhost" +"GRANT CREATE ON mysqltest.* TO очень_очень_очень_очень_длинный_юзер@localhost" "REVOKE CREATE ON mysqltest.* FROM очень_длинный_юз@localhost" "REVOKE CREATE ON mysqltest.* FROM очень_очень_длинный_юзер@localhost" "REVOKE CREATE ON mysqltest.* FROM очень_очень_очень_длинный_юзер__@localhost" +"REVOKE CREATE ON mysqltest.* FROM очень_очень_очень_очень_длинный_юзер@localhost" "GRANT CREATE ON t1 TO очень_длинный_юз@localhost" "GRANT CREATE ON t1 TO очень_очень_длинный_юзер@localhost" "GRANT CREATE ON t1 TO очень_очень_очень_длинный_юзер__@localhost" +"GRANT CREATE ON t1 TO очень_очень_очень_очень_длинный_юзер@localhost" "REVOKE CREATE ON t1 FROM очень_длинный_юз@localhost" "REVOKE CREATE ON t1 FROM очень_очень_длинный_юзер@localhost" "REVOKE CREATE ON t1 FROM очень_очень_очень_длинный_юзер__@localhost" +"REVOKE CREATE ON t1 FROM очень_очень_очень_очень_длинный_юзер@localhost" "GRANT SELECT ON t1 TO очень_длинный_юз@localhost" "GRANT SELECT ON t1 TO очень_очень_длинный_юзер@localhost" "GRANT SELECT ON t1 TO очень_очень_очень_длинный_юзер__@localhost" +"GRANT SELECT ON t1 TO очень_очень_очень_очень_длинный_юзер@localhost" "REVOKE SELECT ON t1 FROM очень_длинный_юз@localhost" "REVOKE SELECT ON t1 FROM очень_очень_длинный_юзер@localhost" "REVOKE SELECT ON t1 FROM очень_очень_очень_длинный_юзер__@localhost" +"REVOKE SELECT ON t1 FROM очень_очень_очень_очень_длинный_юзер@localhost" "GRANT EXECUTE ON PROCEDURE p1 TO очень_длинный_юз@localhost" "GRANT EXECUTE ON PROCEDURE p1 TO очень_очень_длинный_юзер@localhost" "GRANT EXECUTE ON PROCEDURE p1 TO очень_очень_очень_длинный_юзер__@localhost" +"GRANT EXECUTE ON PROCEDURE p1 TO очень_очень_очень_очень_длинный_юзер@localhost" "REVOKE EXECUTE ON PROCEDURE p1 FROM очень_длинный_юз@localhost" "REVOKE EXECUTE ON PROCEDURE p1 FROM очень_очень_длинный_юзер@localhost" "REVOKE EXECUTE ON PROCEDURE p1 FROM очень_очень_очень_длинный_юзер__@localhost" +"REVOKE EXECUTE ON PROCEDURE p1 FROM очень_очень_очень_очень_длинный_юзер@localhost" "CREATE USER user_name_len_25_01234567@localhost" "GRANT CREATE ON * . * TO user_name_len_25_01234567@localhost" "CREATE DATABASE db_1" "CREATE TABLE db_1.test_table (name varchar(15) not null, surname varchar(20) not null, email varchar(50) null, street varchar(50) null, city varchar(50) null, is_active int default 1 )" -"GRANT INSERT ON db_1.test_table TO user_name_len_25_01234567@localhost" "INSERT INTO db_1.test_table values('rob', 'g', 'robg@oracle.com', 'couldbeworse_street', 'couldbeworse_city', 1)" +"GRANT INSERT ON db_1.test_table TO user_name_len_25_01234567@localhost" "INSERT INTO db_1.test_table values('kam', 'g', 'kamg@oracle.com', 'couldbeworse_street', 'couldbeworse_city', 1)" -"GRANT SELECT ON db_1.test_table TO user_name_len_25_01234567@localhost" "SELECT * FROM db_1.test_table" -"GRANT UPDATE ON db_1.test_table TO user_name_len_25_01234567@localhost" +"GRANT SELECT ON db_1.test_table TO user_name_len_25_01234567@localhost" "UPDATE db_1.test_table SET street='couldbemuchworse_street' WHERE name='rob'" -"GRANT DELETE ON db_1.test_table TO user_name_len_25_01234567@localhost" +"GRANT UPDATE ON db_1.test_table TO user_name_len_25_01234567@localhost" "DELETE FROM db_1.test_table WHERE name='rob'" -"GRANT DROP ON db_1.* TO user_name_len_25_01234567@localhost" +"GRANT DELETE ON db_1.test_table TO user_name_len_25_01234567@localhost" "DROP TABLE db_1.test_table" +"GRANT DROP ON db_1.* TO user_name_len_25_01234567@localhost" "DROP DATABASE db_1" "DROP USER очень_длинный_юз@localhost" "DROP USER очень_очень_длинный_юзер@localhost" "DROP USER очень_очень_очень_длинный_юзер__@localhost" +"DROP USER очень_очень_очень_очень_длинный_юзер@localhost" "DROP USER user_name_len_16@localhost" "DROP USER user_name_len_22_01234@localhost" "DROP USER user_name_len_32_012345678901234@localhost" @@ -35518,12 +39722,15 @@ is_active int default 1 )" "CREATE DATABASE db8657" "CREATE TABLE db8657.t1 (i INT)" "CREATE USER 'untrusted8657'@'localhost'" +"CREATE INDEX idx1 ON db8657.t1 (i)" +"PREPARE stmt FROM 'CREATE TABLE db8657.t2 (i INT)'" "SHOW CREATE TABLE db8657.t1" "DROP USER 'untrusted8657'@localhost" "DROP DATABASE db8657" "CREATE DATABASE db8063" "CREATE TABLE db8063.t1(a VARCHAR(20))" "CREATE USER 'untrusted8063'@'localhost'" +"LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE db8063.t1" "SHOW CREATE TABLE db8063.t1" "DROP USER 'untrusted8063'@localhost" "DROP DATABASE db8063" @@ -35799,15 +40006,21 @@ mysqltest_3@localhost, mysqltest_4@localhost" "grant all privileges on `my\_%`.* to mysqltest_1@localhost with grant option" "select current_user()" "grant all privileges on `my\_1`.* to mysqltest_2@localhost with grant option" +"grant all privileges on `my_%`.* to mysqltest_3@localhost with grant option" "grant select on `my\_1`.* to mysqltest_4@localhost with grant option" "grant all privileges on `mysqltest\_1`.* to mysqltest_1@localhost with grant option" "show databases" +"grant all privileges on `mysqltest_1`.* to mysqltest_1@localhost with grant option" "grant INSERT, SELECT on mysqltest.* to mysqltest_1@localhost" "create table t1 (id int primary key, data varchar(255))" "show grants for current_user()" "insert into t1 values (1, 'I can''t change it!')" +"update t1 set data='I can change it!' where id = 1" +"insert into t1 values (1, 'XXX') on duplicate key update data= 'I can change it!'" "create user mysqltest_1@localhost" "grant select (a) on t1 to mysqltest_1@localhost with grant option" +"grant select (a,b) on t1 to mysqltest_2@localhost" +"grant select on t1 to mysqltest_3@localhost" "create user mysqltest_1@host1" "create user mysqltest_2@host2" "create user mysqltest_3@host3" @@ -35819,6 +40032,8 @@ mysqltest_3@localhost, mysqltest_4@localhost" "drop user mysqltest_1@host1, mysqltest_2@host2, mysqltest_4@host4, mysqltest_5@host5, mysqltest_6@host6, mysqltest_7@host7" "grant select, insert, update on `mysqltest\_1`.* to mysqltest_1@localhost" +"set sql_log_off = 1" +"set sql_log_bin = 0" "delete from mysql.user where user like 'mysqltest\_1'" "delete from mysql.db where user like 'mysqltest\_1'" "set sql_mode='ANSI'" @@ -35827,11 +40042,13 @@ mysqltest_5@host5, mysqltest_6@host6, mysqltest_7@host7" "create table t2(c1 int, c2 int)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create user 'mysqltest_1'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create user 'mysqltest_2' identified by 'Mysqltest-2'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"create user 'mysqltest_3' identified with 'caching_sha2_password' as 'fffffffffffffffffffffffffffffffffffffffff'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "grant select on *.* to 'mysqltest_2'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "grant insert on test.* to 'mysqltest_2'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "grant update on test.t1 to 'mysqltest_2'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "grant update (c2) on test.t2 to 'mysqltest_2'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "select host,user,length(authentication_string) from mysql.user where user like 'mysqltest_%' order by host,user,authentication_string","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"select host,user,length(authentication_string) from mysql.user where user like 'mysqltest_%' order by host,user,authentication_string" "select host,db,user from mysql.db where user like 'mysqltest_%' order by host,db,user","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "select host,db,user,table_name from mysql.tables_priv where user like 'mysqltest_%' order by host,db,user,table_name","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "select host,db,user,table_name,column_name from mysql.columns_priv where user like 'mysqltest_%' order by host,db,user,table_name,column_name","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -35840,6 +40057,7 @@ mysqltest_5@host5, mysqltest_6@host6, mysqltest_7@host7" "drop user 'mysqltest_1'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "rename user 'mysqltest_2' to 'mysqltest_1'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "insert into mysql.db set user='mysqltest_1', db='%', host='%'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"revoke all privileges, grant option from 'mysqltest_1'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "select host,db,user from mysql.db where user = 'mysqltest_1' order by host,db,user","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "insert into mysql.tables_priv set host='%', db='test', user='mysqltest_1', table_name='t1'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "select host,db,user,table_name from mysql.tables_priv where user = 'mysqltest_1' order by host,db,user,table_name","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -35850,8 +40068,12 @@ mysqltest_5@host5, mysqltest_6@host6, mysqltest_7@host7" "create user 'mysqltest_1', 'mysqltest_2' identified by 'Mysqltest-2', 'mysqltest_3' identified by 'haha'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "rename user 'mysqltest_1' to 'mysqltest_1a', 'mysqltest_2' TO 'mysqltest_2a', 'mysqltest_3' TO 'mysqltest_3a'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "drop user 'mysqltest_1a', 'mysqltest_2a', 'mysqltest_3a'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"create user 'mysqltest_1a', 'mysqltest_2', 'mysqltest_3a'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create user 'mysqltest_1a', 'mysqltest_3a'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"rename user 'mysqltest_1a' to 'mysqltest_1b', 'mysqltest_2a' TO 'mysqltest_2b', 'mysqltest_3a' TO 'mysqltest_3b'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"drop user 'mysqltest_1b', 'mysqltest_2b', 'mysqltest_3b'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "drop user 'mysqltest_1a', 'mysqltest_3a'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"drop user 'mysqltest_2' identified by 'Mysqltest-2'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT",syntax_error "drop user 'mysqltest_2'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create user '%@b'@'b'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "show grants for '%@b'@'b'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -35885,6 +40107,7 @@ mysqltest_5@host5, mysqltest_6@host6, mysqltest_7@host7" "revoke all on mysqltest_1.* from mysqltest_1@'127.0.0.1'" "grant all on mysqltest_1.* to mysqltest_1@'127.0.0.0/255.0.0.0'" "revoke all on mysqltest_1.* from mysqltest_1@'127.0.0.0/255.0.0.0'" +"set password = ""changed""" "create user 'mysqltest_1'@'localhost'" "lock table mysql.user write" "drop user 'mysqltest_1'@'localhost'" @@ -35895,6 +40118,7 @@ mysqltest_5@host5, mysqltest_6@host6, mysqltest_7@host7" ('%','mysqltest_1')" "INSERT INTO mysql.db (host, db, user, select_priv) VALUES ('%','TESTDB','mysqltest_1','Y')" +"create database TEStdb" "delete from mysql.user" "delete from mysql.db where host='%' and user='mysqltest_1' and db='TESTDB'" "insert into mysql.user select * from t1" @@ -35909,17 +40133,18 @@ BEGIN DECLARE v INT; SELECT s1 FROM t2 INTO v; RETURN v; END" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost" "DROP USER `a@`@localhost" "drop database if exists mysqltest_2" +"drop user mysqltest_u1@localhost" "create user mysqltest_u1@localhost" "grant all on mysqltest_1.* to mysqltest_u1@localhost" -"grant select on mysqltest_2.t1 to mysqltest_u1@localhost" "show create table mysqltest_2.t1" "create table t1 like mysqltest_2.t1" -"drop user mysqltest_u1@localhost" +"grant select on mysqltest_2.t1 to mysqltest_u1@localhost" "create user mysqltest_1@localhost, mysqltest_2@localhost" "grant all on `mysqltest\_%`.* to mysqltest_1@localhost with grant option" "grant usage on *.* to mysqltest_2@localhost" "grant create on `mysqltest\_1`.* to mysqltest_2@localhost" "grant select on mysqltest_1.t1 to mysqltest_2@localhost" +"create database mysqltest_3" "create table t2(f1 int)" "revoke all privileges, grant option from mysqltest_1@localhost" "revoke all privileges, grant option from mysqltest_2@localhost" @@ -35928,6 +40153,8 @@ BEGIN DECLARE v INT; SELECT s1 FROM t2 INTO v; RETURN v; END" "CREATE USER mysqltest1@localhost" "GRANT SELECT ON t1 TO mysqltest1@localhost" "GRANT SELECT (b) ON t2 TO mysqltest1@localhost" +"SELECT c FROM t2" +"SELECT * FROM t1 JOIN t2 USING (b)" "DROP TABLE db1.t1, db1.t2" "DROP USER mysqltest1@localhost" "USE mysql" @@ -35964,17 +40191,17 @@ SELECT * FROM t4 ORDER BY x" "SET GLOBAL keycache1.key_buffer_size = 128 * 1024" "CREATE TABLE mysqltest_db2.t2_1(a INT)" "CREATE TEMPORARY TABLE t1(a INT) engine=myisam" -"CREATE TEMPORARY TABLE t2 LIKE t1" "CREATE TEMPORARY TABLE t3(a INT, b INT, PRIMARY KEY (a)) engine=myisam" "CREATE TEMPORARY TABLE t4 SELECT * FROM t1" "CREATE TEMPORARY TABLE t5(a INT) ENGINE = MyISAM" +"CREATE TEMPORARY TABLE t6(a INT) ENGINE = MERGE UNION = (t5)" "CREATE TEMPORARY TABLE t6(a INT) ENGINE = MERGE UNION = ()" "CREATE INDEX idx1 ON t3(b)" "DROP INDEX idx1 ON t3" "ALTER TABLE t4 ADD COLUMN b INT" "ALTER TABLE t6 UNION = ()" +"ALTER TABLE t6 UNION = (t5)" "INSERT INTO t1 VALUES (4)" -"INSERT INTO t2 SELECT a FROM t1" "UPDATE t1 SET a = a * 10" "UPDATE t1 SET a = 100 WHERE a = 10" "UPDATE t1, t2 SET t1.a = 200 WHERE t1.a = t2.a * 10 AND t1.a = 20" @@ -35988,13 +40215,14 @@ SELECT * FROM t4 ORDER BY x" "REPLACE INTO t2 SELECT b FROM t3" "CACHE INDEX t3 IN keycache1" "LOAD INDEX INTO CACHE t3" +"RENAME TABLE t3 TO t3_1" "HANDLER t1 READ NEXT" "DO (SELECT COUNT(*) FROM t1)" "CHECKSUM TABLE t1" "CALL p0((SELECT COUNT(*) FROM t1))" "PREPARE stmt1 FROM 'SELECT * FROM t1 ORDER BY a'" "PREPARE stmt2 FROM 'SELECT * FROM t2 ORDER BY a'" -"CALL p3()" +"CREATE TEMPORARY TABLE t2(a INT)" "INSERT INTO t4 VALUES (4)" "UPDATE t4 SET x = 10 WHERE x = 1" "DELETE FROM t4 WHERE x < 3" @@ -36005,6 +40233,7 @@ SELECT * FROM t4 ORDER BY x" "CREATE TEMPORARY TABLE t9(a INT) engine=myisam" "CREATE TEMPORARY TABLE t10(a INT) ENGINE = MERGE UNION = (t7, t8)" "ALTER TABLE t10 UNION = (t9)" +"ALTER TABLE t10 UNION = (mysqltest_db2.t2_1)" "CREATE TEMPORARY TABLE mysqltest_db2.t2_2(a INT) ENGINE = MERGE UNION = (t7, t8)" "ALTER TABLE mysqltest_db2.t2_2 UNION = (t9)" "ALTER TABLE mysqltest_db2.t2_2 UNION = ()" @@ -36023,6 +40252,7 @@ SELECT * FROM t4 ORDER BY x" "SET GLOBAL partial_revokes = @orig_partial_revokes" "grant select on `my\_1`.* to mysqltest_1@localhost with grant option" "create user CUser@localhost" +"create user CUser@LOCALHOST" "grant select on test.* to CUser@localhost" "grant select on test.* to CUser@LOCALHOST" "SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2" @@ -36030,6 +40260,7 @@ SELECT * FROM t4 ORDER BY x" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'LOCALHOST'" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'localhost'" "DROP USER CUser@localhost" +"DROP USER CUser@LOCALHOST" "grant select on test.t1 to CUser@localhost" "grant select on test.t1 to CUser@LOCALHOST" "SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2" @@ -36042,7 +40273,9 @@ SELECT * FROM t4 ORDER BY x" "SELECT user, host FROM mysql.user where user = 'CUser2' order by 1,2" "SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser2' order by 1,2" "REVOKE SELECT ON test.* FROM 'CUser2'@'LOCALHOST'" +"REVOKE SELECT ON test.* FROM 'CUser2'@'localhost'" "DROP USER CUser2@localhost" +"DROP USER CUser2@LOCALHOST" "CREATE TABLE mysqltest_1.t1 (a INT)" "CREATE USER 'mysqltest1'@'%'" "GRANT SELECT, UPDATE ON `mysqltest_1`.* TO 'mysqltest1'@'%'" @@ -36060,6 +40293,7 @@ SELECT * FROM t4 ORDER BY x" "SHOW GRANTS FOR 'user2'@'%'" "GRANT SELECT (a), INSERT (b) ON `temp`.`t1` TO 'user2'@'%'" "SELECT a FROM temp.t1" +"SELECT b FROM temp.t1" "DROP USER 'user2'@'%'" "DROP DATABASE temp" "use mysqltest_db1" @@ -36072,12 +40306,17 @@ SELECT * FROM t4 ORDER BY x" "insert into mysqltest_db1.t_column_priv_only (a) VALUES (1)" "select column_name as 'Field',column_type as 'Type',is_nullable as 'Null',column_key as 'Key',column_default as 'Default',extra as 'Extra' from information_schema.columns where table_schema='mysqltest_db1' and table_name='t_column_priv_only'" "show columns from mysqltest_db1.t_column_priv_only" +"show columns from mysqltest_db1.t_no_priv" "select column_name as 'Field',column_type as 'Type',is_nullable as 'Null',column_key as 'Key',column_default as 'Default',extra as 'Extra' from information_schema.columns where table_schema='mysqltest_db1' and table_name='t_no_priv'" +"create table test.t_no_priv like mysqltest_db1.column_priv_only" +"select * from mysqltest_db1.t_column_priv_only" +"show create table mysqltest_db1.t_column_priv_only" "show columns from mysqltest_db1.t_select_priv" "drop table if exists test.t_duplicated" "create table test.t_duplicated like mysqltest_db1.t_select_priv" "drop table test.t_duplicated" "show create table mysqltest_db1.t_select_priv" +"show create table mysqltest_db1.t_no_priv" "CREATE TABLE t5 (s1 INT)" "CREATE INDEX i ON t5 (s1)" "CREATE TABLE t6 (s1 INT, s2 INT)" @@ -36092,8 +40331,11 @@ SELECT * FROM t4 ORDER BY x" "GRANT SHOW VIEW, SELECT ON v3 to mysqltest_u1@localhost" "ANALYZE TABLE t6" "SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name='t5'" +"SHOW INDEX FROM t5" "SHOW INDEX FROM t6" "CHECK TABLE t6" +"CHECK TABLE t5" +"CHECKSUM TABLE t6" "CHECKSUM TABLE t_select_priv" "call mtr.add_suppression(""The plugin .* used to authenticate user .* is not loaded. Nobody can currently login using this account"")" "call mtr.add_suppression(""User entry .* has an empty plugin value. The user will be ignored and no one can login with this user anymore."")" @@ -36104,13 +40346,17 @@ SELECT * FROM t4 ORDER BY x" "INSERT INTO mysql.user(user,plugin,ssl_cipher,x509_issuer,x509_subject) VALUES ('foo','bar','','',''),('bar','bar','','',''),('baz','bar','','','')" "CREATE ROLE r1,r2,r3" "GRANT r3 TO r2" +"CREATE USER''@''IDENTIFIED WITH 'server' AS 'user'" "UPDATE mysql.user SET plugin=''" +"CREATE USER plug IDENTIFIED WITH 'server'" "DELETE FROM mysql.user" "INSERT INTO mysql.user SELECT * FROM save_user" "DELETE FROM mysql.role_edges" "INSERT INTO mysql.role_edges SELECT * FROM save_role_edges" +"GRANT abc ON *.* TO testuser@localhost" "REVOKE abc ON *.* FROM testuser@localhost" "CREATE ROLE testrole" +"GRANT abc ON *.* TO testrole" "REVOKE abc ON *.* FROM testrole" "DROP USER testrole" "CREATE USER ''@''" @@ -36127,6 +40373,8 @@ SELECT * FROM t4 ORDER BY x" "grant insert, select on mysqltest_db1.t1 to mysqltest_u1@localhost" "flush table mysqltest_db1.t1" "check table mysqltest_db1.t1" +"repair table mysqltest_db1.t1, mysqltest_db1.t2" +"check table mysqltest_db1.t1, mysqltest_db1.t2" "repair table mysqltest_db1.t1" "CREATE USER u1@localhost" "CREATE USER u2@localhost IDENTIFIED BY 'auth_string'" @@ -36210,6 +40458,9 @@ PASSWORD EXPIRE NEVER" "CREATE USER u1@localhost PASSWORD EXPIRE INTERVAL 4 DAY" "CREATE USER u1@localhost PASSWORD EXPIRE" "SELECT password_expired FROM mysql.user where user='u1'" +"CREATE USER '' PASSWORD EXPIRE" +"CREATE USER '' PASSWORD EXPIRE NEVER" +"CREATE USER '' PASSWORD EXPIRE INTERVAL 4 DAY" "CREATE USER u1@localhost IDENTIFIED BY 'abc'" "ALTER USER u1@localhost PASSWORD EXPIRE" "SET PASSWORD = 'def'" @@ -36217,6 +40468,10 @@ PASSWORD EXPIRE NEVER" "ALTER USER u1@localhost IDENTIFIED BY 'def'" "CREATE USER u1@localhost, u2@localhost IDENTIFIED BY 'abc'" "GRANT ALL ON *.* TO u2@localhost" +"ALTER USER USER() IDENTIFIED WITH 'sha256_password'",,syntax_error +"ALTER USER USER() IDENTIFIED BY 'def', u2@localhost PASSWORD EXPIRE",,syntax_error +"ALTER USER USER() IDENTIFIED BY 'def' PASSWORD EXPIRE",,syntax_error +"ALTER USER ",,syntax_error "DROP USER u1@localhost, u2@localhost" "SHOW CREATE USER u1@localhost" "ALTER USER u1@localhost IDENTIFIED BY 'auth_string'" @@ -36281,6 +40536,9 @@ u19@localhost" "GRANT ALL ON *.* TO 20553132_u1@localhost" "ALTER USER 20553132_u1@localhost PASSWORD EXPIRE" "ALTER USER '20553132_u3'@'%' PASSWORD EXPIRE" +"ALTER USER 20553132_u1@localhost PASSWORD EXPIRE NEVER" +"ALTER USER 20553132_u1@localhost PASSWORD EXPIRE DEFAULT" +"ALTER USER 20553132_u1@localhost, 20553132_u2@localhost IDENTIFIED BY 'abcd' PASSWORD EXPIRE NEVER" "ALTER USER 20553132_u2@localhost IDENTIFIED BY 'abcd', 20553132_u1@localhost IDENTIFIED BY 'defg' PASSWORD EXPIRE NEVER" "ALTER USER 20553132_u2@localhost IDENTIFIED BY 'abcd', 20553132_u1@localhost IDENTIFIED WITH 'mysql_native_password' BY 'hijk' PASSWORD EXPIRE DEFAULT" "ALTER USER CURRENT_USER() IDENTIFIED BY 'abcd'" @@ -36288,6 +40546,16 @@ u19@localhost" "DROP USER 20553132_u1@localhost" "DROP USER 20553132_u2@localhost" "DROP USER '20553132_u3'@'%'" +"ALTER USER u1 IDENTIFIED BY PASSWORD '*67092806AE91BFB6BE72DE6C7BE2B7CCA8CFA9DF'",,syntax_error +"ALTER USER u1 IDENTIFIED BY PASSWORD '*67092806AE91BFB6BE72DE6C7BE2B7CCA8CFA9DF' +PASSWORD EXPIRE",,syntax_error +"ALTER USER u1 IDENTIFIED BY PASSWORD '*67092806AE91BFB6BE72DE6C7BE2B7CCA8CFA9DF' +WITH MAX_QUERIES_PER_HOUR 2 MAX_USER_CONNECTIONS 2",,syntax_error +"ALTER USER u1 IDENTIFIED BY PASSWORD '*67092806AE91BFB6BE72DE6C7BE2B7CCA8CFA9DF' +REQUIRE CIPHER ""ECDHE-RSA-AES128-GCM-SHA256"" AND +SUBJECT ""/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client""",,syntax_error +"ALTER USER u1 IDENTIFIED BY PASSWORD '*67092806AE91BFB6BE72DE6C7BE2B7CCA8CFA9DF' +PASSWORD EXPIRE DEFAULT",,syntax_error "CREATE USER bug20634154@localhost IDENTIFIED BY 'abc'" "ALTER USER bug20634154@localhost PASSWORD EXPIRE" "GRANT USAGE ON *.* TO bug20634154@localhost" @@ -36300,9 +40568,13 @@ u19@localhost" "DROP USER bug22205360@localhost" "call mtr.add_suppression(""\\[Warning\\] \\[[^]]*\\] Server shutdown in progress"")" "CREATE USER user1" +"CREATE USER user3@%",,syntax_error +"CREATE USER user3@localhost BY 'auth_string' WITH 'sha_256_password'",,syntax_error "CREATE USER ""user2""@'%'" +"CREATE USER user9@localhost IDENTIFIED WITH 'mysql_native_password' AS 'auth_string'" "CREATE USER user10@localhost IDENTIFIED WITH 'caching_sha2_password' AS '$A$005$ABCDEFGHIJKLMNOPQRSTabcdefgh01234567ijklmnop89012345ABCDEFGH678'" +"CREATE USER user5@localhost IDENTIFIED AS 'auth_string'",,syntax_error "CREATE USER user4@localhost IDENTIFIED WITH 'sha256_password' BY 'auth_string'" "CREATE USER user6@localhost IDENTIFIED WITH 'mysql_native_password'" "CREATE USER user7@localhost @@ -36422,6 +40694,7 @@ u4@localhost, u5@localhost,u6@localhost, u7@localhost, u8@localhost, u9@localhost, u10@localhost,u11@localhost, u12@localhost, u13@localhost, u14@localhost,u15@localhost, u16@localhost, u17@localhost, u18@localhost, u19@localhost, u20@localhost, u21@localhost,u22@localhost,u23@localhost" +"ALTER USER IDENTIFIED BY 'npwd'",,syntax_error "ALTER USER u2@localhost IDENTIFIED BY 'auth_string' PASSWORD EXPIRE INTERVAL 45 DAY" "DROP USER u2@localhost" @@ -36566,6 +40839,9 @@ command_type NOT LIKE 'Prepare'" "SET GLOBAL general_log_file= @old_general_log_file" "SET GLOBAL general_log= @old_general_log" "SET GLOBAL log_output= @old_log_output" +"ALTER USER u1 IDENTIFIED WITH 'invalid_plugin'" +"ALTER USER u1 IDENTIFIED WITH 'invalid_plugin' BY 'secret'" +"ALTER USER u1 IDENTIFIED WITH 'invalid_plugin' AS 'secret'" "CREATE USER bug20364862_user@localhost IDENTIFIED WITH test_plugin_server AS 'bug20364862_dest'" "CREATE USER bug20364862_dest@localhost IDENTIFIED BY 'dest_password'" "GRANT PROXY ON bug20364862_dest@localhost TO bug20364862_user@localhost" @@ -36579,9 +40855,10 @@ command_type NOT LIKE 'Prepare'" "CREATE USER user1@47.9.9.9 IDENTIFIED BY 'pass1'" "CREATE USER user2 IDENTIFIED BY 'pass2'" "SELECT USER(), CURRENT_USER()" -"GRANT SELECT ON mysql.* TO user1@localhost" "SHOW CREATE USER user1@47.9.9.9" "SHOW CREATE USER user2" +"SHOW CREATE USER invalid_user" +"GRANT SELECT ON mysql.* TO user1@localhost" "GRANT ALL ON *.* TO user1@localhost" "REVOKE SELECT ON *.* FROM user1@localhost" "REVOKE CREATE USER ON *.* FROM user1@localhost" @@ -36592,6 +40869,7 @@ command_type NOT LIKE 'Prepare'" AS 'bug20625566_dest'" "CREATE USER bug20625566_dest@localhost IDENTIFIED BY 'dest_password'" "GRANT PROXY ON bug20625566_dest@localhost TO bug20625566_user@localhost" +"SHOW CREATE USER bug20625566_user@localhost" "SHOW CREATE USER bug20625566_dest@localhost" "DROP USER user1@localhost, user1@47.9.9.9, user2, bug20625566_user@localhost, bug20625566_dest@localhost" @@ -36645,6 +40923,7 @@ ORDER BY GRANTEE, PRIVILEGE_TYPE, IS_GRANTABLE" "SELECT * FROM information_schema.user_privileges WHERE GRANTEE LIKE '%u1%' ORDER BY GRANTEE, PRIVILEGE_TYPE, IS_GRANTABLE" "INSERT INTO mysql.global_grants VALUES ('u1','localhost','RUBBISH','N')" +"INSERT INTO mysql.global_grants VALUES ('u1','localhost','RUBBISH','Y')" "INSERT INTO mysql.global_grants VALUES ('u1','localhoster','RUBBISH','N')" "GRANT SYSTEM_VARIABLES_ADMIN, ROLE_ADMIN, BINLOG_ADMIN ON *.* TO u1@localhost" "GRANT GROUP_REPLICATION_ADMIN ON *.* TO u1@localhost WITH GRANT OPTION" @@ -36654,11 +40933,15 @@ LIKE '%u1%' ORDER BY GRANTEE, PRIVILEGE_TYPE, IS_GRANTABLE" ORDER BY GRANTEE, PRIVILEGE_TYPE, IS_GRANTABLE" "GRANT SYSTEM_VARIABLES_ADMIN, SELECT ON *.* TO u1@localhost WITH GRANT OPTION" "CREATE TABLE t1 (c1 int)" +"GRANT SYSTEM_VARIABLES_ADMIN ON t1.* TO u1@localhost" "INSERT INTO mysql.global_grants VALUES('u1', '%', 'ROUTINE_GRANT', 'Y')" +"SHOW GRANTS FOR `u1`@`%`" "INSERT INTO mysql.global_grants VALUES('u1_non', '%', 'HELLOWORLD', 'Y')" "INSERT INTO mysql.global_grants VALUES('u1', 'localhost', 'HelloWorld', 'Y')" "SHOW GRANTS FOR `u1`@`localhost`" "DELETE FROM mysql.global_grants" +"GRANT ROLE_ADMIN ON mysql.user TO u1@localhost" +"GRANT ROLE_ADMIN ON * TO u1@localhost" "CREATE USER u2@localhost IDENTIFIED BY 'foo'" "INSERT INTO mysql.global_grants VALUES('u1', 'localhost', 'ROLE_ADMIN', 'Y')" "INSERT INTO mysql.global_grants @@ -36717,10 +41000,17 @@ RELOAD on *.* to r2" "GRANT ALL ON *.* to u1" "INSERT INTO mysql.global_grants VALUES('u1', '%', 'length_32_abcdefghijklmnopqrstux', 'Y')" +"INSERT INTO mysql.global_grants VALUES('u1', '%', +'length_33_abcdefghijklmnopqrstuvw', 'Y')" "TRUNCATE TABLE mysql.global_grants" "GRANT ALL ON *.* to root@localhost WITH GRANT OPTION" "CREATE USER u1@localhost IDENTIFIED BY 'pwd'" "GRANT REPLICATION_SLAVE_ADMIN ON *.* to u1@localhost" +"REVOKE 'C' @c06 ON c02.`z1` FROM 'C' @c03",,syntax_error +"GRANT '' @c05 ON TABLE *.* TO ''@'' IDENTIFIED WITH c06 BY '' REQUIRE X509",,syntax_error +"GRANT '' @c05 ON TABLE * TO CURRENT_USER()IDENTIFIED WITH c07 REQUIRE X509 WITH MAX_QUERIES_PER_HOUR 0x2e3",,syntax_error +"GRANT WRAPPER @c04 ON FUNCTION c02.* TO CURRENT_USER IDENTIFIED WITH '' BY '?' REQUIRE SSL",,syntax_error +"GRANT '' @c03 ON c05.* TO '' @ ''",,syntax_error "DROP USER u1@localhost, u1, r2" "CREATE DATABASE db1_protected" "GRANT ALL ON db1.* TO u1@localhost" @@ -36750,6 +41040,7 @@ comment='Extended global grants' ROW_FORMAT=DYNAMIC TABLESPACE=mysql" "GRANT XA_RECOVER_ADMIN ON *.* TO u1 WITH GRANT OPTION" "GRANT XA_RECOVER_ADMIN ON *.* TO u2" "SHOW GRANTS FOR u2" +"GRANT XA_RECOVER_ADMIN ON *.* TO u3" "DROP USER u2" "DROP USER u3" "GRANT ALL ON *.* TO u1@localhost" @@ -36786,11 +41077,13 @@ comment='Extended global grants' ROW_FORMAT=DYNAMIC TABLESPACE=mysql" "CREATE SCHEMA B30628160" "CREATE PROCEDURE B30628160.p1() SELECT 1" "CREATE USER B30628160@localhost" +"GRANT xyzzy ON PROCEDURE B30628160.p1 TO B30628160@localhost" "DROP USER B30628160@localhost" "DROP SCHEMA B30628160" "SELECT GRANTEE, PRIVILEGE_TYPE, IS_GRANTABLE FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE LIKE 'FLUSH_%' ORDER BY 1,2,3" "TRUNCATE TABLE performance_schema.host_cache" +"FLUSH HOSTS",,syntax_error "CREATE USER wl14303@localhost" "GRANT FLUSH_OPTIMIZER_COSTS ON *.* TO wl14303@localhost" "FLUSH OPTIMIZER_COSTS" @@ -36804,6 +41097,9 @@ WHERE PRIVILEGE_TYPE LIKE 'FLUSH_%' ORDER BY 1,2,3" "REVOKE ALL PRIVILEGES ON t1 FROM wl14303@localhost" "GRANT RELOAD ON *.* TO wl14303@localhost" "GRANT FLUSH_STATUS,FLUSH_USER_RESOURCES ON *.* TO wl14303@localhost" +"FLUSH STATUS,OPTIMIZER_COSTS" +"FLUSH OPTIMIZER_COSTS,STATUS" +"FLUSH STATUS,PRIVILEGES" "FLUSH STATUS,USER_RESOURCES" "SET @saved_log_output = @@global.log_output" "SET @saved_general_log = @@global.general_log" @@ -36813,6 +41109,7 @@ WHERE PRIVILEGE_TYPE LIKE 'FLUSH_%' ORDER BY 1,2,3" "SET global log_output=@saved_log_output" "SHOW GRANTS FOR 'root'@'localhost'" "CREATE USER test@localhost" +"GRANT FLUSH_PRIVILEGES ON mysql.* TO test@localhost" "GRANT FLUSH_PRIVILEGES, SYSTEM_VARIABLES_ADMIN ON *.* TO test@localhost" "SET @@GLOBAL.general_log=OFF" "SHOW VARIABLES LIKE 'general_log'" @@ -36844,10 +41141,9 @@ FLUSH_OPTIMIZER_COSTS, FLUSH_PRIVILEGES ON *.* FROM root@localhost" "CREATE DATABASE wl12217" "GRANT ALL PRIVILEGES ON wl12217.* TO wl12217@localhost" "GRANT SESSION_VARIABLES_ADMIN ON *.* TO wl12217@localhost" +"GRANT SESSION_VARIABLES_ADMIN ON mysql.* TO wl12217@localhost" "DROP DATABASE wl12217" "DROP USER wl12217@localhost" -"SET SESSION auto_increment_increment = DEFAULT" -"SET SESSION auto_increment_offset = DEFAULT" "SET SESSION binlog_direct_non_transactional_updates = DEFAULT" "SET SESSION binlog_format = DEFAULT" "SET SESSION binlog_row_image = DEFAULT" @@ -36856,15 +41152,17 @@ FLUSH_OPTIMIZER_COSTS, FLUSH_PRIVILEGES ON *.* FROM root@localhost" "SET SESSION bulk_insert_buffer_size = DEFAULT" "SET SESSION character_set_database = DEFAULT" "SET SESSION character_set_filesystem = DEFAULT" -"SET SESSION collation_database = DEFAULT" "SET SESSION pseudo_replica_mode = DEFAULT" "SET SESSION pseudo_thread_id = DEFAULT" "SET SESSION histogram_generation_max_mem_size = DEFAULT" "SET SESSION sql_log_off = DEFAULT" "SET SESSION original_commit_timestamp = DEFAULT" +"SET SESSION sql_log_bin = DEFAULT" +"SET SESSION auto_increment_increment = DEFAULT" +"SET SESSION auto_increment_offset = DEFAULT" +"SET SESSION collation_database = DEFAULT" "SET SESSION default_collation_for_utf8mb4 = DEFAULT" "SET SESSION explicit_defaults_for_timestamp = DEFAULT" -"SET SESSION sql_log_bin = DEFAULT" "SET SESSION rbr_exec_mode = DEFAULT" "GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO wl12217@localhost" "GRANT SUPER ON *.* TO wl12217@localhost" @@ -36874,25 +41172,27 @@ FLUSH_OPTIMIZER_COSTS, FLUSH_PRIVILEGES ON *.* FROM root@localhost" "GRANT TRIGGER,CREATE ROUTINE,CREATE VIEW,EVENT,DROP,CREATE ON wl15874.* TO wl15874@localhost" "GRANT CREATE USER ON *.* TO wl15874@localhost" "USE wl15874" -"CREATE VIEW v1 AS SELECT 1 as 'a'" -"CREATE EVENT wl15874_ev1 -ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR -DO SET @sum = @sum + 1" -"DROP EVENT wl15874_ev1" -"CREATE DEFINER=CURRENT_USER PROCEDURE p1() SELECT 1" -"GRANT SET_ANY_DEFINER ON *.* TO wl15874@localhost" "CREATE DEFINER=wl15874_2@localhost PROCEDURE p1() SELECT 1" "CREATE DEFINER=wl15874_2@localhost FUNCTION f1() RETURNS INT RETURN 12" "CREATE DEFINER=wl15874_2@localhost VIEW v1 AS SELECT 1 as 'a'" +"CREATE VIEW v1 AS SELECT 1 as 'a'" +"ALTER DEFINER=wl15874_2@localhost VIEW v1 AS SELECT 1 as 'a'" "CREATE DEFINER=wl15874_2@localhost TRIGGER t1_trg1 AFTER INSERT ON t1 FOR EACH ROW SET @sum = @sum + 1" -"DROP TRIGGER t1_trg1" -"ALTER DEFINER=wl15874_2@localhost VIEW v1 AS SELECT 2 as 'a'" "CREATE DEFINER=wl15874_2@localhost EVENT wl15874_ev1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SET @sum = @sum + 1" +"CREATE EVENT wl15874_ev1 +ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR +DO SET @sum = @sum + 1" "ALTER DEFINER=wl15874_2@localhost EVENT wl15874_ev1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SET @sum = @sum + 2" +"DROP EVENT wl15874_ev1" +"CREATE DEFINER=CURRENT_USER PROCEDURE p1() SELECT 1" +"GRANT SET_ANY_DEFINER ON *.* TO wl15874@localhost" +"DROP USER wl15874_2@localhost" +"DROP TRIGGER t1_trg1" +"ALTER DEFINER=wl15874_2@localhost VIEW v1 AS SELECT 2 as 'a'" "REVOKE SET_ANY_DEFINER ON *.* FROM wl15874@localhost" "GRANT ALLOW_NONEXISTENT_DEFINER ON *.* TO wl15874@localhost" "CREATE DEFINER=wl15874_na@localhost PROCEDURE p1() SELECT 1" @@ -36926,6 +41226,7 @@ WHERE PRIVILEGE_TYPE = 'SET_ANY_DEFINER' ORDER BY 1" "SELECT GRANTEE FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE = 'ALLOW_NONEXISTENT_DEFINER' ORDER BY 1" "CREATE USER wl15874@localhost" +"GRANT SET_USER_ID ON *.* TO wl15874@localhost" "REVOKE SET_ANY_DEFINER,ALLOW_NONEXISTENT_DEFINER ON *.* FROM root@localhost" "INSERT INTO mysql.global_grants(USER,HOST,PRIV, WITH_GRANT_OPTION) VALUES ('wl15874', 'localhost', 'SET_USER_ID', 'Y')" @@ -36947,42 +41248,50 @@ WHERE PRIVILEGE_TYPE = 'SUPER' ORDER BY 1" "INSERT INTO privtest_db.t2 VALUES (1), (2), (3)" "GRANT SELECT ON privtest_db.t2 TO 'privtest'@'localhost'" "USE privtest_db" -"GRANT INSERT ON privtest_db.t1 TO 'privtest'@'localhost'" "EXPLAIN INSERT INTO t1 SELECT * FROM t2" -"INSERT INTO t1 SELECT * FROM t2" +"GRANT INSERT ON privtest_db.t1 TO 'privtest'@'localhost'" "REVOKE ALL PRIVILEGES ON privtest_db.t1 FROM 'privtest'@'localhost'" +"REPLACE INTO t1 VALUES (10)" +"REPLACE INTO t1 SELECT * FROM t2" "REVOKE INSERT ON privtest_db.t1 FROM 'privtest'@'localhost'" "GRANT DELETE ON privtest_db.t1 TO 'privtest'@'localhost'" "GRANT INSERT, DELETE ON privtest_db.t1 TO 'privtest'@'localhost'" -"REPLACE INTO t1 VALUES (10)" -"REPLACE INTO t1 SELECT * FROM t2" -"GRANT UPDATE ON privtest_db.t1 TO 'privtest'@'localhost'" -"REVOKE UPDATE ON privtest_db.t1 FROM 'privtest'@'localhost'" -"GRANT SELECT ON privtest_db.t1 TO 'privtest'@'localhost'" -"GRANT UPDATE, SELECT ON privtest_db.t1 TO 'privtest'@'localhost'" "EXPLAIN UPDATE t1 SET a = a + 1" "UPDATE t1 SET a = a + 1" "EXPLAIN UPDATE t1, t2 SET t1.a = t1.a + 1 WHERE t1.a = t2.a" "UPDATE t1, t2 SET t1.a = t1.a + 1 WHERE t1.a = t2.a" -"GRANT DELETE, SELECT ON privtest_db.t1 TO 'privtest'@'localhost'" +"GRANT UPDATE ON privtest_db.t1 TO 'privtest'@'localhost'" +"REVOKE UPDATE ON privtest_db.t1 FROM 'privtest'@'localhost'" +"GRANT SELECT ON privtest_db.t1 TO 'privtest'@'localhost'" +"GRANT UPDATE, SELECT ON privtest_db.t1 TO 'privtest'@'localhost'" "EXPLAIN DELETE FROM t1 WHERE a = 10" "DELETE FROM t1 WHERE a = 10" "EXPLAIN DELETE FROM t1 USING t1, t2 WHERE t1.a = t2.a" "DELETE FROM t1 USING t1, t2 WHERE t1.a = t2.a" +"GRANT DELETE, SELECT ON privtest_db.t1 TO 'privtest'@'localhost'" "CREATE VIEW privtest_db.v1 (a) AS SELECT a FROM privtest_db.t1" "GRANT SELECT, INSERT, UPDATE, DELETE ON privtest_db.v1 TO 'privtest'@'localhost'" +"EXPLAIN INSERT INTO v1 VALUES (10)" +"EXPLAIN INSERT INTO v1 SELECT * FROM t2" "INSERT INTO v1 SELECT * FROM t2" +"EXPLAIN REPLACE INTO v1 VALUES (10)" "REPLACE INTO v1 VALUES (10)" +"EXPLAIN REPLACE INTO v1 SELECT * FROM t2" "REPLACE INTO v1 SELECT * FROM t2" +"EXPLAIN UPDATE v1 SET a = a + 1" "UPDATE v1 SET a = a + 1" +"EXPLAIN UPDATE v1, t2 SET v1.a = v1.a + 1 WHERE v1.a = t2.a" "UPDATE v1, t2 SET v1.a = v1.a + 1 WHERE v1.a = t2.a" +"EXPLAIN DELETE FROM v1 WHERE a = 10" "DELETE FROM v1 WHERE a = 10" +"EXPLAIN DELETE FROM v1 USING v1, t2 WHERE v1.a = t2.a" "DELETE FROM v1 USING v1, t2 WHERE v1.a = t2.a" "DROP DATABASE privtest_db" "create database db1" "CREATE USER user_1@localhost, USER_1@localhost" "GRANT CREATE ON db1.* to user_1@localhost" "GRANT SELECT ON db1.* to USER_1@localhost" +"CREATE TABLE t2(f1 int)" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1@localhost" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM USER_1@localhost" "DROP USER user_1@localhost" @@ -36991,13 +41300,14 @@ WHERE PRIVILEGE_TYPE = 'SUPER' ORDER BY 1" "CREATE USER rngp_user1, rngp_user2, rngp_user3" "CREATE DATABASE rngp_db" "SET @saved_partial_revokes = @@global.partial_revokes" +"REVOKE DELETE ON rngp_db.* FROM rngp_user1" "GRANT SELECT, CREATE ON rngp_db.* TO rngp_user1" "SHOW GRANTS FOR rngp_user1" "GRANT SELECT ON rngp_db.* TO rngp_user1" "GRANT SELECT, UPDATE ON rngp_db.* TO rngp_user1" "REVOKE UPDATE ON rngp_db.* FROM rngp_user1" +"REVOKE SELECT, INSERT ON rngp_db.* FROM rngp_user1" "SET original_server_version := 80200" -"REVOKE DELETE ON rngp_db.* FROM rngp_user1" "SET @@session.original_server_version := CAST( SUBSTRING_INDEX(@@GLOBAL.version, '.', 1)*10000 +SUBSTRING_INDEX(SUBSTRING_INDEX(@@GLOBAL.version, '.', 2), '.', -1)*100 @@ -37006,12 +41316,13 @@ AS UNSIGNED)" "REVOKE CREATE ON rngp_db.* FROM rngp_user1" "REVOKE IF EXISTS SELECT ON rngp_db.* FROM rngp_user1" "REVOKE IF EXISTS CREATE, SELECT ON rngp_db.* FROM rngp_user1" +"REVOKE DELETE ON rngp_db.* FROM rngp_role1" "GRANT SELECT, CREATE ON rngp_db.* TO rngp_role1" "SHOW GRANTS FOR rngp_role1" "GRANT SELECT ON rngp_db.* TO rngp_role1" "GRANT SELECT, UPDATE ON rngp_db.* TO rngp_role1" "REVOKE UPDATE ON rngp_db.* FROM rngp_role1" -"REVOKE DELETE ON rngp_db.* FROM rngp_role1" +"REVOKE SELECT, INSERT ON rngp_db.* FROM rngp_role1" "REVOKE CREATE ON rngp_db.* FROM rngp_role1" "REVOKE IF EXISTS SELECT ON rngp_db.* FROM rngp_role1" "REVOKE IF EXISTS CREATE, SELECT ON rngp_db.* FROM rngp_role1" @@ -37024,8 +41335,9 @@ AS UNSIGNED)" "REVOKE SELECT ON rngp_db.* FROM rngp_user1" "REVOKE ALL ON *.* FROM rngp_user1" "GRANT SELECT, INSERT ON rngp_db.* TO rngp_user1" -"REVOKE SELECT, INSERT ON rngp_db.* FROM rngp_user1" +"REVOKE INSERT ON rngp_db.* FROM rngp_user1" "GRANT SELECT, INSERT ON *.* to rngp_user1" +"REVOKE SELECT ON rngp_db.* FROM rngp_user1, rngp_user2" "REVOKE IF EXISTS SELECT ON rngp_db.* FROM rngp_user1, rngp_user2" "GRANT ALL ON rngp_db.* TO rngp_user3" "REVOKE SELECT ON rngp_db.* FROM rngp_user3" @@ -37034,8 +41346,9 @@ AS UNSIGNED)" "REVOKE SELECT ON rngp_db.* FROM rngp_role1" "REVOKE ALL ON *.* FROM rngp_role1" "GRANT SELECT, INSERT ON rngp_db.* TO rngp_role1" -"REVOKE SELECT, INSERT ON rngp_db.* FROM rngp_role1" +"REVOKE INSERT ON rngp_db.* FROM rngp_role1" "GRANT SELECT, INSERT ON *.* to rngp_role1" +"REVOKE SELECT ON rngp_db.* FROM rngp_role1, rngp_role2" "REVOKE IF EXISTS SELECT ON rngp_db.* FROM rngp_role1, rngp_role2" "GRANT ALL ON rngp_db.* TO rngp_role3" "REVOKE SELECT ON rngp_db.* FROM rngp_role3" @@ -37048,11 +41361,12 @@ AS UNSIGNED)" "CREATE ROLE rngp_role" "CREATE TABLE rngp_db.tb (x INT)" "CREATE PROCEDURE rngp_db.rngp_proc() SELECT * FROM rngp_db.tb" +"REVOKE GRANT OPTION ON PROCEDURE rngp_db.rngp_proc FROM rngp_role" "GRANT EXECUTE, GRANT OPTION ON PROCEDURE rngp_db.rngp_proc TO rngp_role" "SHOW GRANTS FOR rngp_role" "GRANT EXECUTE ON PROCEDURE rngp_db.rngp_proc TO rngp_role" "GRANT EXECUTE, ALTER ROUTINE ON PROCEDURE rngp_db.rngp_proc TO rngp_role" -"REVOKE GRANT OPTION ON PROCEDURE rngp_db.rngp_proc FROM rngp_role" +"REVOKE EXECUTE, GRANT OPTION ON PROCEDURE rngp_db.rngp_proc FROM rngp_role" "SET @@session.original_server_version := 80200" "SET @current_version := CAST( SUBSTRING_INDEX(@@GLOBAL.version, '.', 1)*10000 @@ -37063,11 +41377,12 @@ AS UNSIGNED)" "REVOKE ALTER ROUTINE ON PROCEDURE rngp_db.rngp_proc FROM rngp_role" "REVOKE IF EXISTS GRANT OPTION ON PROCEDURE rngp_db.rngp_proc FROM rngp_role" "REVOKE IF EXISTS ALTER ROUTINE, EXECUTE ON PROCEDURE rngp_db.rngp_proc FROM rngp_role" +"REVOKE GRANT OPTION ON PROCEDURE rngp_db.rngp_proc FROM rngp_user" "GRANT EXECUTE, GRANT OPTION ON PROCEDURE rngp_db.rngp_proc TO rngp_user" "SHOW GRANTS FOR rngp_user" "GRANT EXECUTE ON PROCEDURE rngp_db.rngp_proc TO rngp_user" "GRANT EXECUTE, ALTER ROUTINE ON PROCEDURE rngp_db.rngp_proc TO rngp_user" -"REVOKE GRANT OPTION ON PROCEDURE rngp_db.rngp_proc FROM rngp_user" +"REVOKE EXECUTE, GRANT OPTION ON PROCEDURE rngp_db.rngp_proc FROM rngp_user" "REVOKE ALTER ROUTINE ON PROCEDURE rngp_db.rngp_proc FROM rngp_user" "REVOKE IF EXISTS GRANT OPTION ON PROCEDURE rngp_db.rngp_proc FROM rngp_user" "REVOKE IF EXISTS ALTER ROUTINE, EXECUTE ON PROCEDURE rngp_db.rngp_proc FROM rngp_user" @@ -37080,6 +41395,8 @@ AS UNSIGNED)" "DROP TABLE rngp_db.tb" "CREATE TABLE rngp_db.tb1 (x INT)" "CREATE TABLE rngp_db.tb2 (no INT, name VARCHAR(20))" +"REVOKE REFERENCES ON rngp_db.tb1 FROM rngp_role" +"REVOKE REFERENCES (no) ON rngp_db.tb2 FROM rngp_role" "GRANT SELECT, INSERT ON rngp_db.tb1 TO rngp_role" "GRANT SELECT (no), INSERT (no) ON rngp_db.tb2 TO rngp_role" "GRANT SELECT ON rngp_db.tb1 TO rngp_role" @@ -37088,8 +41405,8 @@ AS UNSIGNED)" "GRANT SELECT (no), UPDATE (no) ON rngp_db.tb2 TO rngp_role" "REVOKE INSERT ON rngp_db.tb1 FROM rngp_role" "REVOKE INSERT (no) ON rngp_db.tb2 FROM rngp_role" -"REVOKE REFERENCES ON rngp_db.tb1 FROM rngp_role" -"REVOKE REFERENCES (no) ON rngp_db.tb2 FROM rngp_role" +"REVOKE SELECT, INSERT ON rngp_db.tb1 FROM rngp_role" +"REVOKE SELECT (no), INSERT (no) ON rngp_db.tb2 FROM rngp_role" "REVOKE UPDATE ON rngp_db.tb1 FROM rngp_role" "REVOKE UPDATE (no) ON rngp_db.tb2 FROM rngp_role" "REVOKE IF EXISTS SELECT ON rngp_db.tb1 FROM rngp_role" @@ -37098,10 +41415,14 @@ AS UNSIGNED)" "REVOKE IF EXISTS INSERT (no), SELECT (no) ON rngp_db.tb2 FROM rngp_role" "GRANT INSERT ON rngp_db.tb1 TO rngp_role" "GRANT INSERT (no) ON rngp_db.tb2 TO rngp_role" +"REVOKE UPDATE, REFERENCES (x) ON rngp_db.tb1 FROM rngp_role" "GRANT INSERT, SELECT (x) ON rngp_db.tb1 TO rngp_role" "GRANT UPDATE, INSERT, SELECT (x), REFERENCES (x) ON rngp_db.tb1 TO rngp_role" "REVOKE INSERT, SELECT (x) ON rngp_db.tb1 FROM rngp_role" +"REVOKE UPDATE, INSERT, SELECT (x), REFERENCES (x) ON rngp_db.tb1 FROM rngp_role" "REVOKE IF EXISTS UPDATE, INSERT, SELECT (x), REFERENCES (x) ON rngp_db.tb1 FROM rngp_role" +"REVOKE REFERENCES ON rngp_db.tb1 FROM rngp_user" +"REVOKE REFERENCES (no) ON rngp_db.tb2 FROM rngp_user" "GRANT SELECT, INSERT ON rngp_db.tb1 TO rngp_user" "GRANT SELECT (no), INSERT (no) ON rngp_db.tb2 TO rngp_user" "GRANT SELECT ON rngp_db.tb1 TO rngp_user" @@ -37110,8 +41431,8 @@ AS UNSIGNED)" "GRANT SELECT (no), UPDATE (no) ON rngp_db.tb2 TO rngp_user" "REVOKE INSERT ON rngp_db.tb1 FROM rngp_user" "REVOKE INSERT (no) ON rngp_db.tb2 FROM rngp_user" -"REVOKE REFERENCES ON rngp_db.tb1 FROM rngp_user" -"REVOKE REFERENCES (no) ON rngp_db.tb2 FROM rngp_user" +"REVOKE SELECT, INSERT ON rngp_db.tb1 FROM rngp_user" +"REVOKE SELECT (no), INSERT (no) ON rngp_db.tb2 FROM rngp_user" "REVOKE UPDATE ON rngp_db.tb1 FROM rngp_user" "REVOKE UPDATE (no) ON rngp_db.tb2 FROM rngp_user" "REVOKE IF EXISTS SELECT ON rngp_db.tb1 FROM rngp_user" @@ -37150,6 +41471,7 @@ WHERE (user = 'unlocked_user' and host = 'localhost') or "CREATE USER ''@localhost IDENTIFIED BY 'pass' ACCOUNT LOCK" "ALTER USER ''@localhost ACCOUNT LOCK" "ALTER USER ''@localhost ACCOUNT UNLOCK" +"ALTER USER ''@localhost PASSWORD EXPIRE ACCOUNT LOCK" "CREATE user ''@localhost IDENTIFIED BY 'pass'" "CREATE USER 'unlocked_user'@localhost IDENTIFIED BY 'pass'" "CREATE USER u1@localhost IDENTIFIED BY 'pass'" @@ -37166,11 +41488,13 @@ END" "ALTER USER u1@localhost ACCOUNT LOCK" "CREATE USER 'u3'@'localhost' IDENTIFIED BY 'pass' ACCOUNT LOCK" "SHOW STATUS LIKE 'Locked_connects'" +"CREATE USER u1@localhost REQUIRE NONE ACCOUNT LOCK WITH MAX_QUERIES_PER_HOUR 100",,syntax_error "CREATE USER u1@localhost REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 100 ACCOUNT LOCK" "ALTER USER u1@localhost PASSWORD EXPIRE ACCOUNT UNLOCK" "ALTER USER u1@localhost ACCOUNT LOCK PASSWORD EXPIRE" "ALTER USER u1@localhost REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 99 ACCOUNT UNLOCK PASSWORD EXPIRE NEVER" "ALTER USER u1@localhost REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 98 PASSWORD EXPIRE INTERVAL 5 DAY ACCOUNT LOCK" +"ALTER USER u1@localhost ACCOUNT UNLOCK WITH MAX_QUERIES_PER_HOUR 97 PASSWORD EXPIRE",,syntax_error "CREATE USER u1@localhost IDENTIFIED BY 'PASS' ACCOUNT LOCK ACCOUNT UNLOCK" "CREATE USER u1@localhost ACCOUNT UNLOCK ACCOUNT LOCK" "CREATE USER u1@localhost ACCOUNT LOCK PASSWORD EXPIRE ACCOUNT LOCK" @@ -37187,7 +41511,14 @@ END" "ALTER TABLE mysql.user DROP COLUMN account_locked" "ALTER TABLE mysql.user DROP COLUMN create_role_priv" "ALTER TABLE mysql.user DROP COLUMN drop_role_priv" +"CREATE USER backuser@localhost IDENTIFIED BY 'pass' ACCOUNT LOCK" "SELECT COUNT(*) FROM mysql.user WHERE (user = 'backuser' and host = 'localhost')" +"CREATE USER backuser@localhost IDENTIFIED BY 'pass' ACCOUNT UNLOCK" +"CREATE USER backuser@localhost IDENTIFIED BY 'pass'" +"SELECT user, account_locked FROM mysql.user WHERE (user = 'backuser' and host = 'localhost')" +"ALTER USER backuser@localhost ACCOUNT LOCK" +"ALTER USER backuser@localhost ACCOUNT UNLOCK" +"DROP USER backuser@localhost" "ALTER TABLE mysql.temp_user RENAME mysql.user" "CREATE DATABASE account" "CREATE TABLE account.`account` (account text(20))" @@ -37221,6 +41552,7 @@ command_type NOT LIKE 'Prepare'" "ALTER USER user1" "SHOW CREATE USER user1" "CREATE USER user2@localhost ACCOUNT UNLOCK" +"ALTER USER user() IDENTIFIED BY 'auth_string' ACCOUNT LOCK",,syntax_error "GRANT CREATE USER ON *.* TO user2@localhost" "ALTER USER user2@localhost IDENTIFIED BY 'auth_string' ACCOUNT LOCK" "ALTER USER user2@localhost ACCOUNT LOCK" @@ -37239,6 +41571,10 @@ PASSWORD EXPIRE NEVER ACCOUNT UNLOCK" AS '*67092806AE91BFB6BE72DE6C7BE2B7CCA8CFA9DF' ACCOUNT LOCK PASSWORD EXPIRE NEVER" "ALTER USER 'user11'@'localhost' PASSWORD EXPIRE INTERVAL 10 DAY ACCOUNT LOCK" +"CREATE USER ACCOUNT UNLOCK user5@localhost",,syntax_error +"CREATE USER ACCOUNT LOCK user6@localhost",,syntax_error +"ALTER USER ACCOUNT LOCK user2@localhost",,syntax_error +"ALTER USER ACCOUNT UNLOCK user2@localhot",,syntax_error "CREATE USER user3,user4@localhost ACCOUNT LOCK" "CREATE USER user6@'%',user7@localhost ACCOUNT LOCK" "ALTER USER user3,user4@localhost ACCOUNT UNLOCK" @@ -37609,6 +41945,7 @@ price_ranges, countries, brands, wheels, engine" "UPDATE mysql.engine_cost SET cost_value = DEFAULT WHERE cost_name = 'memory_block_read_cost'" +"SELECT 1 FROM (SELECT 1) as a GROUP BY SUM(1)" "CREATE TABLE t1 ( spID int(10) unsigned, userID int(10) unsigned, @@ -37666,6 +42003,7 @@ KEY method (method), KEY payDate (payDate) )" "INSERT INTO t1 VALUES (1,'1970-01-01','1997-10-17 00:00:00',2529,1,21000,11886,'check',0,'F',16200,6)" +"SELECT COUNT(P.URID),SUM(P.amount),P.method, MIN(PP.recdate+0) > 19980501000000 AS IsNew FROM t1 AS P JOIN t1 as PP WHERE P.URID = PP.URID GROUP BY method,IsNew" "CREATE TABLE t1 ( cid mediumint(9) NOT NULL auto_increment, firstname varchar(32) DEFAULT '' NOT NULL, @@ -38077,10 +42415,15 @@ where t2.b=v1.a GROUP BY t2.b" "SELECT CASE WHEN AVG(a)>=0 THEN 'Positive' ELSE 'Negative' END FROM t1 GROUP BY b" "SELECT a + 1 FROM t1 GROUP BY a" +"SELECT a + b FROM t1 GROUP BY b" "SELECT (SELECT t1_outer.a FROM t1 AS t1_inner GROUP BY b LIMIT 1) FROM t1 AS t1_outer" "SELECT 1 FROM t1 as t1_outer GROUP BY a HAVING (SELECT t1_outer.a FROM t1 AS t1_inner GROUP BY b LIMIT 1)" +"SELECT (SELECT t1_outer.a FROM t1 AS t1_inner LIMIT 1) +FROM t1 AS t1_outer GROUP BY t1_outer.b" +"SELECT 1 FROM t1 as t1_outer GROUP BY a +HAVING (SELECT t1_outer.b FROM t1 AS t1_inner LIMIT 1)" "SELECT (SELECT SUM(t1_inner.a) FROM t1 AS t1_inner LIMIT 1) FROM t1 AS t1_outer GROUP BY t1_outer.b" "SELECT (SELECT SUM(t1_inner.a) FROM t1 AS t1_inner GROUP BY t1_inner.b LIMIT 1) @@ -38092,7 +42435,15 @@ WHERE (SELECT t1_outer.b FROM t1 AS t1_inner GROUP BY t1_inner.b LIMIT 1)" "SELECT b FROM t1 GROUP BY b HAVING CEILING(b) > 0" "SELECT 1 FROM t1 GROUP BY b HAVING b = 2 OR b = 3 OR SUM(a) > 12" "SELECT 1 FROM t1 GROUP BY b HAVING ROW (b,b) = ROW (1,1)" +"SELECT 1 FROM t1 GROUP BY b HAVING a = 2" +"SELECT 1 FROM t1 GROUP BY SUM(b)" +"SELECT b FROM t1 AS t1_outer GROUP BY a HAVING t1_outer.a IN +(SELECT SUM(t1_inner.b)+t1_outer.b FROM t1 AS t1_inner GROUP BY t1_inner.a +HAVING SUM(t1_inner.b)+t1_outer.b > 5)" +"select * from t1 group by f1" +"select * from t1 group by f2" "select * from t1 group by f1, f2" +"select t1.f1,t.* from t1, t1 t group by 1" "SET SQL_MODE = DEFAULT" "CREATE TABLE t1( id INT AUTO_INCREMENT PRIMARY KEY, @@ -38123,17 +42474,33 @@ UNIQUE KEY (c2,c1))" "SELECT COUNT(*) FROM t1 ORDER BY SUM(a), b" "SELECT SUM(a) FROM t1 ORDER BY COUNT(b)" "SELECT t1.a FROM t1 ORDER BY (SELECT SUM(t2.a) FROM t2)" +"SELECT t1.a FROM t1 ORDER BY (SELECT SUM(t2.a), t2.a FROM t2)" "SELECT t1.a FROM t1 ORDER BY (SELECT SUM(t2.a) FROM t2 ORDER BY t2.a)" +"SELECT t1.a FROM t1 ORDER BY (SELECT t2.a FROM t2 ORDER BY SUM(t2.b) LIMIT 1)" +"SELECT t1.a FROM t1 +WHERE t1.a = (SELECT t2.a FROM t2 ORDER BY SUM(t2.b) LIMIT 1)" +"SELECT t1.a FROM t1 GROUP BY t1.a +HAVING t1.a = (SELECT t2.a FROM t2 ORDER BY SUM(t2.a) LIMIT 1)" "SELECT t1.a FROM t1 GROUP BY t1.a HAVING t1.a IN (SELECT t2.a FROM t2 ORDER BY SUM(t1.b))" +"SELECT t1.a FROM t1 GROUP BY t1.a +HAVING t1.a IN (SELECT t2.a FROM t2 ORDER BY t2.a, SUM(t2.b))" +"SELECT t1.a FROM t1 GROUP BY t1.a +HAVING t1.a > ANY (SELECT t2.a FROM t2 ORDER BY t2.a, SUM(t2.b))" +"SELECT t1.a FROM t1 +WHERE t1.a = (SELECT t2.a FROM t2 ORDER BY SUM(t1.b))" "SELECT 1 FROM t1 GROUP BY t1.a HAVING (SELECT AVG(SUM(t1.b) + 1) FROM t2 ORDER BY SUM(t2.a) LIMIT 1)" "SELECT 1 FROM t1 GROUP BY t1.a HAVING (SELECT AVG(SUM(t1.b) + t2.b) FROM t2 ORDER BY SUM(t2.a) LIMIT 1)" "SELECT 1 FROM t1 GROUP BY t1.a +HAVING (SELECT AVG(t1.b + t2.b) FROM t2 ORDER BY SUM(t2.a) LIMIT 1)" +"SELECT 1 FROM t1 GROUP BY t1.a HAVING (SELECT AVG(SUM(t1.b) + 1) FROM t2 ORDER BY t2.a LIMIT 1)" "SELECT 1 FROM t1 GROUP BY t1.a HAVING (SELECT AVG(SUM(t1.b) + t2.b) FROM t2 ORDER BY t2.a LIMIT 1)" +"SELECT 1 FROM t1 GROUP BY t1.a +HAVING (SELECT AVG(t1.b + t2.b) FROM t2 ORDER BY t2.a LIMIT 1)" "SELECT t1.a FROM t1 WHERE t1.a = (SELECT t2.a FROM t2 GROUP BY t2.a ORDER BY SUM(t2.b), SUM(t1.b) LIMIT 1)" @@ -38156,6 +42523,11 @@ HAVING (1, 1) = (SELECT SUM(t1.a), t1.a FROM t2 LIMIT 1)" (select sum(outr.a + innr.a) from t1 as innr limit 1) as tt from t1 as outr order by outr.a limit 1)) from t1 as most_outer" +"select avg ( +(select ( +(select sum(outr.a + innr.a) from t1 as innr limit 1)) as tt +from t1 as outr order by count(outr.a) limit 1)) as tt +from t1 as most_outer" "select (select sum(outr.a + t1.a) from t1 limit 1) as tt from t1 as outr order by outr.a" "CREATE TABLE t1 ( pk int(11) NOT NULL AUTO_INCREMENT, @@ -38202,7 +42574,14 @@ IGNORE INDEX FOR GROUP BY (i2) GROUP BY a" "EXPLAIN SELECT a FROM t1 FORCE INDEX (i2)" "EXPLAIN SELECT a FROM t1 USE INDEX ()" "EXPLAIN SELECT a FROM t1 USE INDEX () USE INDEX (i2)" +"EXPLAIN SELECT a FROM t1 +FORCE INDEX (PRIMARY) +IGNORE INDEX FOR GROUP BY (i2) +IGNORE INDEX FOR ORDER BY (i2) +USE INDEX (i2)" "EXPLAIN SELECT a FROM t1 USE INDEX (i2) USE INDEX ()" +"EXPLAIN SELECT a FROM t1 FORCE INDEX ()",,syntax_error +"EXPLAIN SELECT a FROM t1 IGNORE INDEX ()",,syntax_error "EXPLAIN SELECT a FROM t1 USE INDEX FOR JOIN (i2) USE INDEX FOR GROUP BY (i2) GROUP BY a" "EXPLAIN SELECT a FROM t1 FORCE INDEX FOR JOIN (i2) @@ -38226,6 +42605,7 @@ USE INDEX FOR JOIN (i2,i2)" "EXPLAIN SELECT 1 FROM t2 WHERE a IN (SELECT a FROM t1 USE INDEX (i2) IGNORE INDEX (i2))" "SHOW VARIABLES LIKE 'core_file'" +"SET @@core_file = off" "EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d" "SELECT c,b,d FROM t1 GROUP BY c,b,d" "EXPLAIN SELECT c,b,d FROM t1 GROUP BY c,b,d ORDER BY NULL" @@ -38250,6 +42630,9 @@ FROM t1" "SELECT b c, (SELECT a FROM t1 WHERE b = c) FROM t1 HAVING b = 10" +"SELECT MAX(b) c, (SELECT a FROM t1 WHERE b = c) +FROM t1 +HAVING b = 10" "SET @old_sql_mode = @@sql_mode" "INSERT INTO t1 VALUES (2, 1)" "INSERT INTO t1 VALUES (1), (10)" @@ -38532,10 +42915,15 @@ ORDER BY field1 "EXPLAIN SELECT (SELECT 150) AS field5 FROM (SELECT * FROM t1) AS alias1 GROUP BY field5" +"select a from t1 group by b" "select 1 from t1 group by b" +"select 1 from t1 group by b order by a" +"select a from t1 group by b order by b" "CREATE TABLE t1 (pk int, i1 int, v1 varchar(1), primary key (pk))" "INSERT INTO t1 VALUES (0,2,'b'),(1,4,'a'),(2,0,'a'),(3,7,'b'),(4,7,'c')" "SELECT a1.v1,a2.v1 FROM t1 AS a1 JOIN t1 AS a2 ON a2.pk = a1.i1 group by +a1.v1,a2.v1 ORDER BY a1.i1,a2.pk,a2.v1 ASC" +"SELECT a1.v1,a2.v1 FROM t1 AS a1 JOIN t1 AS a2 ON a2.pk = a1.i1 group by a1.v1,a2.v1 ORDER BY a2.v1 ASC" "CREATE TABLE t1 (pk int(11) NOT NULL AUTO_INCREMENT, col_int_key int(11) NOT NULL, col_varchar_key varchar(1) NOT NULL, col_varchar_nokey varchar(1) NOT @@ -38558,6 +42946,15 @@ NULL, col_datetime_key datetime NOT NULL, col_varchar_key varchar(1) NOT NULL, col_varchar_nokey varchar(1) NOT NULL, PRIMARY KEY (pk), KEY col_int_key (col_int_key), KEY col_datetime_key (col_datetime_key), KEY col_varchar_key (col_varchar_key,col_int_key))" +"SELECT alias2.col_varchar_key AS field1 , +COUNT(DISTINCT alias1.col_varchar_nokey), alias2.pk AS field4 +FROM t1 AS alias1 +RIGHT JOIN t2 AS alias2 ON alias2.pk = alias1.col_int_key +GROUP BY field1 , field4 +ORDER BY alias1.col_datetime_key " +"select count(*) > 3 from t1 group by a order by b" +"select a from t2 group by a +order by (select a from t1 order by t2.b limit 1)" "create table t1 (branch varchar(40), id int)" "select count(*) from t1 group by branch having branch<>'mumbai' order by id desc,branch desc limit 100" @@ -38589,6 +42986,8 @@ INDEX idx_cov(kp1,kp2) "INSERT INTO t1 SELECT NULL, kp1, kp2+4 from t1" "INSERT INTO t1 SELECT NULL, kp1, kp2 from t1" "EXPLAIN SELECT kp1, SUM(kp2) FROM t1 GROUP BY kp1" +"SELECT a FROM t1 ORDER BY COUNT(*)" +"SELECT a FROM t1 WHERE a > 0 ORDER BY COUNT(*)" "SELECT SUM(a) FROM t1 ORDER BY COUNT(*)" "SELECT COUNT(*) AS c FROM t1 ORDER BY COUNT(*)" "SELECT COUNT(*) AS c FROM t1 ORDER BY c" @@ -38605,7 +43004,47 @@ FROM t1" FROM t1" "SELECT (SELECT 1 AS foo ORDER BY COUNT(t1.a)) AS x FROM t1" +"SELECT (SELECT 1 AS foo ORDER BY COUNT(*)) AS x +FROM t1" +"SELECT a FROM t1 ORDER BY (SELECT COUNT(t1.a) FROM t1 AS t2)" "SELECT SUM(a) FROM t1 ORDER BY (SELECT COUNT(t1.a) FROM t1 AS t2)" +"(SELECT a FROM t1 ORDER BY COUNT(*)) +UNION +SELECT a FROM t1" +"(SELECT a FROM t1 ORDER BY COUNT(*)) +UNION ALL +SELECT a FROM t1" +"(SELECT a FROM t1 ORDER BY COUNT(*) LIMIT 1) +UNION +SELECT a FROM t1" +"(SELECT a FROM t1 ORDER BY COUNT(*) LIMIT 1) +UNION ALL +SELECT a FROM t1" +"SELECT a FROM t1 +UNION +(SELECT a FROM t1 ORDER BY COUNT(*))" +"SELECT a FROM t1 +UNION ALL +(SELECT a FROM t1 ORDER BY COUNT(*))" +"SELECT a FROM t1 +UNION +(SELECT a FROM t1 ORDER BY COUNT(*) LIMIT 1 OFFSET 1)" +"SELECT a FROM t1 +UNION ALL +(SELECT a FROM t1 ORDER BY COUNT(*) LIMIT 1 OFFSET 1)" +"(SELECT a FROM t1 ORDER BY COUNT(*)) +UNION +(SELECT a FROM t1 ORDER BY COUNT(*))" +"(SELECT a FROM t1 ORDER BY COUNT(*)) +UNION ALL +(SELECT a FROM t1 ORDER BY COUNT(*))" +"(SELECT a FROM t1 ORDER BY COUNT(*) LIMIT 1) +UNION +(SELECT a FROM t1 ORDER BY COUNT(*) LIMIT 1 OFFSET 1)" +"(SELECT a FROM t1 ORDER BY COUNT(*) LIMIT 1) +UNION ALL +(SELECT a FROM t1 ORDER BY COUNT(*) LIMIT 1 OFFSET 1)" +"(SELECT COUNT(*) FROM t1 ORDER BY a) ORDER BY COUNT(*)" "CREATE TABLE r(c BLOB) ENGINE=INNODB" "INSERT INTO r VALUES('')" "SELECT 1 FROM r GROUP BY MAKE_SET(1,c) WITH ROLLUP" @@ -38734,6 +43173,17 @@ GROUP BY col_varchar HAVING (field1 >= 'i' OR field3 <= 9)" "SELECT CONCAT(col_varchar) as field1, MAX(col_int_key) AS field3 FROM t1 GROUP BY col_varchar HAVING (field1 >= 'i' OR field3 <= 9)" "INSERT INTO t VALUES (0), (1), (1), (2)" +"SELECT COUNT(*) AS c FROM t GROUP BY (SELECT 1 HAVING c)" +"SELECT COUNT(*) + 1 AS c FROM t GROUP BY (SELECT 1 HAVING c)" +"SELECT SUM(a) AS s FROM t GROUP BY (SELECT 1 HAVING s)" +"SELECT SUM(a) + 1 AS s FROM t GROUP BY (SELECT 1 HAVING s)" +"SELECT (SELECT COUNT(*) AS c FROM t GROUP BY (SELECT 1 HAVING c))" +"SELECT (SELECT COUNT(*) AS c FROM t GROUP BY (SELECT 1 HAVING c) LIMIT 1)" +"SELECT (SELECT COUNT(*) + 1 AS c FROM t GROUP BY (SELECT 1 HAVING c))" +"SELECT COUNT(*) AS c1, (SELECT 1 HAVING c1) AS c2 +FROM t GROUP BY (SELECT 1 WHERE c2)" +"SELECT COUNT(*) + 1 AS c1, (SELECT 1 HAVING c1) + 1 AS c2 +FROM t GROUP BY (SELECT 1 WHERE c2)" "SELECT COUNT(*) AS c FROM t ORDER BY (SELECT 1 HAVING c)" "SELECT COUNT(*) AS c FROM t ORDER BY c" "SELECT COUNT(*) AS c FROM t ORDER BY c+1" @@ -38761,18 +43211,82 @@ GROUP BY (SELECT 1 HAVING s > 0)) > 0" "SELECT COUNT(a) AS c, (SELECT 1 HAVING c = 0) FROM t" "SELECT a, COUNT(*) c FROM t GROUP BY a ORDER BY (SELECT -a HAVING c > 0)" "SELECT * FROM t t1 WHERE (SELECT SUM(t1.a) s FROM t t2 HAVING s = 0)" +"SELECT * FROM t t1 WHERE (SELECT SUM(t1.a) s FROM t t2 HAVING s = 0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT 1 FROM t t1 GROUP BY (SELECT SUM(t1.a) s FROM t t2 ORDER BY s)" +"SELECT 1 FROM t t1 GROUP BY (SELECT SUM(t1.a) s FROM t t2 ORDER BY s)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT 1 FROM t t1 GROUP BY (SELECT SUM(t1.a) s FROM t t2 ORDER BY s + 1)" +"SELECT 1 FROM t t1 GROUP BY (SELECT SUM(t1.a) s FROM t t2 ORDER BY s + 1)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT 1 FROM t t1 GROUP BY (SELECT SUM(t1.a) s)" +"SELECT 1 FROM t t1 GROUP BY (SELECT SUM(t1.a) s)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT 1 FROM t WHERE (SELECT SUM(a)) > 0" +"SELECT 1 FROM t WHERE (SELECT SUM(a)) > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT 1 FROM t GROUP BY (SELECT SUM(a))" +"SELECT 1 FROM t GROUP BY (SELECT SUM(a))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SET sql_mode = ANSI" +"SELECT COUNT(*) AS c FROM t GROUP BY (SELECT c)" +"SELECT COUNT(*) + 1 AS c FROM t GROUP BY (SELECT c)" +"SELECT COUNT(*) AS c FROM t GROUP BY (SELECT 1 WHERE c)" +"SELECT COUNT(*) + 1 AS c FROM t GROUP BY (SELECT 1 WHERE c)" +"SELECT COUNT(*) AS c FROM t GROUP BY (SELECT c HAVING c)" +"SELECT COUNT(*) + 1 AS c FROM t GROUP BY (SELECT c HAVING c)" +"SELECT COUNT(*) AS c FROM t GROUP BY (SELECT c WHERE c)" +"SELECT c FROM (SELECT COUNT(*) AS c FROM t GROUP BY (SELECT 1 ORDER BY c)) tt" +"SELECT COUNT(*) AS c FROM t +GROUP BY (SELECT COUNT(*) FROM t HAVING (SELECT c))" +"SELECT COUNT(*) AS c FROM t +GROUP BY (SELECT COUNT(*) FROM t ORDER BY (SELECT c))" +"SELECT (SELECT COUNT(*) AS c FROM t GROUP BY c)" +"SELECT (SELECT COUNT(*) FROM t GROUP BY COUNT(*))" +"SELECT 1 FROM t t1 WHERE (SELECT SUM(t1.a) s FROM t t2 GROUP BY s)" +"SELECT 1 FROM t t1 WHERE (SELECT SUM(t1.a) s FROM t t2 GROUP BY s+1)" +"SELECT 1 FROM t t1 ORDER BY (SELECT SUM(t1.a) s FROM t t2 GROUP BY s) > 0" +"SELECT 1 FROM t t1 ORDER BY (SELECT SUM(t1.a) s FROM t t2 GROUP BY s+1) > 0" +"SELECT 1 FROM t t1 ORDER BY (SELECT SUM(t1.a) s FROM t t2 +GROUP BY (SELECT s)) > 0" +"SELECT 1 FROM t t1 ORDER BY (SELECT SUM(t1.a) s FROM t t2 +GROUP BY (SELECT s+1)) > 0" +"SELECT 1 FROM t ORDER BY (SELECT SUM(a))" +"SELECT 1 FROM t t1 HAVING (SELECT SUM(t1.a) s FROM t t2 WHERE s > 5)" +"SELECT a, (SELECT SUM(a)) s FROM t GROUP BY a, s" +"SELECT EXISTS (SELECT SUM(t1.a) s FROM t t2 GROUP BY s) FROM t t1" +"SELECT SUM(a) s, s FROM t" +"SELECT 1 FROM t t1 HAVING (SELECT SUM(t1.a) s FROM t t2 GROUP BY s) > 0" +"SELECT 1 FROM t t1 HAVING (SELECT SUM(t1.a) s FROM t t2 GROUP BY s+1) > 0" +"SELECT 1 FROM t t1 HAVING (SELECT SUM(t1.a) s FROM t t2 +HAVING (SELECT 1 GROUP BY s+1)) > 0" +"SELECT COUNT(*) AS c FROM t ORDER BY (SELECT c)" +"SELECT COUNT(*) AS c FROM t ORDER BY (SELECT 1 ORDER BY c)" +"SELECT COUNT(*) AS c FROM t ORDER BY (SELECT c ORDER BY c)" +"SELECT COUNT(*) AS c FROM t HAVING (SELECT c)" +"SELECT COUNT(*) AS c FROM t HAVING (SELECT 1 ORDER BY c)" +"SELECT COUNT(*) AS c FROM t HAVING (SELECT c ORDER BY c)" +"SELECT a, COUNT(*) AS c FROM t GROUP BY a WITH ROLLUP +HAVING (SELECT c)" +"SELECT a, COUNT(*) AS c FROM t GROUP BY a WITH ROLLUP +HAVING (SELECT 1 ORDER BY c)" +"SELECT a, COUNT(*) AS c FROM t GROUP BY a WITH ROLLUP +HAVING (SELECT c ORDER BY c)" +"SELECT COUNT(*) AS c FROM t ORDER BY (SELECT COUNT(*) FROM t HAVING (SELECT c))" +"SELECT c FROM (SELECT COUNT(*) AS c FROM t ORDER BY (SELECT 1 ORDER BY c)) tt" +"SELECT COUNT(*) AS c FROM t +ORDER BY (SELECT COUNT(*) FROM t GROUP BY (SELECT c))" +"SELECT COUNT(*) AS c FROM t +HAVING (SELECT COUNT(*) FROM t GROUP BY (SELECT c))" +"SELECT SUM(a) AS s, (SELECT s) FROM t" +"SELECT EXISTS (SELECT SUM(t1.a) s FROM t t2 GROUP BY (SELECT s)) FROM t t1" +"SELECT (SELECT SUM(t1.a) s FROM t t2 HAVING (SELECT s > 5)) FROM t t1" +"SELECT 1 FROM t t1 HAVING (SELECT SUM(t1.a) s FROM t t2 HAVING (SELECT s) < 0)" +"SELECT 1 FROM t t1 HAVING (SELECT SUM(t1.a) s FROM t t2 GROUP BY (SELECT s))" +"SELECT 1 FROM t t1 HAVING (SELECT SUM(t1.a) s FROM t t2 HAVING (SELECT -s) > 0)" +"SELECT 1 FROM t t1 HAVING (SELECT SUM(t1.a) s FROM t t2 GROUP BY (SELECT -s))" "CREATE TABLE t(d DATE, i INT)" "INSERT INTO t VALUES(NULL,1),('2017-01-14',3)" "SELECT WEEK(d)/10, GROUP_CONCAT(i) FROM t GROUP BY WEEK(d)/10" "SELECT WEEK(d)/10, GROUP_CONCAT(i) FROM t GROUP BY WEEK(d)/10 ORDER BY WEEK(d)/10 DESC" "CREATE TABLE t1 (i INTEGER NOT NULL, j INTEGER NOT NULL, key(i,j))" "INSERT INTO t1 VALUES (1,2),(1,4),(1,3),(2,5),(5,3),(2,6),(6,2)" +"SELECT i, SUM(j) FROM t1 GROUP BY i ASC",,syntax_error +"SELECT i, SUM(j) FROM t1 GROUP BY i DESC",,syntax_error "EXPLAIN SELECT i, SUM(j) FROM t1 GROUP BY i" "SELECT i, SUM(j) FROM t1 GROUP BY i" "EXPLAIN SELECT i, SUM(j) FROM t1 GROUP BY i ORDER BY i" @@ -38877,6 +43391,11 @@ having g.id is null ) as x""" "CREATE TABLE w(a INTEGER)" "INSERT INTO w VALUES (1),(2),(3),(4)" +"SELECT MAX(FROM_UNIXTIME(1536999161)), +GROUP_CONCAT(ST_LATFROMGEOHASH(ST_GEOHASH(POINT(115,155),201))) +FROM w RIGHT JOIN w AS e ON TRUE +GROUP BY w.a +LIMIT 39" "DROP TABLE w" "INSERT INTO t1 ( a ) VALUES ( 0.1 )" "SELECT TRUNCATE(a, 1) FROM t1 GROUP BY TRUNCATE(a, 1) WITH ROLLUP" @@ -38891,6 +43410,13 @@ e INTEGER )" "INSERT INTO t1 VALUES (1,0)" "INSERT INTO t1 VALUES (1,8388607)" +"SELECT COUNT(*) FROM +t1 +LEFT JOIN json_table( +'{}','$[0][1]' +COLUMNS(a FOR ORDINALITY) +) AS t2 ON TRUE +GROUP BY e*from_unixtime(0)" "CREATE TABLE t1 ( a INTEGER, b VARCHAR(1) @@ -38904,6 +43430,9 @@ b VARCHAR(1) "INSERT INTO t1 VALUES (1,'b')" "INSERT INTO t1 VALUES (1,'q')" "INSERT INTO t1 VALUES (1,'e')" +"SELECT AVG(a2.a) +FROM t1 AS a1 +LEFT JOIN t1 AS a2 ON a2.b = ( SELECT a1.b FROM t1 )" "CREATE TABLE t1 ( f1 INTEGER )" @@ -38956,6 +43485,7 @@ FROM t1 WHERE c1 > ?'" "INSERT INTO t1 VALUES (NULL), (1), (2)" "SELECT DISTINCT a, COUNT(*) FROM t1 GROUP BY a WITH ROLLUP" +"select is_uuid(avg(distinct json_storage_free('$b*<*#]E')))" "CREATE TABLE t1(id INT, b1 BIT, b9 BIT(9), b64 BIT(64))" "INSERT INTO t1 VALUES (1, b'0', b'000000000', b'0000000000000000000000000000000000000000000000000000000000000000'), @@ -39024,7 +43554,6 @@ id INT FROM t1, t2 WHERE t1.id = t2.id GROUP BY t1.x WITH ROLLUP" -"CREATE TABLE t2 (pk INT PRIMARY KEY)" "INSERT INTO t2 VALUES (1), (2), (3), (4), (5), (6), (7), (8)" "SELECT t1.x FROM t1, t2 WHERE t1.x = t2.pk GROUP BY t1.x @@ -39275,6 +43804,10 @@ KEY (col56), KEY (col57), KEY (col58), KEY (col59), KEY (col60), KEY (col61), KEY (col62), KEY (col63), KEY (col64))" "EXPLAIN FORMAT=TREE SELECT DISTINCT * FROM t GROUP BY col1 + col2" "SET debug= '+d,bug30769515_QUERY_INTERRUPTED'" +"SELECT a, b, MAX(d), MIN(d) FROM t +WHERE (a > 6) AND (c = 3 OR c = 40) AND +(d = 11 OR d = 12) +GROUP BY a, b" "SET debug= '-d,bug30769515_QUERY_INTERRUPTED'" "ALTER TABLE t DROP KEY k1" "ALTER TABLE t ADD KEY k1(a, b DESC, c, d DESC)" @@ -39463,8 +43996,9 @@ FROM t1 AS t1_outer) x2 FROM t1 AS t1_outer2" "INSERT INTO t3 SELECT 1, (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) FROM t1 LIMIT 1" "DELETE FROM t3 WHERE (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) > 10000" +"DELETE FROM t3 WHERE (SELECT (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) x +FROM t1) > 10000" "CREATE TABLE t1 ( a INT, KEY (a) )" -"INSERT INTO t1 VALUES (NULL), (NULL)" "CREATE TABLE t1 ( a INT NOT NULL PRIMARY KEY)" "ALTER TABLE t ADD KEY k2(a DESC, b, c DESC, d)" "SELECT a, b, MIN(d) FROM t @@ -39498,7 +44032,6 @@ GROUP BY field1" "set @@autocommit=0" "CREATE TEMPORARY TABLE t1(a INT key)" "SET SESSION GTID_NEXT='AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE:1'" -"INSERT INTO t2 VALUES(1)" "SET SESSION GTID_NEXT=AUTOMATIC" "SET GLOBAL GTID_MODE=OFF" "CREATE TABLE t1 SELECT 1 a" @@ -39512,6 +44045,7 @@ AAAAAAAAAAAAAAAAAAAx+apMEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA== "INSERT INTO t VALUES (1),(2),(3),(5),(7)" "HANDLER t OPEN" "SET DEBUG='+d,simulate_handler_read_failure'" +"HANDLER t READ k1= (5)" "SET DEBUG='-d,simulate_handler_read_failure'" "HANDLER t CLOSE" "CREATE TABLE t1 AS SELECT 1 AS f1" @@ -39536,8 +44070,11 @@ AAAAAAAAAAAAAAAAAAAx+apMEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA== "LOAD INDEX INTO CACHE t1" "CREATE TABLE s1.t1(c1 INTEGER, c2 INTEGER, KEY k1(c1), KEY k2(c2))" "INSERT INTO s1.t1 VALUES (1,10), (2,20), (3,30)" +"HANDLER s1.t1 OPEN" "GRANT SELECT(c1) ON s1.t1 TO u1@localhost" "HANDLER s1.t1 OPEN AS t1" +"HANDLER t1 READ k1 FIRST" +"HANDLER t1 READ k1=(1,10)" "DROP TABLE s1.t1" "CREATE TABLE t1 (a INT, INDEX (a))" "INSERT INTO t1 VALUES (),(),(),(),(),(),(),(),(),()" @@ -39555,6 +44092,9 @@ c INT NOT NULL WITH RECURSIVE qn(n) AS (SELECT 1 UNION ALL SELECT n+1 FROM qn WHERE n<20) SELECT n, n%7, n%5 FROM qn" "ANALYZE TABLE t1 UPDATE HISTOGRAM ON b,c" +"EXPLAIN ANALYZE SELECT 1 FROM t1 JOIN +(SELECT SUM(x1.b) s FROM t1 x1, t1 x2 WHERE x1.b0) AND x1.c*2<0" "CREATE TABLE small_tab(x INT)" @@ -39678,6 +44218,7 @@ GROUP BY t1.a, t2.b HAVING MAX(t3.flag)=0" "select count(*) as count_col1 from t1 group by col1 having col1 = 10" "select count(*) as count_col1 from t1 as tmp1 group by col1 having col1 = 10" "select count(*) from t1 group by col2 having col2 = 'hello'" +"select count(*) from t1 group by col2 having col1 = 10" "select col1 as count_col1 from t1 as tmp1 group by col1 having col1 = 10" "select col1 as count_col1 from t1 as tmp1 group by col1 having count_col1 = 10" "select col1 as count_col1 from t1 as tmp1 group by count_col1 having col1 = 10" @@ -39686,7 +44227,9 @@ GROUP BY t1.a, t2.b HAVING MAX(t3.flag)=0" "select col1 as count_col1,col2 from t1 as tmp1 group by col1,col2 having count_col1 = 10" "select col1 as count_col1,col2 from t1 as tmp1 group by col1,col2 having col2 = 'hello'" "select col1 as count_col1,col2 as group_col2 from t1 as tmp1 group by col1,col2 having group_col2 = 'hello'" +"select sum(col1) as co12 from t1 group by col2 having col2 10",,syntax_error "select sum(col1) as co2, count(col2) as cc from t1 group by col1 having col1 =10" +"select t2.col2 from t2 group by t2.col1, t2.col2 having t1.col1 <= 10" "select t1.col1 from t1 where t1.col2 in (select t2.col2 from t2 @@ -39712,6 +44255,11 @@ having (select col_t1 from t2 where col_t1 = col_t2 order by col_t2 limit 1)" where t1.col2 in (select t2.col2 from t2 group by t2.col1, t2.col2 having col_t1 <= 10) +having col_t1 <= 20" +"select t1.col1 from t1 +where t1.col2 in +(select t2.col2 from t2 +group by t2.col1, t2.col2 having col_t1 <= 10) group by col_t1 having col_t1 <= 20" "select col_t1, sum(col1) from t1 @@ -39722,13 +44270,22 @@ group by t2.col2 having t2.col2 > 'b')" "select sum(col1) from t1 group by col_t1 having col_t1 in (select sum(t2.col1) from t2 +group by t2.col2, t2.col1 having t2.col1 = t1.col1)" +"select sum(col1) from t1 +group by col_t1 +having col_t1 in (select sum(t2.col1) from t2 group by t2.col2, t2.col1 having t2.col1 = col_t1)" +"select t1.col1, t2.col1 from t1, t2 where t1.col1 = t2.col1 +group by t1.col1, t2.col1 having col1 = 2" +"select t1.col1*10+t2.col1 from t1,t2 where t1.col1=t2.col1 +group by t1.col1, t2.col1 having col1 = 2" "select count(*) from t1 group by s1 having s1 is null" "select s1*0 as s1 from t1 group by s1 having s1 <> 0" "select s1*0 from t1 group by s1 having s1 = 0" "select s1 from t1 group by 1 having 1 = 0" "select count(s1) from t1 group by s1 having count(1+1)=2" "select count(s1) from t1 group by s1 having s1*0=0" +"select * from t1 a, t1 b group by a.s1 having s1 is null" "create table t1 (s1 char character set latin1 collate latin1_german1_ci)" "insert ignore into t1 values ('ü'),('y')" "select s1,count(s1) from t1 @@ -39965,6 +44522,11 @@ FROM t1 AS table1 GROUP BY field1 HAVING field1 = 'a'" "CREATE TABLE a(f INTEGER, g INTEGER) engine=innodb" +"SELECT (SELECT 1 FROM a HAVING g) +FROM (SELECT 1) AS e +JOIN a AS t on TRUE +JOIN a USING (f) +JOIN a AS h on TRUE" "CREATE TABLE t1(c1 INT) ENGINE=INNODB" "CREATE TABLE t2(c2 INT) ENGINE=INNODB" "EXPLAIN SELECT c1 FROM t1 WHERE EXISTS(SELECT * FROM t2 HAVING c2>0)" @@ -40004,6 +44566,7 @@ FROM o" "DROP TABLE t, o" "INSERT INTO t VALUES(1),(2)" "CREATE VIEW v AS SELECT a FROM t HAVING 0<>1" +"DELETE FROM v LIMIT 1" "SELECT 1 HAVING COUNT(*) = 1" "SELECT 1 WHERE TRUE HAVING COUNT(*) = 1" "SELECT 1 WHERE FALSE HAVING COUNT(*) = 0" @@ -40016,12 +44579,21 @@ JOIN t1 AS t2 ON t1.a = t2.a GROUP BY t1.a HAVING COUNT(DISTINCT t1.a) = 1" "CREATE TABLE t1 (f1 INT, f2 TEXT, f3 INT, PRIMARY KEY(f1))" +"SELECT DISTINCT f3 FROM t1 HAVING (SELECT 1 FROM t2 HAVING f2 LIMIT 1) ORDER BY f3" "SELECT SUM(t1.f1)+1 AS field1 FROM t1 JOIN t1 AS t2 GROUP BY t1.f1 HAVING field1 < 7 ORDER BY field1" "CREATE TABLE t0 (c42 INT)" +"SELECT * +FROM (SELECT c42 AS c6 FROM t0) AS t1 +JOIN t0 ON t0.c42 = t0.c42 +GROUP BY c6 +HAVING (SELECT MIN(c6) AS c44 FROM t0 +GROUP BY c6, c6 +HAVING t1.c6 = (SELECT 1 FROM t0) +)" "SELECT t1.f1 AS f1, DEFAULT(t2.f1) AS f2 FROM t1 LEFT JOIN t1 AS t2 ON TRUE GROUP BY f1 @@ -40059,6 +44631,16 @@ KEY col_int_key (col_int_key) ) ENGINE=MyISAM" "INSERT INTO t1 VALUES (6, 1)" "INSERT INTO t2 VALUES (5), (6), (7), (8)" +"SELECT col_int_key +FROM t1 AS alias1 +HAVING (2, 7) NOT IN +(SELECT pk, SUM(pk) +FROM t1 +WHERE pk <> (SELECT t2_alias1 .pk +FROM t2 AS t2_alias1 JOIN t2 AS t2_alias2 +) +GROUP BY pk +)" "create table t1 (a int not null,b int not null, primary key (a)) engine=heap comment=""testing heaps"" avg_row_length=100 min_rows=1 max_rows=100" "insert into t1 values(1,1),(2,2),(3,3),(4,4)" "delete from t1 where a=1 or a=0" @@ -40157,7 +44739,6 @@ UNIQUE KEY `job_title_id` (`job_title_id`,`job_title`) "set @a=repeat(' ',20)" "insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a))" "select concat('*',v,'*',c,'*',t,'*') from t1" -"create table t2 like t1" "create table t3 charset utf8mb4 select * from t1" "alter table t1 modify c varchar(10)" "alter table t1 modify v char(10)" @@ -40182,6 +44763,7 @@ UNIQUE KEY `job_title_id` (`job_title_id`,`job_title`) "explain select count(*) from t1 where v like 'a%'" "explain select count(*) from t1 where v between 'a' and 'a '" "explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n'" +"alter table t1 add unique(v)" "select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a' order by length(concat('*',v,'*',c,'*',t,'*'))" "explain select * from t1 where v='a'" "select v,count(*) from t1 group by v order by v limit 9" @@ -40196,6 +44778,10 @@ UNIQUE KEY `job_title_id` (`job_title_id`,`job_title`) "select t,count(t) from t1 group by t order by t limit 10" "select sql_big_result trim(t),count(t) from t1 group by t order by t limit 10" "create table t1 (a char(10), unique (a)) charset latin1" +"insert into t1 values ('a ')" +"insert into t1 values ('a '),('a '),('a '),('a ')" +"insert into t1 values ('a ')" +"insert into t1 values ('a ')" "update t1 set a='a ' where a like 'a '" "update t1 set a='a ' where a like 'a '" "create table t1 (v varchar(10), c char(10), t varchar(50), key using btree (v), key using btree (c), key using btree (t(10))) charset latin1" @@ -40211,6 +44797,8 @@ key (b, a)) engine=heap" "create table t1 (a int not null, b int not null auto_increment, primary key(a, b), key(b)) engine=heap" "insert t1 (a) values (1),(1),(1),(1),(1),(1),(1),(1)" +"create table t1 (a int not null, b int not null auto_increment, +primary key(a, b)) engine=heap" "create table t1 (c char(255), primary key(c(90)))" "insert into t1 values (""abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"")" "CREATE TABLE t1 (a int, key(a)) engine=heap" @@ -40438,7 +45026,6 @@ val INT, UNIQUE KEY USING HASH(val) ) ENGINE=MEMORY" "INSERT INTO t1 VALUES (1, NULL)" -"INSERT INTO t1 VALUES (2, NULL)" "INSERT INTO t1 VALUES (3, NULL)" "INSERT INTO t1 VALUES (4, NULL)" "SELECT * FROM t1 WHERE val IS NULL" @@ -41390,6 +45977,11 @@ FROM information_schema.COLUMN_STATISTICS" "SELECT schema_name, table_name, column_name, JSON_EXTRACT(histogram, '$.""histogram-type""') AS should_be_equiheight FROM information_schema.COLUMN_STATISTICS" +"ANALYZE TABLE foo UPDATE HISTOGRAM ON foo WITH 0 BUCKETS" +"ANALYZE TABLE foo UPDATE HISTOGRAM ON foo WITH 1025 BUCKETS" +"ANALYZE TABLE foo UPDATE HISTOGRAM ON foo WITH -1 BUCKETS",,syntax_error +"ANALYZE TABLE foo UPDATE HISTOGRAM ON tbl.col WITH 100 BUCKETS",,syntax_error +"ANALYZE TABLE foo UPDATE HISTOGRAM ON db.tbl.col WITH 100 BUCKETS",,syntax_error "ANALYZE TABLE foo, foo2 UPDATE HISTOGRAM ON bar WITH 100 BUCKETS" "CREATE TABLE t1 (col1 INT PRIMARY KEY, col2 INT, @@ -41421,8 +46013,8 @@ WHERE schema_name = 'test' AND table_name = 't1' AND column_name = 'col1'" "SELECT JSON_LENGTH(histogram->'$.buckets') <= 255 FROM information_schema.COLUMN_STATISTICS WHERE schema_name = 'test' AND table_name = 't1' AND column_name = 'col1'" +"ANALYZE TABLE t1 UPDATE HISTOGRAM ON col1, col2, col1 WITH 10 BUCKETS" "INSERT INTO t1 (c1) VALUES (10), (20), (30)" -"CREATE TABLE t2 (c2 INT)" "INSERT INTO t2 (c2) VALUES (10), (20), (30)" "LOCK TABLES t2 READ" "ANALYZE TABLE t1 UPDATE HISTOGRAM ON c1 WITH 10 BUCKETS" @@ -41439,12 +46031,12 @@ WHERE schema_name = 'test' AND table_name = 't1' AND column_name = 'col1'" "ANALYZE TABLE t1 DROP HISTOGRAM ON foobar" "ANALYZE TABLE foo DROP HISTOGRAM ON foobar" "ANALYZE TABLE temp_table DROP HISTOGRAM ON col1" +"ANALYZE TABLE foo DROP HISTOGRAM ON foobar, foobar" "CREATE TABLE t2 (col1 INT)" "ANALYZE TABLE t1, t2 DROP HISTOGRAM ON col1" "ANALYZE TABLE t2 DROP HISTOGRAM ON c2" "ALTER TABLE t1 CHANGE COLUMN col1 col1_renamed INT" "ALTER TABLE t1 CHANGE COLUMN col2 col2 VARCHAR(255)" -"ALTER TABLE t1 DROP COLUMN col2" "ANALYZE TABLE t1 UPDATE HISTOGRAM ON col1_renamed WITH 10 BUCKETS" "RENAME TABLE t1 TO t1_renamed" "ALTER TABLE t1_renamed RENAME TO t1" @@ -41490,6 +46082,7 @@ c2 int(11) GENERATED ALWAYS AS ((c1 * 2)) VIRTUAL "INSERT into t1(c1) VALUES (1)" "ALTER TABLE t1 ADD UNIQUE INDEX i (c2)" "ALTER TABLE t1 DROP KEY i" +"ALTER TABLE t1 DROP COLUMN foobar, CHANGE COLUMN col1 col2 INT" "CREATE TABLE foo (col1 INT, col2 INT AS (col1 + 1) VIRTUAL, col3 INT AS (col2 + 1) VIRTUAL)" @@ -42190,6 +46783,7 @@ ORDER BY subfield12 ) OR col_int IS NOT NULL ORDER BY field1 LIMIT 10 OFFSET "INSERT INTO t1 VALUES (""00:00:00"", ""2017-01-01"")" "ANALYZE TABLE t1 UPDATE HISTOGRAM ON col1, col2 WITH 8 BUCKETS" "EXPLAIN SELECT * FROM t1 WHERE col1 < """"" +"EXPLAIN SELECT * FROM t1 WHERE col2 < """"" "INSERT INTO tbl_int VALUES (1), (2), (2), (2), (3), (6), (8), (8), (NULL), (NULL)" "SELECT COUNT(*)/10.0 FROM tbl_int WHERE col1 > 0" "SELECT COUNT(*)/10.0 FROM tbl_int WHERE col1 > 1" @@ -42670,9 +47264,9 @@ ORDER BY OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME" "SET DEBUG_SYNC='now SIGNAL continue_store_histogram'" "CREATE TABLE t1(col1 INT)" "SET LOCAL TRANSACTION READ ONLY" +"INSERT INTO t1 (col1) VALUES (1)" "ANALYZE TABLE t1 UPDATE HISTOGRAM ON col1 WITH 16 BUCKETS" "SET LOCAL TRANSACTION READ WRITE" -"INSERT INTO t1 (col1) VALUES (1)" "CREATE TABLE mysqltest.t1 (i INT)" "INSERT INTO mysqltest.t1 VALUES (1), (2), (3)" "ANALYZE TABLE mysqltest.t1 UPDATE HISTOGRAM ON i WITH 10 BUCKETS" @@ -42955,6 +47549,8 @@ FROM information_schema.column_statistics" "select @@global.Host_Cache_Size=@Default_host_cache_size" "SELECT @@GLOBAL.Host_Cache_Size" "SET @@GLOBAL.Host_Cache_Size=DEFAULT" +"SET @@local.Host_Cache_Size=1" +"SET @@session.Host_Cache_Size=1" "SET @@GLOBAL.Host_Cache_Size=1" "SELECT COUNT(@@GLOBAL.Host_Cache_Size)" "SELECT @@GLOBAL.Host_Cache_Size = VARIABLE_VALUE @@ -42964,29 +47560,41 @@ WHERE VARIABLE_NAME='Host_Cache_Size'" FROM performance_schema.global_variables WHERE VARIABLE_NAME='Host_Cache_Size'" "SELECT @@Host_Cache_Size = @@GLOBAL.Host_Cache_Size" +"SELECT COUNT(@@local.Host_Cache_Size)" +"SELECT COUNT(@@SESSION.Host_Cache_Size)" +"SELECT Host_Cache_Size" +"CREATE USER some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"SHOW CREATE USER some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"SHOW GRANTS FOR some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" "CREATE USER some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890" "SHOW CREATE USER some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890" "SHOW GRANTS FOR some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890" +"CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1" "CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890 EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1" "SHOW EVENTS LIKE 'e1'" "SELECT DEFINER FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='e1'" +"CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X PROCEDURE p1() SELECT 1" "CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890 PROCEDURE p1() SELECT 1" -"SHOW CREATE PROCEDURE p1" "SELECT ROUTINE_NAME, DEFINER FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME LIKE 'p1'" +"CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X FUNCTION f1() RETURNS INT RETURN 1" "CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890 FUNCTION f1() RETURNS INT RETURN 1" -"SHOW CREATE FUNCTION f1" "SELECT ROUTINE_NAME, DEFINER FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME LIKE 'f1'" +"CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X VIEW v1 AS SELECT 1" "CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890 VIEW v1 AS SELECT 1" "SELECT TABLE_NAME, DEFINER FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME LIKE 'v1'" +"CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X TRIGGER trg1 BEFORE UPDATE ON t1 FOR EACH ROW SET @f1=1" "CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890 TRIGGER trg1 BEFORE UPDATE ON t1 FOR EACH ROW SET @f1=1" "SHOW CREATE TRIGGER trg1" "SELECT TRIGGER_NAME, DEFINER FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME LIKE 'trg1'" +"GRANT INSERT ON test.* TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"GRANT UPDATE ON test.t1 TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" +"GRANT UPDATE (f1) ON test.t2 TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X" "GRANT INSERT ON test.* TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890" "GRANT UPDATE ON test.t1 TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890" "GRANT UPDATE (f1) ON test.t2 TO some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890" @@ -43555,26 +48163,27 @@ AND t2.b <> 3" "CREATE TABLE t1 (a int) ENGINE = InnoDB PARTITION BY HASH (a) PARTITIONS 2" "INSERT INTO t1 VALUES (0), (1), (2), (3)" "CREATE VIEW v1 AS SELECT a FROM t1 PARTITION (p0)" +"INSERT INTO v1 VALUES (10),(11)" "INSERT IGNORE INTO v1 VALUES (10),(11)" "UPDATE IGNORE v1 SET a=11 WHERE a=2" "CREATE TABLE t1 (a int) ENGINE = InnoDB PARTITION BY LIST (a) (PARTITION x1 VALUES IN (2,5), PARTITION x2 VALUES IN (3))" "INSERT INTO t1 VALUES (2), (3), (5)" +"INSERT INTO t1 VALUES (2),(4)" "INSERT IGNORE INTO t1 VALUES (2),(4)" +"UPDATE t1 SET a=a+1" "UPDATE IGNORE t1 SET a=a+1" "CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = InnoDB" "CREATE TABLE t2 (b INT, FOREIGN KEY(b) REFERENCES t1(a)) ENGINE = InnoDB" "CREATE TABLE t3 (c INT PRIMARY KEY, FOREIGN KEY(c) REFERENCES t2(b)) ENGINE = InnoDB" -"INSERT INTO t1 VALUES (1), (2), (5)" "INSERT IGNORE INTO t3 VALUES (1), (2)" +"UPDATE t3 SET c=2 where c=1" "UPDATE IGNORE t3 SET c=2 where c=1" -"DELETE IGNORE FROM t1" +"UPDATE t2 SET b=b+5" "UPDATE IGNORE t2 SET b=b+5" -"DROP TABLE t3,t2,t1" "CREATE TABLE t1 (a INT) ENGINE = InnoDB" "INSERT INTO t1 VALUES (1),(NULL),(2)" "UPDATE IGNORE t1 SET a=NULL WHERE a=0" -"INSERT IGNORE INTO t1 VALUES (NULL)" "INSERT IGNORE INTO t1 VALUES (NULL),(3)" "CREATE TABLE t1(a INT, b INT) ENGINE = InnoDB" "CREATE TABLE t2(a INT, b INT NOT NULL) ENGINE = InnoDB" @@ -43592,6 +48201,7 @@ END" FOR EACH ROW BEGIN INSERT INTO t3 VALUES(4); END" +"UPDATE IGNORE t1 SET a=3 WHERE a=2" "DROP TRIGGER post_insert_t1" "DROP TRIGGER post_update_t1" "CREATE TRIGGER post_insert_t1 AFTER INSERT ON t1 @@ -43603,21 +48213,29 @@ FOR EACH ROW BEGIN INSERT IGNORE INTO t3 VALUES(4); END" "INSERT IGNORE INTO t1 VALUES(2),(3)" -"UPDATE IGNORE t1 SET a=3 WHERE a=2" "DROP TABLE t2,t1,t3" "CREATE TABLE t1(a INT NOT NULL) ENGINE = InnoDB" "INSERT IGNORE INTO t1 VALUES(NULL)" +"INSERT INTO t1 VALUES (NULL),(3)" "INSERT IGNORE INTO t1 VALUES (NULL),(1)" +"UPDATE t1 SET a=NULL WHERE a=0" +"UPDATE t1,t2 SET t2.b=NULL" +"UPDATE v1 SET a=11 WHERE a=2" "INSERT INTO t1 VALUES (2), (3),(5)" +"UPDATE t1 SET a=4 WHERE a=5" "UPDATE IGNORE t1 SET a=4 WHERE a=5" "CREATE TABLE t11 (a INT NOT NULL, b INT, PRIMARY KEY (a)) ENGINE = InnoDB" "CREATE TABLE t2 (a INT NOT NULL, b INT, PRIMARY KEY (a)) ENGINE = InnoDB" "INSERT INTO t11 VALUES (0, 10),(1, 11),(2, 12)" "INSERT INTO t2 VALUES (1, 21),(2, 12),(3, 23)" +"DELETE FROM t11 WHERE t11.b = (SELECT b FROM t2 WHERE t11.a < t2.a)" "DELETE IGNORE FROM t11 WHERE t11.b = (SELECT b FROM t2 WHERE t11.a < t2.a)" "DROP TABLE t11, t2" "CREATE VIEW v1 AS SELECT * FROM t1 WHERE a < 2 WITH CHECK OPTION" +"INSERT INTO v1 VALUES (1), (3)" "INSERT IGNORE INTO v1 VALUES (1), (3)" +"UPDATE v1 SET a=5 WHERE a=1" +"UPDATE v1 STRAIGHT_JOIN (SELECT 1) AS dt SET a=5 WHERE a=1" "UPDATE IGNORE v1 SET a=5 WHERE a=1" "UPDATE IGNORE v1 STRAIGHT_JOIN (SELECT 1) AS dt SET a=5 WHERE a=1" "CREATE TABLE t1( a INT PRIMARY KEY) ENGINE = InnoDB" @@ -43627,32 +48245,45 @@ END" "INSERT INTO t2 VALUES (2),(4)" "CREATE TABLE t1 (col1 INT NOT NULL, col2 INT NOT NULL) ENGINE = InnoDB" "CREATE VIEW v1 (vcol1) AS SELECT col1 FROM t1" +"INSERT INTO t1 (col1) VALUES(12)" "INSERT IGNORE INTO t1 (col1) VALUES(12)" +"INSERT INTO v1 (vcol1) VALUES(12)" "INSERT IGNORE INTO v1 (vcol1) VALUES(12)" "CREATE TABLE t1(a INT) ENGINE = InnoDB" +"INSERT INTO t1 VALUES(2147483648)" "INSERT IGNORE INTO t1 VALUES(2147483648)" "UPDATE IGNORE t1 SET a=2147483648 WHERE a=0" +"INSERT INTO t1 values('a')" "INSERT IGNORE INTO t1 values('a')" "UPDATE IGNORE t1 SET a='a' WHERE a=0" "CREATE TABLE t3(c1 CHAR(10) NOT NULL) ENGINE = InnoDB" "INSERT INTO t3 VALUES('a')" +"INSERT INTO t3 (c1) VALUES('12345678901.x')" "INSERT IGNORE INTO t3 (c1) VALUES('12345678901.x')" "UPDATE IGNORE t3 SET c1='12345678901.x' WHERE c1='a'" "CREATE TABLE t1 (col1 DATETIME) ENGINE = InnoDB" "INSERT INTO t1 VALUES('1000-01-01 00:00:00')" +"INSERT INTO t1 VALUES(STR_TO_DATE('32.10.2004 15.30','%D.%D.%Y %H.%I'))" "INSERT IGNORE INTO t1 VALUES(STR_TO_DATE('32.10.2004 15.30','%D.%D.%Y %H.%I'))" "UPDATE IGNORE t1 SET col1=STR_TO_DATE('32.10.2004 15.30','%D.%D.%Y %H.%I') WHERE col1='1000-01-01 00:00:00'" "CREATE TABLE t1 (d DATE) ENGINE = InnoDB" +"INSERT INTO t1 (d) SELECT DATE_SUB('2000-01-01', INTERVAL 2001 YEAR)" "INSERT IGNORE INTO t1 (d) SELECT DATE_SUB('2000-01-01',INTERVAL 2001 YEAR)" "CREATE TABLE t1 (col1 CHAR(3), col2 INT) ENGINE = InnoDB" +"INSERT INTO t1 (col1) VALUES (CAST(1000 as CHAR(3)))" "INSERT IGNORE into t1 (col1) VALUES (CAST(1000 as CHAR(3)))" "SET sql_mode='ERROR_FOR_DIVISION_BY_ZERO,STRICT_ALL_TABLES'" "CREATE TABLE t1(a TINYINT)" +"INSERT INTO t1 VALUES(2/0)" "INSERT IGNORE INTO t1 VALUES(2/0)" +"INSERT INTO t1 VALUES ('a59b')" "INSERT IGNORE INTO t1 VALUES ('a59b')" +"INSERT INTO t1 VALUES ('1a')" "INSERT IGNORE INTO t1 VALUES ('1a')" +"INSERT INTO t1(SELECT SLEEP(NULL))" "INSERT IGNORE into t1(SELECT SLEEP(NULL))" "CREATE TABLE t1(a INT, b INT NOT NULL, c INT NOT NULL, d INT NOT NULL) ENGINE = InnoDB" +"LOAD DATA INFILE '../../std_data/wl6030_2.dat' INTO TABLE t1 FIELDS TERMINATED BY ',' ENCLOSED BY '""'" "LOAD DATA INFILE '../../std_data/wl6030_2.dat' IGNORE INTO TABLE t1 FIELDS TERMINATED BY ',' ENCLOSED BY '""'" "SET sql_mode=@org_mode" "UPDATE IGNORE t2,t1 SET t2.b=NULL" @@ -43662,21 +48293,27 @@ END" "INSERT INTO t1 VALUES(1),(2)" "INSERT INTO t2 VALUES (3),(4)" "INSERT INTO t3 VALUES(3),(4)" +"DELETE t1.*,t2.* FROM t1,t2" "DELETE IGNORE t1.*,t2.* FROM t1,t2" -"CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB" "CREATE TABLE t2 (b INT PRIMARY KEY, FOREIGN KEY(b) REFERENCES t1(a)) ENGINE=InnoDB" +"INSERT INTO t2 VALUES(2) ON DUPLICATE KEY UPDATE b=b-1" "INSERT IGNORE INTO t2 VALUES(2) ON DUPLICATE KEY UPDATE b=b-1" "DROP table t2,t1" "CREATE TABLE t(a int) engine=innodb" "ALTER TABLE t DISCARD TABLESPACE" +"DELETE IGNORE FROM t " +"DELETE IGNORE FROM t ORDER BY 0 + 1 " "INSERT INTO t1 VALUES(5)" "CREATE TABLE t2(b int)" "INSERT INTO t2 VALUES(7)" +"DELETE FROM t1 where a <=> ln(0)" "DELETE IGNORE FROM t1 where a <=> ln(0)" +"DELETE t1, t2 FROM t1 INNER JOIN t2 WHERE t1.a <=> ln(0) AND t2.b <=> ln(0)" "DELETE IGNORE t1, t2 FROM t1 INNER JOIN t2 WHERE t1.a <=> ln(0) AND t2.b <=> ln(0)" "SET sql_mode= @org_mode" "CREATE TABLE t2 (a int default 0, b int primary key) engine=innodb" "INSERT INTO t2 VALUES (0, 17)" +"LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t2 (a, @b) SET b= @b + 2" "CREATE PROCEDURE p1() BEGIN # warning @@ -43685,6 +48322,7 @@ SIGNAL too_few_records SET MYSQL_ERRNO = 1261; END " "SET @org_safe_updates= @@sql_safe_updates" "SET SESSION sql_safe_updates=ON" +"DELETE IGNORE FROM t1 WHERE a=1" "SET sql_safe_updates= @org_safe_updates" "DROP TABLE IF EXISTS t5" "INSERT INTO t5 VALUES (0), (1), (2)" @@ -43774,15 +48412,22 @@ END" "CREATE TABLE s1.t1(i VARCHAR(32)) ENGINE MYISAM" "INSERT INTO s1.t1 VALUES ('abc'), ('DEF'), ('Ghi'), ('ghI')" "SELECT I FROM s1.t1 ORDER BY i" +"IMPORT TABLE FROM 's2/t1*.sdi'" "DROP SCHEMA s2" +"IMPORT TABLE FROM 't1_*.sdi'" +"IMPORT TABLE FROM 's1/t1_*.sdi'" "CREATE TABLE t1(i VARCHAR(32)) ENGINE MYISAM" "INSERT INTO t1 VALUES ('abc'), ('DEF'), ('Ghi'), ('ghI')" "SELECT i FROM t1 ORDER BY i" +"IMPORT TABLE FROM 't1*.sdi'" +"IMPORT TABLE FROM 'pattern_which_matches_nothing'" "CREATE TABLE t1 (i int) ENGINE MYISAM" +"IMPORT TABLE FROM 't1.MYD'" +"IMPORT TABLE FROM 't1.sdi'" "CREATE TABLE t1(i INT) ENGINE MYISAM" "INSERT INTO t1 VALUES ('AAA'), ('BBB'), ('CCC')" -"IMPORT TABLE FROM 't1_*.sdi'" "CREATE TABLE t1(i INT) ENGINE=MYISAM" +"IMPORT TABLE FROM 't1_.sdi'" "CREATE TABLE s1.t1(i INT) ENGINE MYISAM" "CREATE USER noimportforyou@localhost" "REVOKE ALL ON *.* FROM noimportforyou@localhost" @@ -43801,7 +48446,6 @@ END" "CHECK TABLE v2" "IMPORT TABLE FROM 't1_*.sdi', 't2_*.sdi'" "CREATE TABLE t1 (i INT) ENGINE MYISAM" -"IMPORT TABLE FROM 't1_.sdi'" "SELECT * FROM t1 ORDER BY k" "ALTER SCHEMA s1 DEFAULT COLLATE latin1_bin" "IMPORT TABLE FROM 's1/t1*.sdi'" @@ -43824,8 +48468,7 @@ de DECIMAL(10,2), j INT GENERATED ALWAYS AS (42+i)) ENGINE=MYISAM" "INSERT INTO t1(dt,de) VALUES ('2017-03-28 18:48:01', 1.1), ('2017-03-28 18:48:02', 1.2), ('2017-03-28 18:48:03', 1.5)" -"SET SESSION sql_require_primary_key= ON" -"SET SESSION sql_require_primary_key= OFF" +"IMPORT TABLE FROM ''" "CREATE TABLE t1 (f1 INT CHECK (f1 < 10)) ENGINE=MyISAM" "IMPORT TABLE FROM 'test/t1*.sdi'" "SET SESSION debug= '+d,sdi_import_commit_fail'" @@ -43834,7 +48477,6 @@ de DECIMAL(10,2), j INT GENERATED ALWAYS AS (42+i)) ENGINE=MYISAM" "CREATE TABLE t2 (i int) ENGINE=MYISAM" "CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB ROW_FORMAT=COMPACT" "CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB ROW_FORMAT=DYNAMIC" -"ALTER TABLE t1 DISCARD TABLESPACE" "INSERT INTO t1 VALUES (0), (2), (4)" "create table bureau ( id int(11) default null, @@ -44003,7 +48645,6 @@ SELECT table_name FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'information_schema', 'test', 'mysqltest') AND table_name COLLATE utf8mb3_general_ci not like 'ndb_%' AND table_name COLLATE utf8mb3_general_ci not like 'innodb_%'" -"select * from v1" "select c,table_name from v1 inner join information_schema.TABLES v2 on (v1.c=v2.table_name) where v1.c rlike ""t[1-5]{1}$"" order by c" @@ -44035,6 +48676,7 @@ where table_schema = 'mysqltest' and table_name = 't1' order by table_name, colu "show columns from mysqltest.t1" "select table_name, column_name, privileges from information_schema.columns where table_schema = 'mysqltest' and table_name = 'v1' order by table_name, column_name" +"explain select * from v1" "drop view v1, mysqltest.v1" "drop tables mysqltest.t4, mysqltest.t1, t2, t3, t5" "select * from information_schema.CHARACTER_SETS @@ -44070,11 +48712,11 @@ ORDER BY a.ROUTINE_NAME" order by routine_schema, routine_name" "select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA='test' ORDER BY ROUTINE_NAME" +"show create function sub1" "grant all privileges on test.* to mysqltest_1@localhost" "create function sub2(i int) returns int return i+1" "show create procedure sel2" -"show create function sub1" "show create function sub2" "show function status like ""sub2""" "drop function sub2" @@ -44152,6 +48794,7 @@ CHARACTER_OCTET_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE from information_schema.columns where table_name= 't1'" "create procedure p108 () begin declare c cursor for select data_type from information_schema.columns; open c; open c; end;" +"call p108()" "drop procedure p108" "create view v1 as select A1.table_name from information_schema.TABLES A1 where table_name= ""user"" order by table_name" @@ -44167,6 +48810,7 @@ from information_schema.tables where table_schema='information_schema' order by table_name COLLATE utf8mb3_general_ci limit 2" "show tables from information_schema like ""T%""" +"create database information_schema" "use information_schema" "show full tables like ""T%""" "show tables like ""T%""" @@ -44188,6 +48832,7 @@ where table_schema='test' order by constraint_name" "show create table v3" "drop view v2" "drop view v3" +"select * from information_schema.table_names" "select column_type from information_schema.columns where table_schema=""information_schema"" and table_name=""COLUMNS"" and (column_name=""character_set_name"" or column_name=""collation_name"")" @@ -44315,7 +48960,18 @@ WHERE name IN ( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_TYPE='BASE TABLE')" "create view v1 (c) as select f1 from t1" "show fields from test.v1" +"alter database information_schema",,syntax_error +"drop database information_schema" +"drop table information_schema.tables" +"alter table information_schema.tables" +"create temporary table schemata(f1 char(10))" +"CREATE PROCEDURE p1 () +BEGIN +SELECT 'foo' FROM DUAL; +END " "select ROUTINE_NAME from routines where ROUTINE_SCHEMA='information_schema'" +"grant all on information_schema.* to 'user1'@'localhost'" +"grant select on information_schema.* to 'user1'@'localhost'" "insert into t1(id) values (1)" "select 1 from (select 1 from test.t1) a" "create table t1 (f1 int(11))" @@ -44404,7 +49060,6 @@ table_name as object_name, table_type as object_type from information_schema.tables order by object_schema" -"explain select * from v1" "explain select * from (select table_name from information_schema.tables) as a" "create table t2 (f1 int(11), f2 int(11))" "select table_name from information_schema.tables @@ -44437,6 +49092,8 @@ group by t.table_name order by num1, t.table_name COLLATE utf8mb3_general_ci" "select table_name, is_updatable from information_schema.views where table_schema != 'sys' order by table_name" "delete from v1" "drop view v1,v2" +"alter database",,syntax_error +"alter database test",,syntax_error "create table mysqltest.t1(a int, b int, c int)" "create trigger mysqltest.t1_ai after insert on mysqltest.t1 for each row set @a = new.a + new.b + new.c" @@ -44456,6 +49113,8 @@ f7 datetime not null, f8 datetime default '2006-01-01' )" "select column_default from information_schema.columns where table_name= 't1'" +"show fields from information_schema.table_names" +"show keys from information_schema.table_names" "USE information_schema" "SET max_heap_table_size = 16384" "CREATE TABLE test.t1( a INT )" @@ -44563,7 +49222,6 @@ where a.VARIABLE_NAME = b.VARIABLE_NAME" "SELECT CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1'" "SET TIMESTAMP=@@TIMESTAMP + 10000000" "SELECT 'OK' AS TEST_RESULT FROM INFORMATION_SCHEMA.PROCESSLIST WHERE time < 0" -"CREATE TABLE t1 (id INT)" "CREATE USER nonpriv" "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1'" "USE INFORMATION_SCHEMA" @@ -44595,9 +49253,23 @@ from information_schema.routines where routine_schema='test'" where table_schema = 'test' and table_name in ('t1', 't2')" "select table_name, auto_increment from information_schema.tables where table_schema = 'test' and table_name in ('t1', 't2')" +"create table information_schema.t1 (f1 INT)" +"drop table information_schema.t1" +"drop temporary table if exists information_schema.t1" +"create temporary table information_schema.t1 (f1 INT)" +"drop view information_schema.v1" +"create view information_schema.v1",,syntax_error +"create trigger mysql.trg1 after insert on information_schema.t1 for each row set @a=1" +"create table t1 select * from information_schema.t1" "CREATE TABLE t1(f1 char(100))" +"REPAIR TABLE t1, information_schema.processlist" "CHECKSUM TABLE t1, information_schema.processlist" +"ANALYZE TABLE t1, information_schema.processlist" "CHECK TABLE t1, information_schema.processlist" +"OPTIMIZE TABLE t1, information_schema.processlist" +"RENAME TABLE v1 to v2, information_schema.processlist to t2" +"DROP TABLE t1, information_schema.processlist" +"LOCK TABLES t1 READ, information_schema.processlist READ" "create function f1() returns int return 1" "select routine_name, routine_type from information_schema.routines where routine_schema = 'test'" @@ -44633,6 +49305,7 @@ VARIABLE_NAME LIKE 'Opened_tables'" VARIABLE_NAME LIKE 'Opened_tables'" "SELECT @val1 = @val2" "SELECT MAX(a) FROM information_schema.engines RIGHT JOIN t1 ON 1" +"CREATE PROCEDURE information_schema.is() BEGIN END" "SELECT ENGINE, SUPPORT, TRANSACTIONS FROM INFORMATION_SCHEMA.ENGINES WHERE SUPPORT IN ( @@ -44669,6 +49342,38 @@ FULLTEXT KEY c4_fts (c4, c5))" DATA_TYPE, COLLATION_NAME, COLUMN_KEY FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='test' ORDER BY COLUMN_NAME" +"SELECT INTERNAL_TABLE_ROWS(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_AVG_ROW_LENGTH(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_DATA_LENGTH(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_MAX_DATA_LENGTH(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_INDEX_LENGTH(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_DATA_FREE(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_AUTO_INCREMENT(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_UPDATE_TIME(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_CHECK_TIME(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_CHECKSUM(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_DD_CHAR_LENGTH(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_INDEX_COLUMN_CARDINALITY(NULL, NULL, NULL, NULL, NULL, NULL, NULL)" +"SELECT GET_DD_INDEX_SUB_PART_LENGTH(NULL, NULL, NULL, NULL, NULL)" +"SELECT GET_DD_COLUMN_PRIVILEGES(NULL, NULL, NULL)" +"SELECT INTERNAL_GET_VIEW_WARNING_OR_ERROR(NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_GET_COMMENT_OR_ERROR(NULL, NULL, NULL, NULL, NULL)" +"SELECT INTERNAL_KEYS_DISABLED(NULL)" +"SELECT CAN_ACCESS_DATABASE(NULL)" +"SELECT CAN_ACCESS_TABLE(NULL, NULL)" +"SELECT CAN_ACCESS_VIEW(NULL, NULL, NULL, NULL)" +"SELECT CAN_ACCESS_COLUMN(NULL, NULL, NULL)" +"SELECT GET_DD_CREATE_OPTIONS(NULL, NULL)" +"SELECT CAN_ACCESS_TRIGGER(NULL, NULL)" +"SELECT CAN_ACCESS_ROUTINE(NULL, NULL, NULL, NULL, NULL)" +"SELECT CAN_ACCESS_EVENT(NULL)" +"CREATE TABLE t3 AS SELECT CAN_ACCESS_TABLE(""test"", ""t1"")" +"CREATE VIEW v2 AS SELECT CAN_ACCESS_TABLE(""test"", ""t1"")" +"SELECT * FROM t1 WHERE CAN_ACCESS_TABLE(""test"", ""t1"") = 1" +"SELECT * FROM INFORMARTION_SCHEMA.TABLES WHERE CAN_ACCESS_TABLE(""test"", ""t1"") = 1" +"SELECT CAN_ACCESS_TABLE(""test"", ""t1"") AS f1, COLUMN_NAME AS F2 FROM INFORMATION_SCHEMA.COLUMNS" +"PREPARE stmt FROM 'SELECT CAN_ACCESS_TABLE(""test"", ""t1"") AS f1, COLUMN_NAME AS F2 FROM INFORMATION_SCHEMA.COLUMNS'" +"SELECT CAN_ACCESS_USER(NULL, NULL)" "SELECT * FROM INFORMATION_SCHEMA.TABLES where table_name='t1'" "SELECT t.table_schema, t.table_name, c.column_name FROM INFORMATION_SCHEMA.TABLES t, @@ -44697,6 +49402,38 @@ mls MULTILINESTRING, mpy MULTIPOLYGON, gc GEOMETRYCOLLECTION)" "SELECT * FROM information_schema.ST_GEOMETRY_COLUMNS WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1' ORDER BY COLUMN_NAME" +"DESCRIBE `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaa`" +"EXPLAIN `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaa`" +"SHOW KEYS FROM `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaa`" +"SHOW COLUMNS FROM `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaa`" +"DESCRIBE `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaa`.`t1`" +"EXPLAIN `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaa`.`t1`" +"SHOW KEYS FROM `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaa`.`t1`" +"SHOW COLUMNS FROM `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaa`.`t1`" "CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)) ENGINE = InnoDB charset utf8mb4" "SELECT * FROM INFORMATION_SCHEMA.`REFERENTIAL_CONSTRAINTS`" @@ -44706,6 +49443,7 @@ ENGINE = InnoDB charset utf8mb4" "SET SESSION optimizer_switch='derived_merge=off'" "SET SESSION optimizer_switch=DEFAULT" "SELECT * FROM INFORMATION_SCHEMA.CHARACTER_SETS WHERE DESCRIPTION LIKE '%japanese%'" +"SELECT * FROM INFORMATION_SCHEMA.SHOW_STATISTICS" "CREATE TABLE t1 (a CHAR(40) NOT NULL, UNIQUE idx1(a(2))) COMMENT=""testing a fix"" MAX_ROWS=10" "SELECT create_options, UPPER(create_options), @@ -44925,6 +49663,8 @@ WHERE table_schema= 'test' AND table_name= 'v1'" "DESCRIBE INFORMATION_SCHEMA.PARAMETERS" "CREATE DATABASE i_s_parameters_test" "USE i_s_parameters_test" +"CREATE FUNCTION test_func1 (s char(20) RETURNS CHAR(50) +RETURN CONCAT('Hello', ,s,'!')",,syntax_error "SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_SCHEMA = 'i_s_parameters_test' AND SPECIFIC_NAME = 'test_func1'" "DROP DATABASE IF EXISTS i_s_parameters_test" @@ -45124,6 +49864,8 @@ INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='i_s_routines_test'" "SHOW FUNCTION STATUS" "SET sql_mode = @old_sql_mode" "CREATE TEMPORARY TABLE t1 (f1 int, f2 int primary key, UNIQUE KEY (f1))" +"SELECT * FROM information_schema.tmp_tables_columns" +"SELECT * FROM information_schema.tmp_tables_keys" "SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE FROM information_schema.tables WHERE table_name='t1'" "PREPARE st2 FROM @@ -45209,7 +49951,6 @@ TABLESPACE_NAME = 'test/t2'" "INSERT INTO t3 (f1, f2) SELECT f1, f2 FROM t1" "DELETE FROM t1 WHERE f1=1" "DELETE FROM t2 WHERE f1=1" -"SELECT COUNT(*) FROM t3" "SELECT table_rows, avg_row_length, data_length, max_data_length, index_length, data_free, auto_increment, checksum, update_time, check_time FROM information_schema.tables WHERE table_name in ('t1', 't2')" @@ -45238,7 +49979,6 @@ MAX_DATA_LENGTH, INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT from information_schema.tables WHERE table_name='t2'" "SELECT table_name, table_rows, avg_row_length, data_length, max_data_length, index_length, data_free, auto_increment from mysql.table_stats where table_name='t2'" -"INSERT INTO t3 VALUES(1)" "SELECT TABLE_NAME, ENGINE, ROW_FORMAT, TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH, MAX_DATA_LENGTH, INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT from information_schema.tables WHERE table_name='t3'" @@ -45406,6 +50146,7 @@ end " "CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB" "INSERT INTO t1 VALUES (1, 12345)" "SET lock_wait_timeout=1" +"ALTER TABLE t1 ADD INDEX idx(value)" "CREATE TABLE t1(a INT, b VARCHAR(250), PRIMARY KEY(a,b)) engine=innodb default charset=utf8mb3" "INSERT INTO t1 VALUES (1, 'a'), (2, 'b')" @@ -45571,6 +50312,7 @@ end" "drop function f15" "create table t1 (i int auto_increment not null primary key) engine=innodb" "insert into t2 select count(*) from t1" +"insert into t1 values (6)" "create table t1 (i int auto_increment not null primary key) engine=innodb partition by hash (i) partitions 4" "CREATE TABLE t1 (id INT) engine=innodb" @@ -45597,6 +50339,7 @@ partition by hash (i) partitions 4" "CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb" "INSERT INTO t1 VALUES (1, 12345), (2, 23456)" "SET SESSION debug= ""+d,alter_table_rollback_new_index""" +"ALTER TABLE t1 ADD PRIMARY KEY(a)" "CREATE TABLE t1(a int) engine=InnoDB" "SET DEBUG_SYNC= 'after_innobase_rename_table SIGNAL locked WAIT_FOR continue'" "SET DEBUG_SYNC= 'now SIGNAL continue'" @@ -45607,14 +50350,18 @@ partition by hash (i) partitions 4" "SET DEBUG_SYNC= 'alter_table_before_main_binlog SIGNAL binlog WAIT_FOR continue4'" "SET DEBUG_SYNC= 'now SIGNAL continue1'" "SET DEBUG_SYNC= 'now WAIT_FOR upgraded'" +"INSERT INTO t1 VALUES (4,4)" "SET DEBUG_SYNC= 'now SIGNAL continue2'" "SET DEBUG_SYNC= 'now WAIT_FOR beforecommit'" +"INSERT INTO t1 VALUES (5,5)" "SET DEBUG_SYNC= 'now SIGNAL continue3'" "SET DEBUG_SYNC= 'now WAIT_FOR binlog'" +"INSERT INTO t1 VALUES (6,6)" "SET DEBUG_SYNC= 'now SIGNAL continue4'" "DELETE FROM t1 WHERE a= 3" "SET DEBUG_SYNC= 'alter_table_copy_after_lock_upgrade SIGNAL upgraded WAIT_FOR continue2'" "SET DEBUG_SYNC= 'alter_table_before_main_binlog SIGNAL binlog WAIT_FOR continue3'" +"SELECT * FROM t1 limit 1" "SET DEBUG_SYNC= 'alter_table_inplace_after_lock_downgrade SIGNAL downgraded WAIT_FOR continue'" "CREATE TABLE t1(fld1 INT, fld2 INT, fld3 INT) ENGINE= INNODB" "INSERT INTO t1 VALUES (155, 45, 55)" @@ -45680,6 +50427,8 @@ ENGINE=InnoDB" "ALTER TABLE t1 MODIFY fld1 VARCHAR(7), ALGORITHM= INPLACE" "ALTER TABLE t1 MODIFY fld1 VARCHAR(9), ALGORITHM= INPLACE" "SET DEBUG=""-d,innodb_index_drop_count_zero""" +"ALTER TABLE t1 MODIFY fld1 VARCHAR(3), ALGORITHM= INPLACE" +"ALTER TABLE t1 MODIFY fld1 VARCHAR(256), ALGORITHM= INPLACE" "set optimizer_switch= ""use_index_extensions=off""" "set optimizer_switch= ""use_index_extensions=on""" "create database MYDB" @@ -45698,6 +50447,8 @@ ENGINE=InnoDB" "SELECT * FROM FOO" "SELECT * FROM mytable_ref" "DELETE FROM mytable WHERE id =10" +"CREATE TABLE MYtable (id int) ENGINE=innodb" +"CREATE TABLE Foo (id int) ENGINE=innodb" "DROP TABLE mytable_ref,FOO" "DROP TABLE mytable" "DROP DATABASE MYDB" @@ -45801,6 +50552,8 @@ INSERT INTO t1 SELECT id+1 FROM t1" "set @value= ""aa1""" "set @value= ""1e+1111111111a""" "set @value= ""-1e+1111111111a""" +"set @value= 1e+1111111111" +"set @value= -1e+1111111111" "set @value= 1e+111" "set @value= -1e+111" "set @value= 1" @@ -45809,10 +50562,24 @@ INSERT INTO t1 SELECT id+1 FROM t1" "create table t2(id2 int not null, t char(12))" "create table t3(id3 int not null, t char(12), index(id3))" "insert into t2 select t1.* from t1, t2 t, t3 where t1.id1 = t.id2 and t.id2 = t3.id3" +"INSERT INTO t1 VALUES(1, 1), (2)" +"INSERT INTO t1 VALUES(1, 1), (3, 3, 3)" +"INSERT INTO t1(a, b) VALUES(1)" +"INSERT INTO t1(a, b) VALUES(1, 1, 1)" +"INSERT INTO t1(a, b) VALUES(1, 1), (2)" +"INSERT INTO t1(a, b) VALUES(1, 1), (3, 3, 3)" "insert into t1 (a,b) values (a,b)" "insert into t1 SET a=1, b=a+1" "insert into t1 (a,b) select 1,2" "INSERT INTO t1 ( a ) SELECT 0 ON DUPLICATE KEY UPDATE a = a + VALUES (a)" +"prepare stmt1 from ' replace into t1 (a,a) select 100, ''hundred'' '" +"insert into t1 (a,b) values (1,1,1)" +"insert into t1 (a,b,b) values (1,1,1)" +"insert into t1 (a,a) values (1,1,1)" +"insert into t1 (a,a) values (1,1)" +"insert into t1 SET a=1,b=2,a=1" +"insert into t1 (b,b) select 1,2" +"INSERT INTO t1 (b,b) SELECT 0,0 ON DUPLICATE KEY UPDATE a = a + VALUES (a)" "create table t1 (id int primary key, data int)" "insert into t1 values (1, 1), (2, 2), (3, 3)" "select row_count()" @@ -45826,6 +50593,8 @@ INSERT INTO t1 SELECT id+1 FROM t1" "create view v1 as select * from t1, t2 where f1= f3" "insert into t1 values (1,11), (2,22)" "insert into t2 values (1,12), (2,24)" +"insert into v1 (f1) values (3) on duplicate key update f3= f3 + 10" +"insert into v1 (f1) values (3) on duplicate key update f1= f3 + 10" "CREATE TABLE t1 ( a char(20) NOT NULL, b char(7) DEFAULT NULL, @@ -45872,6 +50641,10 @@ c char(5) "INSERT INTO t2 SELECT f1 FROM t1" "create table t1 (data varchar(4) not null)" "execute stmt" +"INSERT INTO t1 (a, a) VALUES (1, 1)" +"INSERT IGNORE t1 (a, a) VALUES (1, 1)" +"INSERT IGNORE t1 (a, a) SELECT 1,1" +"INSERT IGNORE t1 (a, a) SELECT 1,1 UNION SELECT 2,2" "INSERT DELAYED INTO t1 VALUES ( 1 )" "REPLACE DELAYED INTO t1 VALUES ( 1 )" "SET GLOBAL delayed_insert_limit = DEFAULT" @@ -45879,21 +50652,21 @@ c char(5) "SET GLOBAL delayed_queue_size = DEFAULT" "SET GLOBAL max_insert_delayed_threads = DEFAULT" "SET GLOBAL max_delayed_threads = DEFAULT" +"INSERT INTO t1(a) values()" "CREATE TABLE default_date(a DATE NOT NULL DEFAULT '0000-00-00')" "INSERT INTO default_date VALUES()" "INSERT INTO default_date VALUES(DEFAULT)" +"INSERT INTO default_date VALUES('0000-00-00')" "SELECT * FROM default_date" "DROP TABLE default_date" "CREATE TABLE t (a INT PRIMARY KEY)" "INSERT IGNORE INTO t VALUES (1)" "INSERT IGNORE INTO t VALUES (1),(1)" -"CREATE TABLE t1(pk INTEGER PRIMARY KEY, a INTEGER)" "CREATE TABLE t2(pk INTEGER PRIMARY KEY, a INTEGER)" "CREATE TABLE t3(a INTEGER)" "CREATE TABLE t4(b INTEGER)" "INSERT INTO t2 VALUES(1, 10), (2, 20), (3, 30), (4, 40)" "INSERT INTO t3 VALUES(1), (3)" -"INSERT INTO t4 VALUES(1)" "CREATE VIEW v1 AS SELECT * FROM t1 WHERE pk IN (SELECT a FROM t3)" "CREATE VIEW v2 AS @@ -45907,7 +50680,6 @@ SELECT t1.pk,t1.a FROM t1 JOIN t4 ON pk IN (SELECT a FROM t3)" "INSERT INTO v(a2,b2) VALUES (21, 0) ON DUPLICATE KEY UPDATE b2=b2+1" "INSERT INTO v(a1,b1) SELECT 11, 0 ON DUPLICATE KEY UPDATE b1=b1+1" "INSERT INTO v(a2,b2) SELECT 21, 0 ON DUPLICATE KEY UPDATE b2=b2+1" -"CREATE VIEW v1 AS SELECT a FROM t1 ORDER BY a" "INSERT INTO v1 SELECT 3" "REPLACE INTO v1 SELECT 3" "INSERT INTO v1 VALUES(3)" @@ -45934,9 +50706,15 @@ ENGINE=INNODB" "UPDATE IGNORE t1 SET fld1=20 WHERE fld1=0" "UPDATE IGNORE t1, t2 SET t2.fld2= t2.fld2 + 3" "UPDATE IGNORE t1, t2 SET t1.fld1= t1.fld1 + 3" +"UPDATE t2 SET fld2=20 WHERE fld2=0" +"UPDATE t1 SET fld1=20 WHERE fld1=0" +"UPDATE t1, t2 SET t2.fld2= t2.fld2 + 3" +"UPDATE t1, t2 SET t1.fld1= t1.fld1 + 3" "CREATE TABLE t1 (fld1 INT PRIMARY KEY) ENGINE= INNODB" "CREATE TABLE t2 (fld1 VARCHAR(10), fld2 INT NOT NULL, CONSTRAINT fk FOREIGN KEY (fld2) REFERENCES t1(fld1)) ENGINE= INNODB" +"INSERT INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def'" +"REPLACE INTO t2 VALUES('abc', 2)" "INSERT IGNORE INTO t2 VALUES('abc', 2) ON DUPLICATE KEY UPDATE fld1= 'def'" "CREATE DATABASE meow" "CREATE TABLE table_target ( mexs_id CHAR(8), messzeit TIMESTAMP, PRIMARY KEY (mexs_id))" @@ -45959,9 +50737,6 @@ CONSTRAINT fk FOREIGN KEY (fld2) REFERENCES t1(fld1)) ENGINE= INNODB" "GRANT SELECT ON table_target TO user20989@localhost" "GRANT SELECT ON table_target2 TO user20989@localhost" "GRANT INSERT,DELETE,SELECT ON view_target3 TO user20989@localhost" -"GRANT INSERT,DELETE ON table_target TO user20989@localhost" -"GRANT INSERT,DELETE,SELECT ON view_target2 TO user20989@localhost" -"GRANT INSERT,DELETE,SELECT ON table_target3 TO user20989@localhost" "REPLACE INTO table_target SELECT stations.mexs_id AS mexs_id, datetime AS messzeit FROM table_source @@ -45969,13 +50744,6 @@ INNER JOIN view_stations AS stations ON table_source.id = stations.icao LEFT JOIN table_target AS old USING (mexs_id)" -"REPLACE INTO view_target2 VALUES ('12X45Y78','2006-07-12 07:50:00')" -"SELECT stations.mexs_id AS mexs_id, datetime AS messzeit -FROM table_source -INNER JOIN view_stations AS stations -ON table_source.id = stations.icao -LEFT JOIN view_target2 AS old -USING (mexs_id)" "REPLACE INTO view_target2 SELECT stations.mexs_id AS mexs_id, datetime AS messzeit FROM table_source @@ -45990,6 +50758,17 @@ INNER JOIN view_stations AS stations ON table_source.id = stations.icao LEFT JOIN view_target3 AS old USING (mexs_id)" +"GRANT INSERT,DELETE ON table_target TO user20989@localhost" +"GRANT INSERT,DELETE,SELECT ON view_target2 TO user20989@localhost" +"GRANT INSERT,DELETE,SELECT ON table_target3 TO user20989@localhost" +"REPLACE INTO table_target2 VALUES ('00X45Y78','2006-07-12 07:50:00')" +"REPLACE INTO view_target2 VALUES ('12X45Y78','2006-07-12 07:50:00')" +"SELECT stations.mexs_id AS mexs_id, datetime AS messzeit +FROM table_source +INNER JOIN view_stations AS stations +ON table_source.id = stations.icao +LEFT JOIN view_target2 AS old +USING (mexs_id)" "SELECT * FROM table_target" "SELECT * FROM view_target2" "SELECT * FROM view_target3" @@ -46004,10 +50783,16 @@ USING (mexs_id)" "DROP VIEW view_target3" "DROP USER user20989@localhost" "DROP DATABASE meow" +"INSERT INTO t1(a, a) VALUES (1, 1)" +"INSERT INTO t1(a, a, b, b) VALUES (1, 1, 2, 2)" +"INSERT INTO t1(a, a, a, a) VALUES (1, 1, 1, 1)" "CREATE TABLE t1(a INT, b INT GENERATED ALWAYS AS (-a) VIRTUAL, c INT GENERATED ALWAYS AS (-a) STORED)" "INSERT INTO t1(a) VALUES (1)" +"INSERT INTO t1(a,a) VALUES (1,1)" +"INSERT INTO t1(a, a, b, c) VALUES (1, 1, DEFAULT, DEFAULT)" +"INSERT INTO t1(b, b) VALUES (DEFAULT, DEFAULT)" "CREATE TABLE t1 ( f1 INTEGER, INDEX ( f1 ) )" "INSERT INTO t2 SELECT STRAIGHT_JOIN * @@ -46086,6 +50871,8 @@ ad INTEGER "INSERT INTO t1 VALUES() AS f2 ON DUPLICATE KEY UPDATE f1=1" "INSERT INTO v1 VALUES() AS f2 ON DUPLICATE KEY UPDATE f1=1" "CREATE TABLE t1 (f1 INTEGER, b INTEGER AS ((1)) INVISIBLE, KEY k1(b))" +"INSERT INTO t1 (t1.*) VALUES (0, 1)",,syntax_error +"INSERT INTO t1 (*) VALUES (0, 1)",,syntax_error "CREATE TABLE t1(c1 VARCHAR(10) NOT NULL, c2 VARCHAR(10) NOT NULL, c3 VARCHAR(10) NOT NULL)" "INSERT INTO t1(c1, c2, c3) VALUES('A1','B1','IT1'), ('A2','B2','IT1'), ('A3','B3','IT1'), ('A4','B4','IT1'), ('A5','B5','IT1'), ('A6','B6','IT1'), ('A7','B7','IT1')" "CREATE TABLE t2(c1 VARCHAR(10) NOT NULL, c2 VARCHAR(10) NOT NULL, c3 VARCHAR(10) NOT NULL)" @@ -46110,6 +50897,7 @@ c3 VARCHAR(10), update_count INT DEFAULT 0, UNIQUE KEY uniq_idx (c1,c2), PRIMARY "create table t1 (bandID MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, payoutID SMALLINT UNSIGNED NOT NULL)" "create table t2 (payoutID SMALLINT UNSIGNED NOT NULL PRIMARY KEY)" "insert into t2 (payoutID) SELECT DISTINCT payoutID FROM t1" +"insert into t2 (payoutID) SELECT payoutID+10 FROM t1" "insert ignore into t2 (payoutID) SELECT payoutID+10 FROM t1" "create table t2 (a int not null)" "insert into t1 values (a+3)" @@ -46117,6 +50905,7 @@ c3 VARCHAR(10), update_count INT DEFAULT 0, UNIQUE KEY uniq_idx (c1,c2), PRIMARY "insert into t1 select * from t1 as t2" "insert into t2 select * from t1 as t2" "insert into t1 select t2.a from t1,t2" +"insert into t1 select * from t1,t1" "create table t1 (a int not null primary key, b char(10))" "create table t2 (a int not null, b char(10))" "insert into t1 values (1,""t1:1""),(3,""t1:3"")" @@ -46136,10 +50925,15 @@ c3 VARCHAR(10), update_count INT DEFAULT 0, UNIQUE KEY uniq_idx (c1,c2), PRIMARY "insert into t1 select a+1 from t2 on duplicate key update t1.a= t1.a + t2.b+1" "insert into t1 select t3.c from t3 on duplicate key update a= a + t3.d" "insert into t1 select t2.a from t2 group by t2.a on duplicate key update a= a + 10" +"insert into t1 select t2.a from t2 on duplicate key update a= a + t2.b" +"insert into t1 select t2.a from t2 on duplicate key update t2.a= a + t2.b" +"insert into t1 select t2.a from t2 group by t2.a on duplicate key update a= t1.a + t2.b" "insert into t1(f1) select if(max(f1) is null, '2000',max(f1)+1) from t1" "create table t1(x int, y int)" "create table t2(x int, z int)" "insert into t1(x,y) select x,z from t2 on duplicate key update x=values(x)" +"insert into t1(x,y) select x,z from t2 on duplicate key update x=values(z)" +"insert into t1(x,y) select x,z from t2 on duplicate key update x=values(t2.x)" "INSERT INTO t1 SELECT a + 2 FROM t1 LIMIT 1" "CREATE TABLE t1 ( f1 int(10) unsigned NOT NULL auto_increment PRIMARY KEY, @@ -46178,6 +50972,7 @@ SELECT f1, f1 FROM t2 src WHERE f1 < 2 ON DUPLICATE KEY UPDATE f1 = 100 + src.f1" "CREATE TABLE t1 ( a INT KEY, b INT )" "INSERT INTO t1 VALUES ( 0, 1 )" +"INSERT INTO t1 ( b ) SELECT MAX( b ) FROM t1 WHERE b = 2" "CREATE TABLE t1 (c VARCHAR(30), INDEX ix_c (c(10))) charset utf8mb4" "CREATE TABLE t2 (d VARCHAR(10))" "INSERT INTO t1 (c) VALUES ('7_chars'), ('13_characters')" @@ -46298,6 +51093,7 @@ KEY t1$NO (SEQ,NO) "INSERT t1 VALUES (5,7,40) ON DUPLICATE KEY UPDATE c=c+100" "INSERT t1 VALUES (8,4,50) ON DUPLICATE KEY UPDATE c=c+1000" "INSERT t1 VALUES (1,4,60) ON DUPLICATE KEY UPDATE c=c+10000" +"INSERT t1 VALUES (1,9,70) ON DUPLICATE KEY UPDATE c=c+100000, b=4" "INSERT t1 VALUES (5,6,30), (7,4,40), (8,9,60) ON DUPLICATE KEY UPDATE c=c+100" "INSERT t1 SET a=5 ON DUPLICATE KEY UPDATE b=0" "INSERT t1 VALUES (2,1,11), (7,4,40) ON DUPLICATE KEY UPDATE c=c+VALUES(a)" @@ -46313,9 +51109,11 @@ on duplicate key update b=b+10" "INSERT t1 SELECT 5,7,40 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100" "INSERT t1 SELECT 8,4,50 FROM DUAL ON DUPLICATE KEY UPDATE c=c+1000" "INSERT t1 SELECT 1,4,60 FROM DUAL ON DUPLICATE KEY UPDATE c=c+10000" +"INSERT t1 SELECT 1,9,70 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100000, b=4" "INSERT t2 VALUES (5,6,30,1), (7,4,40,1), (8,9,60,1)" "INSERT t2 VALUES (2,1,11,2), (7,4,40,2)" "INSERT t1 SELECT a,b,c FROM t2 WHERE d=1 ON DUPLICATE KEY UPDATE c=t1.c+100" +"INSERT t1 SELECT a,b,c FROM t2 WHERE d=2 ON DUPLICATE KEY UPDATE c=c+VALUES(a)" "INSERT t1 SELECT a,b,c FROM t2 WHERE d=2 ON DUPLICATE KEY UPDATE c=t1.c+VALUES(t1.a)" "CREATE TABLE t1 ( @@ -46328,12 +51126,16 @@ IF(VALUES(b) > t1.b, VALUES(b), t1.b)" "INSERT INTO t1 VALUES (45, 2) ON DUPLICATE KEY UPDATE b = IF(VALUES(b) > t1.b, VALUES(b), t1.b)" "CREATE TABLE t1 (i INT PRIMARY KEY, j INT)" +"INSERT INTO t1 SELECT 1, j" "CREATE TABLE t3 (a INT, c INT)" "INSERT INTO t1 SELECT 1, a FROM t2 NATURAL JOIN t3 ON DUPLICATE KEY UPDATE j= a" "INSERT INTO t2 VALUES (1), (3)" +"INSERT INTO t1 SELECT 1, COUNT(*) FROM t2 ON DUPLICATE KEY UPDATE j= a" "SET SQL_MODE = 'TRADITIONAL'" "CREATE TABLE t1 (a INT PRIMARY KEY, b INT NOT NULL)" +"INSERT INTO t1 (a) VALUES (1) ON DUPLICATE KEY UPDATE a = b" +"INSERT INTO t1 (a) VALUES (1) ON DUPLICATE KEY UPDATE b = b" "CREATE TABLE t1 (f1 INT AUTO_INCREMENT PRIMARY KEY, f2 VARCHAR(5) NOT NULL UNIQUE)" "INSERT t1 (f2) VALUES ('test') ON DUPLICATE KEY UPDATE f1 = LAST_INSERT_ID(f1)" @@ -46363,6 +51165,8 @@ cnt INT DEFAULT 1 "INSERT INTO t1 (id,c1) VALUES (1,10)" "CREATE TABLE t2 (id INT, c1 INT)" "INSERT INTO t2 VALUES (1,NULL), (2,2)" +"INSERT INTO t1 (id,c1) SELECT 1,NULL +ON DUPLICATE KEY UPDATE c1=NULL" "INSERT IGNORE INTO t1 (id,c1) SELECT 1,NULL ON DUPLICATE KEY UPDATE c1=NULL, cnt=cnt+1" "INSERT IGNORE INTO t1 (id,c1) SELECT * FROM t2 @@ -46390,25 +51194,25 @@ b VARCHAR(20) CHARACTER SET ascii COLLATE ascii_bin, c TEXT(20) CHARACTER SET ascii COLLATE ascii_bin )" "SET SQL_MODE=""STRICT_TRANS_TABLES""" -"INSERT INTO t1 values(x'6162', x'6162', x'6162')" -"INSERT INTO t2 values(x'6162', x'6162', x'6162')" -"INSERT INTO t3 values(x'6162', x'6162', x'6162')" -"SET SQL_MODE=""""" "INSERT INTO t1 values(x'8142', x'8142', x'8142')" +"INSERT INTO t1 values(x'6162', x'6162', x'6162')" "UPDATE t1 SET a=x'8243' where a=x'6162'" "INSERT INTO t2 values(x'8142', x'8142', x'8142')" +"INSERT INTO t2 values(x'6162', x'6162', x'6162')" "UPDATE t2 SET a=x'8243' where a=x'6162'" "INSERT INTO t3 values(x'8142', x'8142', x'8142')" +"INSERT INTO t3 values(x'6162', x'6162', x'6162')" "UPDATE t3 SET a=x'8243' where a=x'6162'" +"SET SQL_MODE=""""" "CREATE VIEW v3 AS SELECT * FROM t3" -"INSERT INTO v1 values(x'6162', x'6162', x'6162')" -"INSERT INTO v2 values(x'6162', x'6162', x'6162')" -"INSERT INTO v3 values(x'6162', x'6162', x'6162')" "INSERT INTO v1 values(x'8142', x'8142', x'8142')" +"INSERT INTO v1 values(x'6162', x'6162', x'6162')" "UPDATE v1 SET a=x'8243' where a=x'6162'" "INSERT INTO v2 values(x'8142', x'8142', x'8142')" +"INSERT INTO v2 values(x'6162', x'6162', x'6162')" "UPDATE v2 SET a=x'8243' where a=x'6162'" "INSERT INTO v3 values(x'8142', x'8142', x'8142')" +"INSERT INTO v3 values(x'6162', x'6162', x'6162')" "UPDATE v3 SET a=x'8243' where a=x'6162'" "CREATE TABLE t_latin1( a CHAR(20) CHARACTER SET latin1, @@ -46473,9 +51277,18 @@ ON DUPLICATE KEY UPDATE k= a + 10" SELECT a FROM (SELECT DISTINCT a FROM t1) AS dt ON DUPLICATE KEY UPDATE k= a + 10" "INSERT INTO t0 +SELECT a FROM t1 GROUP BY a +ON DUPLICATE KEY UPDATE k= a + 10" +"INSERT INTO t0 +SELECT SUM(a) FROM t1 +ON DUPLICATE KEY UPDATE k= a + 10" +"INSERT INTO t0 SELECT a FROM (SELECT a FROM t1 GROUP BY a) AS dt ON DUPLICATE KEY UPDATE k= a + 10" "INSERT INTO t0 +SELECT a FROM t1 UNION SELECT a FROM t2 +ON DUPLICATE KEY UPDATE k= a + 10" +"INSERT INTO t0 SELECT a FROM (SELECT a, COUNT(*) AS c FROM t1 GROUP BY a UNION @@ -46515,6 +51328,12 @@ ON DUPLICATE KEY UPDATE t1.col = source.col" ON DUPLICATE KEY UPDATE b= t0.b + n.b" "INSERT INTO t0 VALUES (1, 5), (2, 7) AS n ON DUPLICATE KEY UPDATE b= t0.b + n.b" +"INSERT INTO t0 VALUES (1, 5), (2, 7) AS t0 +ON DUPLICATE KEY UPDATE b= t0.a" +"INSERT INTO t0 VALUES (1, 5), (2, 7) AS n(a, a) +ON DUPLICATE KEY UPDATE b= t0.a" +"INSERT INTO t0 VALUES (1, 5), (2, 7) AS n(a) +ON DUPLICATE KEY UPDATE b= t0.a" "INSERT INTO t1 VALUES (1, 50), (2, 100)" "INSERT INTO t0 VALUES (1, 10), (2, 20) AS n ON DUPLICATE KEY UPDATE b= (SELECT y FROM t1 WHERE x = n.a)" @@ -46544,6 +51363,8 @@ ON DUPLICATE KEY UPDATE b= IF(n.b > t1.b, n.b, t1.b)" "INSERT INTO v VALUES(3) AS n ON DUPLICATE KEY UPDATE b= n.b" "INSERT INTO t1 VALUES(1, 10) as n" +"INSERT INTO t1 VALUES(n.a, 10) as n +ON DUPLICATE KEY UPDATE b= n.b" "DROP TABLE n" "CREATE TABLE n(x INT, y INT)" "INSERT INTO t0 VALUES(1, 10)" @@ -46603,6 +51424,8 @@ ON DUPLICATE KEY UPDATE vc= 199" "insert ignore into t1 select 1 on duplicate key update a=2" "insert ignore into t1 select a from t1 as t2 on duplicate key update a=t1.a+1 " "insert into t1 select 1 on duplicate key update a=2" +"insert into t1 select a from t1 on duplicate key update a=a+1 " +"insert ignore into t1 select a from t1 on duplicate key update a=t1.a+1 " "CREATE TABLE t1 ( a BIGINT(20) NOT NULL DEFAULT 0, PRIMARY KEY (a) @@ -46634,7 +51457,9 @@ ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)" "set @old_optimizer_switch= @@optimizer_switch" "explain format=tree select SQL_BUFFER_RESULT * from t1" "select SQL_BUFFER_RESULT * from t1 order by 1, 2" +"explain format=tree select * from t1 left join t2 on t1.b = t2.b order by t1.a" "select * from t1 left join t2 on t1.b = t2.b order by t1.a" +"drop function if exists func1" "create function func1(x int) returns int deterministic begin @@ -46646,6 +51471,7 @@ end" "explain format=tree select * from t1 order by func1(a)" "select * from t1 order by func1(a)" "drop function func1" +"create index indx1 on t1(b)" "explain format=tree SELECt a FROM t1 group by b order by sum(a)" "SELECt a FROM t1 group by b order by sum(a)" "drop index indx1 on t1" @@ -46659,6 +51485,7 @@ end" "select t1.* from t1 inner join t2 where t1.a = t2.a group by t1.a order by 1, 2" "explain format=tree select distinct t1.a from t1, t2 where t1.b = t2.b" "select distinct t1.a from t1, t2 where t1.b = t2.b order by 1" +"explain format=tree select distinct a from t1 group by b,a" "select distinct a from t1 group by b,a order by 1" "set @old_big_tables=@@big_tables" "INSERT INTO t3 VALUES (1, '1'), (1, '1'), (2, '2'), (3, '1'), (3, '1'), (4, '4')" @@ -46675,6 +51502,7 @@ end" "select distinct t3.a,e from t3, t1 order by t3.b" "explain format=tree select * from t1 union all select * from t2" "select * from t1 union all select * from t2" +"explain format=tree select * from t1 union select * from t2 order by 1, 2" "select * from t1 union select * from t2 order by 1, 2" "explain format=tree select tt.* from (select * from t1) as tt" "select tt.* from (select * from t1) as tt order by 1, 2" @@ -47667,17 +52495,39 @@ c2 CHAR(5) DEFAULT 'xxxxx')" "SET @@global.log_error_verbosity = 1" "RENAME TABLE t1 TO t1_new" "RENAME TABLE t1_new TO t1" +"ALTER TABLE t1 ADD COLUMN (j INTEGER)" "CREATE TABLE t1 (a CHAR(1)) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci" "CREATE TABLE t2 (a CHAR(1)) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci" "CREATE FUNCTION f1 (a CHAR(1)) RETURNS CHAR(1) CHARSET utf8mb4 RETURN a" "CREATE VIEW v1 AS SELECT f1(a) AS a FROM t1" "CREATE VIEW v2 AS SELECT 1 FROM v1 JOIN t2 WHERE v1.a = t2.a" "SET @@session.default_collation_for_utf8mb4 = utf8mb4_general_ci" +"CREATE TABLE t1 (a int) COMMENT 'tab🐬'" +"CREATE TABLE t2 (a int COMMENT 'col🐬')" +"CREATE TABLE t3 (a int, INDEX idx1(a) COMMENT 'idx🐬')" +"CREATE TABLE t4 (a int) PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (0) COMMENT 'part🐬')" +"CREATE TABLE t5 (a int) PARTITION BY RANGE (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 1 (PARTITION p1 VALUES LESS THAN (0)(SUBPARTITION sp1 COMMENT 'subpart🐬'))" +"CREATE VIEW v1 AS SELECT 'view🐬'" +"CREATE PROCEDURE sp1() COMMENT 'proc🐬' BEGIN END" +"CREATE FUNCTION sf1() RETURNS INT DETERMINISTIC COMMENT 'func🐬' RETURN 0" +"CREATE EVENT evt1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR COMMENT 'evt🐬' DO SELECT 0" +"ALTER TABLE t1 COMMENT 'tab🐬'" +"ALTER TABLE t1 MODIFY a int COMMENT 'col🐬'" +"ALTER TABLE t1 ADD b int COMMENT 'col🐬'" +"ALTER TABLE t1 ADD INDEX idx1(a) COMMENT 'idx🐬'" +"ALTER TABLE t1 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (0) COMMENT 'part🐬')" +"ALTER TABLE t1 PARTITION BY RANGE (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 1 (PARTITION p1 VALUES LESS THAN (0)(SUBPARTITION sp1 COMMENT 'subpart🐬'))" "CREATE VIEW v1 AS SELECT 0" -"CREATE PROCEDURE sp1() BEGIN END" +"ALTER VIEW v1 AS SELECT 'view🐬'" +"ALTER PROCEDURE sp1 COMMENT 'proc🐬'" "CREATE FUNCTION sf1() RETURNS INT DETERMINISTIC RETURN 0" +"ALTER FUNCTION sf1 COMMENT 'func🐬'" "CREATE EVENT evt1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT 0" +"ALTER EVENT evt1 COMMENT 'evt🐬'" "DROP EVENT evt1" +"CREATE TABLESPACE ts1 ADD DATAFILE 'df1.ibd' COMMENT 'ts🐬'" +"CREATE PROCEDURE p1() BEGIN /* 'SP body comment: 🐬' */ END" +"CREATE FUNCTION f1() RETURNS INT DETERMINISTIC RETURN /* 'SF body comment: 🐬' */ 0" "CREATE TABLE t1 ( tx TEXT CHARACTER SET utf8mb3 NULL, pk INTEGER AUTO_INCREMENT, @@ -47698,17 +52548,18 @@ NULL "SELECT tx FROM t1 ORDER BY tx DESC" "SET SESSION DEFAULT_STORAGE_ENGINE= InnoDB" "CREATE TABLE t1(f1 INT INVISIBLE, f2 INT)" -"SHOW COLUMNS FROM t2" "CREATE TABLE t1 (f1 INT, f2 INT PRIMARY KEY INVISIBLE)" "CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT, CONSTRAINT FOREIGN KEY (f1) REFERENCES t1(f2))" "INSERT INTO t1(f1, f2) VALUES(1, 1)" "INSERT INTO t2 VALUES (1, 2)" +"INSERT INTO t2 VALUES (2, 3)" "CREATE TABLE t2 (f1 INT, f2 INT, CONSTRAINT FOREIGN KEY (f1) REFERENCES t1(f2))" "CREATE TABLE t1 (f1 INT, f2 INT PRIMARY KEY)" "CREATE TABLE t2 (f1 INT PRIMARY KEY INVISIBLE, f2 INT, CONSTRAINT FOREIGN KEY (f1) REFERENCES t1(f2))" "INSERT INTO t2(f1, f2) VALUES (1, 2)" +"INSERT INTO t2(f1, f2) VALUES (2, 3)" "CREATE TABLE t2 (f1 INT PRIMARY KEY, f2 INT)" "INSERT INTO t1(f1, f2) VALUES (1, 1)" "ALTER TABLE t2 ADD CONSTRAINT FOREIGN KEY (f1) REFERENCES t1(f2)" @@ -47782,6 +52633,7 @@ KEY (b) "CREATE TABLE t1c ( t1p_a INT )" "ALTER TABLE t1c ADD CONSTRAINT FOREIGN KEY ( t1p_a ) REFERENCES t1p( a )" "ALTER TABLE t1c ALTER INDEX t1p_a INVISIBLE" +"INSERT INTO t1c VALUES ( 1 )" "SELECT * FROM t1c" "DROP TABLE t1c, t1p" "CREATE TABLE t1 ( a INT, KEY( a ) INVISIBLE )" @@ -47813,6 +52665,8 @@ WHERE m.table_name='db'" WHERE table_name='db'" "SELECT COUNT(*) FROM information_schema.columns, v1 WHERE table_name='db'" +"SELECT COUNT(*) FROM information_schema.columns, t2 +WHERE table_name='db'" "CREATE FUNCTION func1() RETURNS INT DETERMINISTIC BEGIN @@ -47920,7 +52774,9 @@ countyid from t1 a, t2 b where (a.token = 'a71250b7ed780f6ef3185bfffe027983') and (a.count = b.id) order by a.id" "create table t1 (a int primary key)" "select t1.a from t1 as t1 left join t1 as t2 using (a) left join t1 as t3 using (a) left join t1 as t4 using (a) left join t1 as t5 using (a) left join t1 as t6 using (a) left join t1 as t7 using (a) left join t1 as t8 using (a) left join t1 as t9 using (a) left join t1 as t10 using (a) left join t1 as t11 using (a) left join t1 as t12 using (a) left join t1 as t13 using (a) left join t1 as t14 using (a) left join t1 as t15 using (a) left join t1 as t16 using (a) left join t1 as t17 using (a) left join t1 as t18 using (a) left join t1 as t19 using (a) left join t1 as t20 using (a) left join t1 as t21 using (a) left join t1 as t22 using (a) left join t1 as t23 using (a) left join t1 as t24 using (a) left join t1 as t25 using (a) left join t1 as t26 using (a) left join t1 as t27 using (a) left join t1 as t28 using (a) left join t1 as t29 using (a) left join t1 as t30 using (a) left join t1 as t31 using (a)" +"select t1.a from t1 as t1 left join t1 as t2 using (a) left join t1 as t3 using (a) left join t1 as t4 using (a) left join t1 as t5 using (a) left join t1 as t6 using (a) left join t1 as t7 using (a) left join t1 as t8 using (a) left join t1 as t9 using (a) left join t1 as t10 using (a) left join t1 as t11 using (a) left join t1 as t12 using (a) left join t1 as t13 using (a) left join t1 as t14 using (a) left join t1 as t15 using (a) left join t1 as t16 using (a) left join t1 as t17 using (a) left join t1 as t18 using (a) left join t1 as t19 using (a) left join t1 as t20 using (a) left join t1 as t21 using (a) left join t1 as t22 using (a) left join t1 as t23 using (a) left join t1 as t24 using (a) left join t1 as t25 using (a) left join t1 as t26 using (a) left join t1 as t27 using (a) left join t1 as t28 using (a) left join t1 as t29 using (a) left join t1 as t30 using (a) left join t1 as t31 using (a) left join t1 as t32 using (a) left join t1 as t33 using (a) left join t1 as t34 using (a) left join t1 as t35 using (a) left join t1 as t36 using (a) left join t1 as t37 using (a) left join t1 as t38 using (a) left join t1 as t39 using (a) left join t1 as t40 using (a) left join t1 as t41 using (a) left join t1 as t42 using (a) left join t1 as t43 using (a) left join t1 as t44 using (a) left join t1 as t45 using (a) left join t1 as t46 using (a) left join t1 as t47 using (a) left join t1 as t48 using (a) left join t1 as t49 using (a) left join t1 as t50 using (a) left join t1 as t51 using (a) left join t1 as t52 using (a) left join t1 as t53 using (a) left join t1 as t54 using (a) left join t1 as t55 using (a) left join t1 as t56 using (a) left join t1 as t57 using (a) left join t1 as t58 using (a) left join t1 as t59 using (a) left join t1 as t60 using (a) left join t1 as t61 using (a) left join t1 as t62 using (a) left join t1 as t63 using (a) left join t1 as t64 using (a) left join t1 as t65 using (a)" "select a from t1 as t1 left join t1 as t2 using (a) left join t1 as t3 using (a) left join t1 as t4 using (a) left join t1 as t5 using (a) left join t1 as t6 using (a) left join t1 as t7 using (a) left join t1 as t8 using (a) left join t1 as t9 using (a) left join t1 as t10 using (a) left join t1 as t11 using (a) left join t1 as t12 using (a) left join t1 as t13 using (a) left join t1 as t14 using (a) left join t1 as t15 using (a) left join t1 as t16 using (a) left join t1 as t17 using (a) left join t1 as t18 using (a) left join t1 as t19 using (a) left join t1 as t20 using (a) left join t1 as t21 using (a) left join t1 as t22 using (a) left join t1 as t23 using (a) left join t1 as t24 using (a) left join t1 as t25 using (a) left join t1 as t26 using (a) left join t1 as t27 using (a) left join t1 as t28 using (a) left join t1 as t29 using (a) left join t1 as t30 using (a) left join t1 as t31 using (a)" +"select a from t1 as t1 left join t1 as t2 using (a) left join t1 as t3 using (a) left join t1 as t4 using (a) left join t1 as t5 using (a) left join t1 as t6 using (a) left join t1 as t7 using (a) left join t1 as t8 using (a) left join t1 as t9 using (a) left join t1 as t10 using (a) left join t1 as t11 using (a) left join t1 as t12 using (a) left join t1 as t13 using (a) left join t1 as t14 using (a) left join t1 as t15 using (a) left join t1 as t16 using (a) left join t1 as t17 using (a) left join t1 as t18 using (a) left join t1 as t19 using (a) left join t1 as t20 using (a) left join t1 as t21 using (a) left join t1 as t22 using (a) left join t1 as t23 using (a) left join t1 as t24 using (a) left join t1 as t25 using (a) left join t1 as t26 using (a) left join t1 as t27 using (a) left join t1 as t28 using (a) left join t1 as t29 using (a) left join t1 as t30 using (a) left join t1 as t31 using (a) left join t1 as t32 using (a) left join t1 as t33 using (a) left join t1 as t34 using (a) left join t1 as t35 using (a) left join t1 as t36 using (a) left join t1 as t37 using (a) left join t1 as t38 using (a) left join t1 as t39 using (a) left join t1 as t40 using (a) left join t1 as t41 using (a) left join t1 as t42 using (a) left join t1 as t43 using (a) left join t1 as t44 using (a) left join t1 as t45 using (a) left join t1 as t46 using (a) left join t1 as t47 using (a) left join t1 as t48 using (a) left join t1 as t49 using (a) left join t1 as t50 using (a) left join t1 as t51 using (a) left join t1 as t52 using (a) left join t1 as t53 using (a) left join t1 as t54 using (a) left join t1 as t55 using (a) left join t1 as t56 using (a) left join t1 as t57 using (a) left join t1 as t58 using (a) left join t1 as t59 using (a) left join t1 as t60 using (a) left join t1 as t61 using (a) left join t1 as t62 using (a) left join t1 as t63 using (a) left join t1 as t64 using (a) left join t1 as t65 using (a)" "CREATE TABLE t1 ( a int(11) NOT NULL, b int(11) NOT NULL, @@ -48163,6 +53019,19 @@ natural right join "select * from v1c join v2a on v1c.b = v2a.c" "select * from v1d join v2a on v1d.a = v2a.c" "select * from v1a join (t3 natural join t4) on a = y" +"select * from t1 natural join (t3 cross join t4)" +"select * from (t3 cross join t4) natural join t1" +"select * from t1 join (t2, t3) using (b)" +"select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6" +"select * from t6 natural join ((t1 natural join t2), (t3 natural join t4))" +"select * from (t1 join t2 on t1.b=t2.b) natural join (t3 natural join t4)" +"select * from (t3 natural join t4) natural join (t1 join t2 on t1.b=t2.b)" +"select * from (t3 join (t4 natural join t5) on (b < z)) +natural join +(t1 natural join t2)" +"select * from (t1 natural join t2) natural join (t3 join (t4 natural join t5) on (b < z))" +"select t1.b from v1a" +"select * from v1a join v1b on t1.b = t2.b" "ANALYZE TABLE mysql.user" "select statistics.TABLE_NAME, statistics.COLUMN_NAME, statistics.TABLE_CATALOG, statistics.TABLE_SCHEMA, statistics.NON_UNIQUE, statistics.INDEX_SCHEMA, statistics.INDEX_NAME, statistics.SEQ_IN_INDEX, statistics.COLLATION, statistics.SUB_PART, statistics.PACKED, statistics.NULLABLE, statistics.INDEX_TYPE, statistics.COMMENT, @@ -48253,7 +53122,6 @@ select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C" "CREATE TABLE t3 (a INT, INDEX (a))" "CREATE TABLE t4 (a INT)" "CREATE TABLE t5 (a INT)" -"CREATE TABLE t6 (a INT)" "INSERT INTO t1 VALUES (1), (1), (1)" "INSERT INTO t2 VALUES (2), (2), (2), (2), (2), (2), (2), (2), (2), (2)" @@ -48433,6 +53301,12 @@ join eq_child as c4 on c4.a = parent.b and c4.b = parent.b "insert into t values(1,10),(2,20)" "set optimizer_switch=""block_nested_loop=off""" "create view v1 as select * from t" +"select t1.* from t t0 cross join (t t1 join t t2 on 100=t0.a)" +"select t1.* from t t0 cross join (t t1 join t t2 +on 100=(select count(*) +from t t3 +left join t t4 +on t4.a>t3.a-t0.a))" "select t1.* from t t0 cross join t t1 join t t2 on 100=(select count(*) from t t3 @@ -48468,6 +53342,9 @@ KEY i0001 (c,d(163)) )" "INSERT INTO t VALUES (1,'',1,'1')" "INSERT INTO t VALUES (0x03ffffffffffff,'2',0,'2')" +"SELECT t2.b FROM t AS t1 +LEFT JOIN t AS t2 ON t2.c < 70 +WHERE t2.a - from_unixtime(0) > 0" "CREATE TABLE t1 ( ts datetime, x integer, @@ -48719,11 +53596,18 @@ FROM t3 AS inner_a1 JOIN t3 AS inner_a2 ON inner_a1.b = inner_a2.b WHERE inner_a1.a = t2.a )" "CREATE TABLE t2 (a INTEGER)" -"CREATE TABLE t3 (a INTEGER)" "CREATE TABLE t4 (a INTEGER)" "SELECT * FROM t1 LEFT JOIN (t2 LEFT JOIN (t3 JOIN t4 ON t3.a = t4.a) ON t4.a = t2.a) ON t1.a = t2.a" "CREATE TABLE t1 (k INT, KEY(k)) ENGINE=MyISAM" +"SELECT ra1.k +FROM t1 AS ra1 LEFT JOIN t1 AS ra2 +ON CAST(SHA(ra2.k >> 'fixme') AS JSON) = ra2.k +LEFT JOIN +t1 AS ra3 LEFT JOIN t1 AS ra4 +ON ra3.k = ra4.k +ON ra3.k = ra3.k +WHERE ra3.k <= ra1.k" "CREATE TABLE t1 (pk INTEGER AUTO_INCREMENT, col_int INT, col_date DATE, PRIMARY KEY (pk))" "INSERT INTO t1 (pk, col_int, col_date) VALUES (1, NULL, '1997-04-21')" @@ -48843,6 +53727,7 @@ client_name asc, project_name asc" "CREATE TABLE t1(f1 INTEGER, f2 INTEGER, KEY(f1), KEY(f2))" "SET debug= '+d,bug35208539_raise_error'" +"SELECT * FROM t1 WHERE t1.f1 < 1" "SET debug= '-d,bug35208539_raise_error'" "SELECT MIN(t3.f1) FROM (t2 JOIN (t3 JOIN (SELECT t1.* @@ -48853,6 +53738,9 @@ ON (dt.f2 = t3.f2)) WHERE (dt.f2 <> ANY (SELECT t1.f1 FROM t1 WHERE t1.f2 = dt.f2))" "INSERT INTO t VALUES (1), (2), (3), (4), (5), (6)" "SET debug = '+d,kill_query_in_hash_join_iterator'" +"SELECT COUNT(*) WHERE ( +SELECT 1 FROM (SELECT COUNT(*) FROM t AS t1, t AS t2 WHERE t1.x=t2.x) AS dt +)" "SET debug = '-d,kill_query_in_hash_join_iterator'" "DROP TABLE IF EXISTS t0,t1,t2,t3,t4,t5,t6,t7,t8,t9" "CREATE TABLE t0 (a int, b int, c int)" @@ -49613,9 +54501,13 @@ SELECT e FROM t5 JOIN t6 ON t5.e=t6.f" "CREATE VIEW v2 AS SELECT e FROM t5 NATURAL JOIN t6" "SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d)" +"SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d)" "SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4" +"SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4" "SELECT v1.e FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d)" +"SELECT v1.x FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d)" "SELECT v2.e FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d)" +"SELECT v2.x FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d)" "DROP TABLE t1, t2, t3, t4, t5, t6" "create table t1 (id1 int(11) not null)" "create table t2 (id2 int(11) not null)" @@ -49739,10 +54631,15 @@ WHERE t1.id='5'" "CREATE TABLE t5 (a INT, c INT)" "SELECT b FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 USING (a) LEFT JOIN t5 USING (a)) USING (a)" +"SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 USING (a) +LEFT JOIN t5 USING (a)) USING (a)" "SELECT b FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a) JOIN t5 USING (a)) USING (a)" +"SELECT c FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a) +JOIN t5 USING (a)) USING (a)" "CREATE TABLE t3 (a INT, b INT)" "INSERT INTO t2 VALUES (1,1)" +"SELECT * FROM t1 JOIN (t2 JOIN t3 USING (b)) USING (a)" "CREATE TABLE t1 ( carrier char(2) default NULL, id int NOT NULL auto_increment PRIMARY KEY @@ -49958,6 +54855,9 @@ c char(10) NOT NULL default '' "explain select t1.*,t2.* from t1,t2 where t1.a=t2.a and isnull(t2.a)=1" "explain select t1.*,t2.* from t1 left join t2 on t1.a=t2.a where isnull(t2.a)=1" "select t1.*,t2.*,t3.a from t1 left join t2 on (t1.a=t2.a) left join t1 as t3 on (t2.a=t3.a)" +"explain select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a)" +"select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a)" +"select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t2.a=t3.a)" "select t1.*,t2.* from t1 inner join t2 using (a)" "select t1.*,t2.* from t1 inner join t2 on (t1.a=t2.a)" "select t1.*,t2.* from t1 natural join t2" @@ -50145,6 +55045,7 @@ KEY seq_0_id (seq_0_id) "insert into t3 values (1)" "insert into t4 values (1,1)" "insert into t5 values (1,1)" +"explain select * from t3 left join t4 on t4.seq_1_id = t2.t2_id left join t1 on t1.t1_id = t4.seq_0_id left join t5 on t5.seq_0_id = t1.t1_id left join t2 on t2.t2_id = t5.seq_1_id where t3.t3_id = 23" "drop table t1,t2,t3,t4,t5" "create table t1 (n int, m int, o int, key(n))" "create table t2 (n int not null, m int, o int, primary key(n))" @@ -50932,6 +55833,11 @@ FROM small) AS dt ON big.id=dt.dt_id" "DROP VIEW small_view, big_view" "DROP TABLE small, big" +"CREATE TABLE t1 ( +id int(11) NOT NULL PRIMARY KEY, +name varchar(20), +INDEX (name) +) ENGINE=InnoDB" "CREATE TABLE t2 ( id int(11) NOT NULL PRIMARY KEY, f_id int(11), @@ -50939,6 +55845,7 @@ FOREIGN KEY (f_id) REFERENCES t2(id) ) ENGINE=InnoDB" "INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B')" "INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3)" +"CREATE TABLE t1(c1 INT, c2 INT, c3 CHAR(1), KEY(c3))ENGINE=InnoDB" "CREATE TABLE t2(c1 INT, c2 INT, c3 CHAR(1), KEY(c3))ENGINE=InnoDB" "SELECT b.c2 AS f1 FROM (t2 AS a JOIN ((t2 AS b JOIN t2 AS c ON (c.c3=b.c3))) @@ -50947,6 +55854,11 @@ WHERE (c.c3 IN (SELECT subquery1_b.c3 AS subquery1_f1 FROM (t1 AS subquery1_a JOIN t2 AS subquery1_b ON (subquery1_b.c1=subquery1_a.c1)))) AND (a.c1=a.c1 AND (SELECT''FROM DUAL) IS NULL)" +"CREATE TABLE t1 ( +col_int INT, +pk INT NOT NULL, +PRIMARY KEY (pk) +)" "INSERT INTO t1 VALUES (2,1), (2,2), (6,3), (4,4), (7,5), (188,6), (0,7), (6,8), (0,9), (9,10)" @@ -51432,7 +56344,16 @@ primary key (SEQNO, MOTYPEID, MOINSTANCEID, ATTRID, VALUE ) "INSERT INTO t1 (numeropost,numreponse) VALUES ('1','1'),('1','2'),('2','3'),('2','4')" "SELECT numeropost FROM t1 WHERE numreponse='1'" "EXPLAIN SELECT numeropost FROM t1 WHERE numreponse='1'" +"create table t1 (c char(10), index (c(0)))" +"create table t1 (c char(10), index (c,c))" +"create table t1 (c1 char(10), c2 char(10), index (c1,c2,c1))" +"create table t1 (c1 char(10), c2 char(10), index (c1,c1,c2))" +"create table t1 (c1 char(10), c2 char(10), index (c2,c1,c1))" "create table t1 (c1 char(10), c2 char(10))" +"alter table t1 add key (c1,c1)" +"alter table t1 add key (c2,c1,c1)" +"alter table t1 add key (c1,c2,c1)" +"alter table t1 add key (c1,c1,c2)" "create table t1 ( i1 INT NOT NULL, i2 INT NOT NULL, @@ -51473,6 +56394,7 @@ index (c2, c4)) charset utf8mb4" "alter table t1 drop primary key" "insert into t1 values(1, 'a', 'a', NOW()), (1, 'b', 'b', NOW())" "alter table t1 drop index i3, drop index i2, drop index i1" +"alter table t1 add index i3 (c3), add index i2 (c2), add unique index i1 (c1)" "CREATE TABLE t1 ( a INTEGER auto_increment PRIMARY KEY, b INTEGER NOT NULL, @@ -51536,6 +56458,8 @@ order by table_name" "drop tables ti, th" "create table ti (pk int primary key, p point not null SRID 0, spatial index (p)) charset utf8mb4 engine=innodb" +"create table th (pk int primary key, p point not null, spatial index (p)) +charset utf8mb4 engine=heap" "select table_name, index_type from information_schema.statistics where table_schema = 'test' and table_name like 't%' and index_name = 'p' order by table_name" @@ -51546,6 +56470,8 @@ order by table_name" "drop tables ti" "create table ti (pk int primary key, v varchar(255), fulltext index (v)) charset utf8mb4 engine=innodb" +"create table th (pk int primary key, v varchar(255), fulltext index (v)) +charset utf8mb4 engine=heap" "select table_name, index_type from information_schema.statistics where table_schema = 'test' and table_name like 't%' and index_name = 'v' order by table_name" @@ -51574,6 +56500,7 @@ order by table_name" "CREATE TABLE `mytable` ( `id` INT(10) UNSIGNED NOT NULL DEFAULT '0', `somefield` VARCHAR(1000) NOT NULL DEFAULT '', PRIMARY KEY (`id`,`somefield`) ) DEFAULT CHARSET=UTF8MB3" +"ALTER TABLE mytable CONVERT TO CHARACTER SET UTF8MB4" "create table t1 (b text not null, unique key(b(8)))" "CREATE TABLE t2 ( a INTEGER, @@ -51602,6 +56529,8 @@ WHERE ( SELECT 1 FROM t1 ) IS NULL OR t2.a = 2" "SELECT @@small.key_buffer_size" "SELECT @@medium.key_buffer_size" "SET @@global.key_buffer_size=@save_key_buffer" +"SELECT @@default.key_buffer_size",,syntax_error +"SELECT @@skr.default_storage_engine=""test""" "select @@keycache1.key_cache_block_size" "select @@keycache1.key_buffer_size" "set global keycache2.key_buffer_size=4*1024*1024" @@ -51635,6 +56564,7 @@ WHERE ( SELECT 1 FROM t1 ) IS NULL OR t2.a = 2" "select p from t2" "explain select a from t2" "select a from t2" +"cache index t1 in unknown_key_cache" "cache index t1 key (unknown_key) in keycache1" "set global keycache2.key_buffer_size=0" "set global keycache2.key_buffer_size=1024*1024" @@ -51661,6 +56591,7 @@ WHERE ( SELECT 1 FROM t1 ) IS NULL OR t2.a = 2" "CREATE TABLE t2(a int NOT NULL AUTO_INCREMENT PRIMARY KEY, b int)" "INSERT INTO t2(b) SELECT b FROM t1" "INSERT INTO t1(b) SELECT b FROM t2" +"set @@global.key_buffer_size=0" "select @@global.key_buffer_size" "SET @bug28478_key_cache_block_size= @@global.key_cache_block_size" "SET GLOBAL key_cache_block_size= 1536" @@ -51683,6 +56614,7 @@ KEY(c1, c2, c3) "SET GLOBAL key_cache_block_size= @bug28478_key_cache_block_size" "SET GLOBAL key_cache_none.key_cache_block_size = 1024" "CREATE TABLE t1 (a INT, b INTEGER NOT NULL, KEY (b) ) ENGINE = MYISAM" +"CACHE INDEX t1 in key_cache_none" "CREATE TABLE t1 ( a char(5) NOT NULL, b char(4) NOT NULL, @@ -51719,6 +56651,10 @@ UNIQUE (c,i)) ENGINE=MYISAM" "insert t1 values ('cccc', 'tttt'), (0xD0B1212223D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1212223D0B1D0B1D0B1D0B1), (0xD0B1222123D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1222123D0B1D0B1D0B1D0B1)" +"insert t1 (c) values ('cc22')" +"insert t1 (t) values ('ttt22')" +"insert t1 (c) values (0xD0B1212322D0B1D0B1D0B1D0B1D0B1)" +"insert t1 (t) values (0xD0B1D0B1212322D0B1D0B1D0B1D0B1)" "select c from t1 where c='cccc'" "select t from t1 where t='tttt'" "select c from t1 where c=0xD0B1212223D0B1D0B1D0B1D0B1D0B1" @@ -51939,6 +56875,7 @@ END" "SET DEBUG_SYNC= 'now WAIT_FOR con1_end'" "SELECT @id != CONNECTION_ID()" "SELECT 4" +"KILL (SELECT COUNT(*) FROM mysql.user)" "SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read WAIT_FOR kill'" "SET DEBUG_SYNC= 'now WAIT_FOR con1_read'" "CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT)" @@ -51985,14 +56922,16 @@ KEY c3_idx(c3))ENGINE=INNODB" "INSERT INTO t_innodb VALUES (1, 1, 'a'), (2,2,'a'), (3,3,'a')" "ANALYZE TABLE t_innodb" "SET debug= '+d,bug28079850'" +"SELECT COUNT(*) FROM t_innodb" +"SELECT COUNT(*) FROM performance_schema.table_handles" "SET debug= '-d,bug28079850'" "DROP TABLE t_innodb" "SET DEBUG_SYNC='before_command_dispatch SIGNAL kill_query WAIT_FOR continue'" "SET GLOBAL innodb_limit_optimistic_insert_debug = 0" "SET SESSION debug=""+d,bug13820776_1""" +"EXPLAIN ANALYZE SELECT * FROM t1, t1 AS t2" "SET SESSION debug=""-d,bug13820776_1""" "SET SESSION debug=""+d,bug13822652_1""" -"EXPLAIN ANALYZE SELECT * FROM t1, t1 AS t2" "SET SESSION debug=""-d,bug13822652_1""" "EXPLAIN ANALYZE SELECT * from t1, t1 AS t2" "CREATE FUNCTION bug27563() RETURNS INT(11) @@ -52049,6 +56988,10 @@ END" (10.0, 10, NULL), (10.0, 10, NULL), (11.0, 11, NULL)" +"SELECT id, sex, LEAD(id, -1) RESPECT NULLS OVER () FROM t1",,syntax_error +"SELECT id, sex, LEAD(id, 1.2) RESPECT NULLS OVER () FROM t1",,syntax_error +"SELECT id, sex, LEAD(id, 'a') RESPECT NULLS OVER () FROM t1",,syntax_error +"SELECT id, sex, LEAD(id, NULL) RESPECT NULLS OVER () FROM t1",,syntax_error "PREPARE p FROM ""SELECT id, sex, LEAD(id, ?) OVER () FROM t1""" "SET @p1= 3" "EXECUTE p USING @p1" @@ -52059,6 +57002,7 @@ END" "SET @p2= 3" "SET @p3= 7" "EXECUTE p USING @p1, @p2, @p3" +"SELECT id, sex, LEAD(id, 1, 10) IGNORE NULLS OVER () FROM t1" "SELECT id, sex, LEAD(id, 1) RESPECT NULLS OVER () FROM t1" "SELECT id, sex, LAG(id, 1) RESPECT NULLS OVER () FROM t1" "SELECT id, sex, LEAD(id, 0) RESPECT NULLS OVER () FROM t1" @@ -52076,6 +57020,7 @@ END" "CREATE TABLE t (c1 CHAR(10) CHARACTER SET big5, i INT, c2 VARCHAR(10) CHARACTER SET euckr)" +"SELECT c1, c2, LEAD(c1, 0, c2) OVER () l0 FROM t" "CREATE TABLE t (c1 CHAR(10) CHARACTER SET utf8mb4, i INT, c2 VARCHAR(10) CHARACTER SET latin1)" @@ -52084,7 +57029,6 @@ c2 VARCHAR(10) CHARACTER SET latin1)" "INSERT INTO t VALUES(x'F09F90AC' /* dolphin */, 5, null)" "INSERT INTO t VALUES('A', 5, null)" "INSERT INTO t VALUES(null, 10, '0')" -"SELECT c1, c2, LEAD(c1, 0, c2) OVER () l0 FROM t" "SELECT c1, c2, LEAD(c1, 1, c2) OVER () l1 FROM t" "SELECT c1, c2, LEAD(c2, 1, c1) OVER () l1 FROM t" "CREATE TABLE tt AS SELECT LEAD(c1, 0, c2) OVER () c FROM t" @@ -52489,8 +57433,11 @@ USING BIG5)))" (LAG(JSON_OBJECTAGG('key4',0x067c13d0d0d7d8c8d768aef7) ,7)OVER())),'9236-05-27',0xe2a7d4))^(0x1109))" "SELECT ((LAG(JSON_MERGE_PATCH(1.755913e+308,'{ }'),246)OVER())<=(1))" +"SELECT ((LAG(JSON_MERGE_PATCH(1.755913e+308,'{ }'),0)OVER())<=(1))" "SELECT ((QUOTE(JSON_KEYS(LEAD(JSON_KEYS(EXP(-15676),ABS('d0')), 162)OVER())))>=(CONNECTION_ID()))" +"SELECT ((QUOTE(JSON_KEYS(LEAD(JSON_KEYS(EXP(-15676),ABS('d0')), +0)OVER())))>=(CONNECTION_ID()))" "SELECT JSON_LENGTH(LEAD(JSON_OBJECTAGG('key2','*B'),172)OVER())" "SELECT JSON_LENGTH(LEAD(JSON_OBJECTAGG('key2','*B'),0)OVER())" "SELECT LEAD(set_col) OVER w AS col1, @@ -52918,16 +57865,18 @@ ORDER BY a LIMIT 7 OFFSET 1" "select sum(a) c FROM t1 WHERE a > 0 ORDER BY c LIMIT 3" "prepare s from ""select 1 limit ?""" "set @a='qwe'" +"execute s using @a" "set @a=-1" "prepare s from ""select 1 limit 1, ?""" "prepare s from ""select 1 limit ?, ?""" -"set @a=14632475938453979136" "execute s using @a, @a" +"set @a=14632475938453979136" "set @a=-14632475938453979136" "select 1 as a limit 4294967296,10" "SELECT COUNT(*) FROM t1 LIMIT 1 OFFSET 3" "SELECT t1.pk FROM (SELECT DISTINCT * FROM t1) AS t1 WHERE t1.pk=1 LIMIT 1 OFFSET 2" "EXPLAIN FORMAT=tree SELECT JSON_OBJECTAGG(NULL, '') FROM t1, t1 AS t2 GROUP BY t1.pk LIMIT 2 OFFSET 5" +"SELECT JSON_OBJECTAGG(NULL, '') FROM t1, t1 AS t2 GROUP BY t1.pk LIMIT 2 OFFSET 5" "CREATE TABLE t1 ( col_int_key INT DEFAULT NULL, col_varchar_key VARCHAR(1) DEFAULT NULL, @@ -52959,7 +57908,6 @@ pk integer primary key ) ENGINE=myisam" "INSERT INTO a(col_int,col_varchar_255) VALUES (0,""""),(1,"""")" "INSERT INTO a(col_int,col_varchar_255) SELECT col_int,col_varchar_255 FROM a" -"DROP TABLE b" "CREATE TABLE t1(id INTEGER)" "INSERT INTO t1 (id) VALUES (1), (2), (3)" "SET @@sql_select_limit=1" @@ -52982,6 +57930,9 @@ pk integer primary key into table t1 fields terminated by ',' ignore 2 lines" "load data infile '../../std_data/loaddata1.dat' in primary key order into table t1 fields terminated by ',' ignore 2 lines" +"load data infile '../../std_data/loaddata1.dat' count 1 into table t1" +"load data infile '../../std_data/loaddata1.dat' count 10 into table t1" +"load data url '../../std_data/loaddata1.dat' into table t1" "load data infile '../../std_data/loaddata1.dat' ignore into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d)" "create table t1 (a text, b text)" "load data infile '../../std_data/loaddata2.dat' ignore into table t1 fields terminated by ',' enclosed by ''''" @@ -53017,9 +57968,11 @@ c2 VARCHAR(255) "load data infile '../../std_data/rpl_loaddata.dat' ignore into table t1 set c=b" "load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=""Wow""" "load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=concat(a,""+"",b,""+"",@c,""+"",b,""+"",if(c is null,""NIL"",c))" +"load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b)" "create table t2 (num int primary key, str varchar(10))" "insert into t2 values (10,'Ten'), (15,'Fifteen')" "load data infile '../../std_data/rpl_loaddata.dat' into table t1 (@dummy,@n) set a= @n, c= (select str from t2 where num=@n)" +"set @@secure_file_priv= 0" "insert into t1 values(1),(null)" "create table t2(f2 int auto_increment primary key)" "create table t1(f1 int, f2 timestamp not null default current_timestamp)" @@ -53042,6 +57995,16 @@ FIELDS ESCAPED BY '\\' TERMINATED BY ',' ENCLOSED BY '""' LINES TERMINATED BY '\n' (c1, c2)" +"LOAD DATA INFILE '../../std_data/bug35469.dat' INTO TABLE v2 +FIELDS ESCAPED BY '\\' +TERMINATED BY ',' +ENCLOSED BY '""' +LINES TERMINATED BY '\n' (c0, c2)" +"LOAD DATA INFILE '../../std_data/bug35469.dat' INTO TABLE v3 +FIELDS ESCAPED BY '\\' +TERMINATED BY ',' +ENCLOSED BY '""' +LINES TERMINATED BY '\n' (d1, d2)" "SET SESSION character_set_client=latin1" "SET SESSION character_set_server=latin1" "SET SESSION character_set_connection=latin1" @@ -53076,6 +58039,7 @@ SELECT 'after' AS t, id, val1, hex(val1) FROM t2 ORDER BY id,t DESC" "LOAD DATA INFILE 't1.dat' IGNORE INTO TABLE t1 CHARACTER SET utf8mb3" "create table t1(a point)" "CREATE VIEW v1 AS SELECT t1.a FROM t1, t1 AS t2" +"LOAD DATA LOCAL INFILE '' REPLACE INTO TABLE v1" "SET @old_mode= @@sql_mode" "CREATE TABLE t1 (fld1 INT)" "SET @@sql_mode= @old_mode" @@ -53091,23 +58055,34 @@ SELECT 'after' AS t, id, val1, hex(val1) FROM t2 ORDER BY id,t DESC" "DROP DATABASE d2" "CREATE TABLE t(a INTEGER PRIMARY KEY, b INTEGER, c INTEGER)" "CREATE VIEW v AS SELECT a, b+c AS d FROM t" +"LOAD DATA INFILE 'test.dat' INTO TABLE v(a, d)" +"LOAD DATA INFILE 'test.dat' INTO TABLE v(@a, @d) SET a= @a, d= @d" "CREATE TABLE t1(a VARCHAR(20)) CHARSET utf8mb4" "LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t1 CHARACTER SET utf8mb4" "CREATE TABLE t1(a VARCHAR(20)) CHARSET gb18030" "LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1 CHARACTER SET gb18030" +"LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" "CREATE TABLE t1(a VARCHAR(20))" "LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t1 ()" "LOAD DATA INFILE '../../std_data/loaddata_incomplete_mb.dat' INTO TABLE t1 IGNORE 20 LINES" "LOAD DATA INFILE '../../std_data/loaddata_incomplete_escape.dat' INTO TABLE t1 IGNORE 20 LINES" +"CREATE PROCEDURE p1() LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t1" "SET @save_local_infile = @@local_infile" "SET GLOBAL local_infile = OFF" +"LOAD DATA LOCAL INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t1" "SET GLOBAL local_infile = @save_local_infile" "CREATE TABLE t2(a BLOB)" +"LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t2 FIELDS TERMINATED BY '' LINES TERMINATED BY ''" "CREATE TABLE t3(a VARCHAR(20), i INT NOT NULL)" +"LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t3 (a) SET i = NULL" "CREATE TABLE t1 (x DOUBLE, y DOUBLE, g GEOMETRY NOT NULL SRID 4326)" "LOAD DATA INFILE '../../std_data/x_y_data.csv' INTO TABLE t1 FIELDS TERMINATED BY ',' +(x, y)" +"LOAD DATA INFILE '../../std_data/x_y_data.csv' +INTO TABLE t1 +FIELDS TERMINATED BY ',' (x, y) SET g = ST_SRID(POINT(x, y), 4326)" "SELECT x, y, ST_AsText(g), ST_SRID(g) FROM t1" "SET @@sql_mode = 'NO_AUTO_VALUE_ON_ZERO'" @@ -53147,6 +58122,7 @@ vbidxcol CHAR(3) AS (substr(b,1,3)) VIRTUAL "select load_file(""/proc/modules"")" "SET GLOBAL max_allowed_packet = @old_max_allowed_packet" "SET GLOBAL net_buffer_length = @old_net_buffer_length" +"select load_file(""/proc/self/fd/0"")" "create table t1 (a int, b varchar(64))" "load xml infile '../../std_data/loadxml.dat' into table t1 rows identified by ''" @@ -53174,7 +58150,9 @@ ROWS IDENTIFIED BY '' (a,@b) SET b=concat('!',@b)" "CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL)" "CREATE TABLE t3 (col1 VARCHAR(3), col2 VARCHAR(3), col3 INTEGER)" "CREATE VIEW v3 AS SELECT * FROM t3 WHERE col3 < 0 WITH CHECK OPTION" +"LOAD XML INFILE '../../std_data/bug16171518_2.dat' INTO TABLE v3" "CREATE TABLE t4 (col1 VARCHAR(3), col2 VARCHAR(3), col3 INTEGER, col4 INT NOT NULL)" +"LOAD XML INFILE '../../std_data/bug16171518_2.dat' INTO TABLE t4 (col1, col2, col3) SET col4 = NULL" "CREATE TABLE t1(a INT NOT NULL PRIMARY KEY, p INT NULL)" "LOAD XML INFILE '../../std_data/bug30753708.dat' INTO TABLE t1 ROWS IDENTIFIED BY '
'" "CREATE TABLE t1(a INT NOT NULL PRIMARY KEY, p INT NULL, s VARCHAR(100))" @@ -53223,6 +58201,7 @@ ROWS IDENTIFIED BY '' (a,@b) SET b=concat('!',@b)" "SELECT DATE_FORMAT('2010-03-23 13:00:00','%h %p')" "SELECT format(123456789,2,'rm_CH')" "SET lc_messages=rm_CH" +"SELECT * FROM non_existent" "SET lc_time_names=@old_50915_lc_time_names" "lock tables t1 write, t2 write, t3 write" "drop table t2, t3, t1" @@ -53233,19 +58212,26 @@ ROWS IDENTIFIED BY '' (a,@b) SET b=concat('!',@b)" "lock tables t1 write, t2 read" "delete from t1 using t1,t2 where t1.a=t2.a" "delete t1 from t1,t2 where t1.a=t2.a" +"delete from t2 using t1,t2 where t1.a=t2.a" +"delete t2 from t1,t2 where t1.a=t2.a" "LOCK TABLES mysql.time_zone READ, mysql.time_zone_name READ, t1 READ" "LOCK TABLES mysql.time_zone READ, mysql.time_zone_name READ, t1 WRITE" "LOCK TABLES mysql.time_zone READ, mysql.time_zone_name READ" "LOCK TABLES mysql.time_zone WRITE, mysql.time_zone_name WRITE" +"LOCK TABLES mysql.time_zone READ, mysql.time_zone_name WRITE, t1 READ" +"LOCK TABLES mysql.time_zone WRITE, mysql.time_zone_name WRITE, t1 READ" +"LOCK TABLES mysql.time_zone WRITE, mysql.time_zone_name WRITE, t1 WRITE" +"LOCK TABLES mysql.time_zone READ, mysql.time_zone_name WRITE" "drop view if exists v_bug5719" "create temporary table t2 (a int)" "create view v_bug5719 as select 1" "lock table v_bug5719 write" "select * from v_bug5719" +"drop view v_bug5719" "create or replace view v_bug5719 as select * from t1" "lock tables v_bug5719 write" "lock tables t1 write, v_bug5719 write" -"drop view v_bug5719" +"create view v_bug5719 as select * from t2" "CREATE TABLE t1 ( table1_rowid SMALLINT NOT NULL )" @@ -53260,6 +58246,7 @@ SELECT 'x' FROM t2 WHERE t1.table1_rowid = t2.table2_rowid ) " +"SELECT * FROM t1 WHERE 1 IN (SELECT * FROM t2 FOR UPDATE)" "lock table t1 write, t2 write" "create temporary table t1 (a int)" "lock tables t1 write, v1 write" @@ -53284,18 +58271,29 @@ end" "CREATE TABLE t1 (f1 INT, f2 INT) ENGINE = MEMORY" "CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW UPDATE LOW_PRIORITY t1 SET f2 = 7" +"INSERT INTO t1(f1) VALUES(0)" "FLUSH TABLE t2" "call mtr.add_suppression(""Can't open and lock privilege tables: Table 'user' was not locked with LOCK TABLES"")" "SET autocommit= 0" -"INSERT INTO t1 VALUES (100)" "SET lock_wait_timeout= 10000000" "DESCRIBE t3" "CREATE USER 'testuser1'@'localhost'" "GRANT all ON *.* TO 'testuser1'@'localhost'" +"CREATE TABLESPACE testtablespace ADD DATAFILE 'ts.ibd' ENGINE=InnoDB" +"CREATE TABLE testtable_1 (c1 int, c2 varchar(10))" +"CREATE VIEW testview_1 AS SELECT c2 FROM testtable_1" +"CREATE INDEX testindex_1 ON testtable_1(c1)" +"CREATE SERVER s FOREIGN DATA WRAPPER mysql OPTIONS (DATABASE 'test')" +"CREATE PROCEDURE testproc_1() +BEGIN +SELECT * FROM testtable_1; +END" +"CREATE EVENT testevent_1 ON SCHEDULE EVERY 10 SECOND DO SELECT 1" +"CREATE TRIGGER testtrigger_1 BEFORE INSERT ON testtable_1 FOR EACH ROW SET @a:=1" "CREATE TEMPORARY TABLE temptable_1 (tt1 int)" "INSERT INTO temptable_1 SELECT * FROM t1" "SELECT * FROM temptable_1" -"CREATE TABLESPACE testtablespace ADD DATAFILE 'ts.ibd' ENGINE=InnoDB" +"CREATE RESOURCE GROUP rg1 TYPE=USER" "CREATE TABLE testtable_1 (c1 int, c2 varchar(10)) TABLESPACE testtablespace" "CREATE TABLE testtable_3 (c1 int, c2 varchar(10)) PARTITION BY RANGE (c1)( PARTITION p0 VALUES LESS THAN (10), @@ -53303,15 +58301,6 @@ PARTITION p2 VALUES LESS THAN (100), PARTITION p3 VALUES LESS THAN (1000))" "INSERT testtable_3 VALUES (1,'a'),(11,'b'),(101,'c')" "ALTER TABLE testtable_3 ADD PARTITION (PARTITION p4 VALUES LESS THAN (5000))" -"CREATE VIEW testview_1 AS SELECT c2 FROM testtable_1" -"CREATE INDEX testindex_1 ON testtable_1(c1)" -"CREATE PROCEDURE testproc_1() -BEGIN -SELECT * FROM testtable_1; -END" -"CREATE EVENT testevent_1 ON SCHEDULE EVERY 10 SECOND DO SELECT 1" -"CREATE TRIGGER testtrigger_1 BEFORE INSERT ON testtable_1 FOR EACH ROW SET @a:=1" -"CREATE SERVER s FOREIGN DATA WRAPPER mysql OPTIONS (DATABASE 'test')" "INSERT INTO testtable_1 VALUES(1,'aaa'),(2,'bbbbbb'),(3,'cccccccc')" "INSERT INTO testtable_1 VALUES(4,'ddd'),(5,'eeeee'),(3,'fffffff')" "UPDATE testtable_1 SET c1=11, c2='yyy' WHERE c1=1" @@ -53338,6 +58327,7 @@ END" "CREATE TABLE testtable_2 (c1 int, c2 varchar(10)) ENGINE=MyISAM" "SHOW CREATE TABLE testtable_2" "INSERT INTO testtable_2 VALUES(4,'ddd'),(5,'eeeee'),(3,'fffffff')" +"ALTER TABLE testtable_2 ADD INDEX i2(c2)" "DROP TABLE testtable_2" "SET DEBUG_SYNC='mysql_rm_table_after_lock_table_names SIGNAL run_backup_lock WAIT_FOR continue_dropping_table'" "SET DEBUG_SYNC='now WAIT_FOR run_backup_lock'" @@ -53350,11 +58340,11 @@ END" "GRANT all ON *.* TO 'user3'@'localhost'" "CREATE TABLE testtable_11 (c1 int, c2 varchar(10))" "CREATE TEMPORARY TABLE temptable_11 (tt1 int)" +"CREATE TABLE testtable_21 (c1 int, c2 varchar(10))" "CREATE TEMPORARY TABLE temptable_21 (tt1 int)" +"CREATE TABLE testtable_31 (c1 int, c2 varchar(10))" "CREATE TEMPORARY TABLE temptable_31 (tt1 int)" "CREATE TABLE testtable_12 (c1 int, c2 varchar(10))" -"CREATE TABLE testtable_21 (c1 int, c2 varchar(10))" -"CREATE TABLE testtable_31 (c1 int, c2 varchar(10))" "DROP TABLE IF EXISTS testtable_11" "DROP TABLE IF EXISTS testtable_12" "DROP TABLE IF EXISTS testtable_21" @@ -53385,6 +58375,10 @@ END" "CREATE VIEW v1 AS SELECT f1 FROM t1 " "LOCK TABLES v1 WRITE, t1 READ" "LOCK TABLES t1 WRITE, v1 READ" +"delete a from t1 as a where i = 1" +"insert into v1 values (1)" +"INSERT INTO t1(id) VALUES (2)" +"INSERT INTO t1(id) VALUES(4)" "SELECT table_name, table_rows, table_comment FROM information_schema.tables WHERE table_schema= 'test' AND table_name= 't1'" "lock table t3 read" @@ -53474,8 +58468,9 @@ SET a = NULL WHERE t1.b <> t2.b'" "insert into t1 (id,id2) values (1,1),(1,2),(1,3)" "select dummy1,count(distinct id) from t1 group by dummy1" "update t1 set id=-1 where id=1" -"create temporary table t2 SELECT * from t1" +"update t1 set id=1 where id=1" "create table t2 SELECT * from t1" +"create temporary table t2 SELECT * from t1" "LOCK TABLE t1 WRITE,t2 write" "insert into t2 SELECT * from t1" "update t1 set id=1 where id=-1" @@ -53493,6 +58488,7 @@ name varchar(20) default NULL "insert into t1 select 1,nr from t2 where name='item1'" "insert into t1 select 2,nr from t2 where name='item2'" "check table t2" +"insert into t1 select index1,nr from t1" "lock tables t1 write, t1 as t1_alias read" "insert into t1 select index1,nr from t1 as t1_alias" "create table t1 (a int) engine=myisam" @@ -53591,7 +58587,9 @@ WAIT_FOR finish_alter'" "SET DEBUG_SYNC= 'now SIGNAL opti_analyze'" "SET DEBUG_SYNC= 'now SIGNAL finish_alter'" "CREATE TABLE t1(a INT) ENGINE=innodb" +"CREATE TABLE t ( of INT )",,syntax_error "CREATE TABLE t0 ( skip INT, locked INT, nowait INT )" +"CREATE PROCEDURE p() BEGIN of: LOOP LEAVE of; END LOOP of; END",,syntax_error "CREATE PROCEDURE p1() BEGIN skip: LOOP LEAVE skip; END LOOP skip; END" "CREATE PROCEDURE p2() BEGIN locked: LOOP LEAVE locked; END LOOP locked; END" "CREATE PROCEDURE p3() BEGIN nowait: LOOP LEAVE nowait; END LOOP nowait; END" @@ -53625,6 +58623,16 @@ WAIT_FOR finish_alter'" "SELECT * FROM t1, t2 FOR SHARE OF t1 NOWAIT FOR SHARE OF t2 NOWAIT" "SELECT 1 FROM ( SELECT 1 ) AS t2 FOR UPDATE" "SELECT 1 FROM v1 FOR UPDATE" +"SELECT * FROM t1 FOR SHARE WAIT WAIT",,syntax_error +"SELECT * FROM t1 FOR SHARE WAIT NOWAIT",,syntax_error +"SELECT * FROM t1 FOR SHARE WAIT SKIP LOCKED",,syntax_error +"SELECT 1 FOR UPDATE UNION SELECT 2",,syntax_error +"SELECT 1 LOCK IN SHARE MODE UNION SELECT 2",,syntax_error +"SELECT 1 FOR SHARE UNION SELECT 2",,syntax_error +"SELECT * FROM t1 LEFT JOIN t2 FOR UPDATE",,syntax_error +"SELECT * FROM t1 LEFT JOIN t2 FOR SHARE",,syntax_error +"SELECT * FROM t1 LEFT JOIN t2 FOR SHARE OF t1 FOR UPDATE OF t2",,syntax_error +"SELECT * FROM t1 RIGHT JOIN t2 FOR SHARE OF t1 FOR UPDATE OF t2",,syntax_error "CREATE PROCEDURE p1() BEGIN DECLARE c CURSOR FOR SELECT a FROM t1 FOR UPDATE; @@ -53645,8 +58653,28 @@ END" "SELECT MIN(b) FROM t1 GROUP BY a LOCK IN SHARE MODE" "SELECT 1 UNION SELECT 2 FOR UPDATE" "SELECT 1 UNION SELECT 2 LOCK IN SHARE MODE" +"SELECT * FROM t1 FOR SHARE OF t2" +"SELECT * FROM t1 t1a FOR SHARE OF t1" +"SELECT * FROM t1 t1a, t2 t2a FOR SHARE OF t1a, t2" +"SELECT * FROM t1 STRAIGHT JOIN t2 FOR SHARE OF t1" +"SELECT * FROM t1 STRAIGHT JOIN t2 FOR SHARE OF t1 FOR UPDATE OF t2" +"SELECT * FROM t1 STRAIGHT JOIN t2 AS t12 FOR UPDATE OF t12, t1 " +"SELECT * FROM no_such_database.t1 FOR SHARE OF no_such_database.t1" +"SELECT * FROM no_such_database.t1 t1a FOR SHARE OF no_such_database.t1" +"SELECT * FROM no_such_database.t1 t1a FOR SHARE OF t1a" +"SELECT * FROM no_such_database.t1 FOR SHARE OF t1" +"SELECT * FROM t1 FOR SHARE OF no_such_database.t1" "CREATE TABLE db1.t1 ( a INT, b INT )" "INSERT INTO t1 VALUES (10, 10)" +"SELECT * FROM t1 FOR SHARE OF db1.t1" +"SELECT * FROM t1 FOR UPDATE OF t1 FOR SHARE OF t1" +"SELECT * FROM t1, t2 FOR UPDATE OF t2 FOR SHARE OF t1 FOR UPDATE OF t2" +"SELECT * FROM t1, t2 FOR UPDATE FOR SHARE OF t1" +"SELECT * FROM t1, t2 FOR UPDATE FOR SHARE OF t2" +"SELECT * FROM t1, t2 FOR SHARE FOR UPDATE OF t1" +"SELECT * FROM t1, t2 FOR SHARE FOR UPDATE OF t2" +"SELECT * FROM t1, t2 FOR UPDATE OF t1 FOR SHARE" +"SELECT * FROM t1, t2 FOR UPDATE OF t2 FOR SHARE" "SELECT MIN(a) FROM t1 FOR UPDATE SKIP LOCKED" "SELECT MAX(a) FROM t1 FOR UPDATE SKIP LOCKED" "SELECT SUM(a) FROM t1 FOR UPDATE SKIP LOCKED" @@ -53672,13 +58700,16 @@ END" "DROP USER user_2@localhost" "SELECT 1 FROM DUAL LIMIT 1 INTO @var FOR UPDATE" "SELECT 1 FROM DUAL LIMIT 1 FOR UPDATE INTO @var" +"SELECT 1 FROM DUAL LIMIT 1 INTO @var FOR UPDATE INTO @var",,syntax_error "SELECT 1 UNION SELECT 1 FOR UPDATE INTO @var" "SELECT 1 UNION SELECT 1 INTO @var FOR UPDATE" "CREATE TABLE tt (id INT PRIMARY KEY, age INT)" "INSERT INTO tt VALUES (1,1),(2,2)" "SELECT * FROM tt WHERE id = 2 FOR UPDATE" +"SELECT * FROM tt WHERE id = 2 FOR UPDATE NOWAIT" "DROP TABLE tt" "CREATE TABLE t1 ( a INT ) ENGINE = MyISAM" +"CREATE ROLE of",,syntax_error "CREATE ROLE skip" "CREATE ROLE locked" "CREATE ROLE nowait" @@ -53795,6 +58826,26 @@ FOR UPDATE SKIP LOCKED" "set global read_only=OFF" "SELECT * FROM t1 WHERE a=2 FOR SHARE " "SELECT * FROM t1, t2 FOR UPDATE OF t1 FOR SHARE OF t2" +"SELECT service_get_read_locks()" +"SELECT service_get_read_locks('negative')" +"SELECT service_get_read_locks('negative', 'lock1')" +"SELECT service_get_read_locks( 1, 'lock1', 'lock2', 0)" +"SELECT service_get_read_locks( '', 'lock1', 'lock2', 0)" +"SELECT service_get_read_locks('negative', 1, 'lock2', 0)" +"SELECT service_get_write_locks()" +"SELECT service_get_write_locks('negative')" +"SELECT service_get_write_locks('negative', 'lock1')" +"SELECT service_get_write_locks( 1, 'lock1', 'lock2', 0)" +"SELECT service_get_write_locks( '', 'lock1', 'lock2', 0)" +"SELECT service_get_write_locks('negative', 1, 'lock2', 0)" +"SELECT service_get_write_locks('negative', '', 'lock2', 0)" +"SELECT service_get_write_locks('negative', 'lock1', 1, 0)" +"SELECT service_get_write_locks('negative', 'lock1', '', 0)" +"SELECT service_get_write_locks('negative', 'lock1', 'lock2', 'hello')" +"SELECT service_release_locks()" +"SELECT service_release_locks('negative', 'hello')" +"SELECT service_release_locks( 1)" +"SELECT service_release_locks( '')" "UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'" "TRUNCATE TABLE performance_schema.events_waits_current" "TRUNCATE TABLE performance_schema.events_waits_history_long" @@ -53816,6 +58867,12 @@ WHERE OBJECT_TYPE = 'LOCKING SERVICE'" "SELECT COUNT(*) = 0 AS expect_1 FROM performance_schema.events_waits_current WHERE OBJECT_TYPE = 'LOCKING SERVICE'" "SELECT service_get_write_locks(""namespace1"", ""lock1"", ""lock2"", 60)" +"SELECT service_get_write_locks(""namespace1"", ""lock1"", 1)" +"SELECT service_get_write_locks(""namespace1"", ""lock2"", 1)" +"SELECT service_get_read_locks(""namespace1"", ""lock1"", 1)" +"SELECT service_get_write_locks(""namespace1"", ""lock1"", 0)" +"SELECT service_get_write_locks(""namespace1"", ""lock2"", 0)" +"SELECT service_get_read_locks(""namespace1"", ""lock1"", 0)" "SELECT OBJECT_SCHEMA, OBJECT_NAME, OBJECT_TYPE, OPERATION FROM performance_schema.events_waits_history_long WHERE OBJECT_TYPE = 'LOCKING SERVICE'" @@ -53830,6 +58887,12 @@ WHERE OBJECT_TYPE = 'LOCKING SERVICE'" WHERE state = 'Waiting for locking service lock'" "SELECT service_get_write_locks('holder_name_space', 'first', 'middle', 'last', 1)" +"SELECT service_get_write_locks('holder_name_space', +'first', 'l2_1', 'l3_1', 0)" +"SELECT service_get_write_locks('holder_name_space', +'l1_2', 'middle', 'l3_2', 0)" +"SELECT service_get_write_locks('holder_name_space', +'l1_3', 'l2_3', 'last', 0)" "SELECT object_schema, object_name, lock_type, lock_status FROM performance_schema.metadata_locks WHERE OBJECT_TYPE = 'LOCKING SERVICE'" @@ -53837,10 +58900,18 @@ WHERE OBJECT_TYPE = 'LOCKING SERVICE'" "SELECT service_get_write_locks(RPAD('holder_name_space_', 64, 'a'), 'l1', 'l2', 'l3', 0) AS col1" "SELECT service_release_locks(RPAD('holder_name_space_', 64, 'a')) AS col1" +"SELECT service_get_write_locks(RPAD('holder_name_space_', 65, 'a'), +'l1', 'l2', 'l3', 0) AS col1" "SELECT service_get_write_locks('holder_name_space', RPAD('l1_', 64, 'a'), RPAD('l2_', 64, 'a'), RPAD('l3_', 64, 'a'), 0) AS col1" "SELECT service_release_locks('holder_name_space') AS col1" "SELECT service_get_write_locks('holder_name_space', +RPAD('l1_', 65, 'a'), 'l2_1', 'l3_1', 0) AS col1" +"SELECT service_get_write_locks('holder_name_space', +'l1_2', RPAD('l2_', 65, 'a'), 'l3_2', 0) AS col1" +"SELECT service_get_write_locks('holder_name_space', +'l1_3', 'l2_3', RPAD('l3_', 65, 'a'), 0) AS col1" +"SELECT service_get_write_locks('holder_name_space', 'l1_1', 'l2_1', 'l3_1', 'l1_2', 'l2_2', 'l3_2', 'l1_3', 'l2_3', 'l3_3', 1) AS col1" @@ -53869,6 +58940,12 @@ WHERE OBJECT_TYPE = 'LOCKING SERVICE'" "SELECT service_get_write_locks('holder_name_space', 'first', 'middle', 'last', 0) AS col1" "SELECT service_get_write_locks('holder_name_space', +'first', 'l2_1', 'l3_1', 0) AS col1" +"SELECT service_get_write_locks('holder_name_space', +'l1_2', 'middle', 'l3_2', 0) AS col1" +"SELECT service_get_write_locks('holder_name_space', +'l1_3', 'l2_3', 'last', 0) AS col1" +"SELECT service_get_write_locks('holder_name_space', 'l1_1', 'l2_1', 'l3_1', 'l1_2', 'l2_2', 'l3_2', 'l1_3', 'l2_3', 'l3_3', 0) AS col1" @@ -53876,18 +58953,26 @@ WHERE OBJECT_TYPE = 'LOCKING SERVICE'" "SELECT service_get_write_locks('holder_name_space', 'lock', 10) AS col1" "SET @aux = 1" "COMMIT WORK RELEASE" +"KILL @aux" "SELECT service_get_read_locks('holder_name_space', 'lock', 0) AS col1" "SELECT service_get_read_locks('holder_name_space', 'lock', 10) AS col1" "SELECT service_get_read_locks('holder_name_space', 'l1', 0) AS col1" "SELECT service_get_read_locks('holder_name_space', 'l1', 'l2', 0) AS col1" "SELECT service_get_write_locks('holder_name_space', 'l1', 10) AS col1" "CREATE TEMPORARY TABLE t1 AS SELECT 1 AS col1" +"CREATE TEMPORARY TABLE t1 +AS SELECT service_get_write_locks('holder_name_space', 'lock', 0) AS col1" "SELECT service_get_write_locks('holder_name_space', 'l2', 0) AS col1" "SELECT COUNT(*) = 1 AS expect_1 FROM performance_schema.metadata_locks WHERE OBJECT_TYPE = 'LOCKING SERVICE'" +"SELECT service_get_write_locks('holder_name_space', 'l1', 0) AS col1, +service_get_write_locks('holder_name_space', 'l2', 0)" "CREATE TABLE t1 (col1 VARCHAR(10))" "INSERT INTO t1 VALUES ('l1'), ('l2'), ('l3')" "SELECT service_get_write_locks('holder_name_space', 'l2', 0)" +"CREATE TEMPORARY TABLE t2 ENGINE = InnoDB AS +SELECT service_get_write_locks('holder_name_space', col1, 0) AS col1 FROM t1 +ORDER BY col1" "SELECT service_get_write_locks('holder_name_space', 'lock', 0)" "SELECT service_release_locks('holder_name_space')" "DROP FUNCTION service_get_read_locks" @@ -53909,6 +58994,7 @@ WHERE JSON_EXTRACT(data,'$.err_symbol')=""ER_STACK_BACKTRACE""" "SET @@session.debug=""+d,parser_stmt_to_error_log_with_system_prio""" "SELECT ""--- STACKTRACE TO FOLLOW ---""" "SET @@session.debug=""-d,parser_stmt_to_error_log_with_system_prio""" +"SET @@session.debug='d,crash_now'" "SELECT data FROM performance_schema.error_log WHERE data LIKE ""%--- STACKTRACE TO FOLLOW ---%""" @@ -53929,6 +59015,12 @@ AND data LIKE ""% UTC - mysqld got %""" "SELECT ""*** SWITCHING ERROR LOG TO JSON ***""" "INSTALL COMPONENT ""file://component_log_sink_json""" "SET @@global.log_error_services=""log_filter_internal; log_sink_json;""" +"SET @@global.log_error_services="";log_sink_internal""" +"SET @@global.log_error_services=""log_sink_internal; log_filter_internal""" +"SET @@global.log_error_services=""log_filter_internal;,log_sink_internal""" +"SET @@global.log_error_services=""log_filter_internal log_sink_internal""" +"SET @@global.log_error_services=""azundris""" +"SET @@global.log_error_services=""log_sink_buffer""" "SELECT ""logging as JSON""" "SET @@global.log_error_services=""log_filter_internal, log_sink_internal,""" "UNINSTALL COMPONENT ""file://component_log_sink_json""" @@ -53939,13 +59031,16 @@ AND data LIKE ""% UTC - mysqld got %""" "SELECT ""*** TRYING TO LOG THINGS FROM EXTERNAL SERVICE ***""" "INSTALL COMPONENT ""file://component_log_sink_test""" "SET @@global.log_error_services=""log_filter_internal; log_sink_test; log_sink_json""" +"SET @@global.log_error_filter_rules= DEFAULT" "UNINSTALL COMPONENT ""file://component_log_sink_test""" "SET @@session.debug=""-d,parser_stmt_to_error_log""" "SET @@session.debug=""-d,log_error_normalize""" "SET @@global.log_error_verbosity= @orig_log_error_verbosity" "SET @old_log_error_verbosity = @@global.log_error_verbosity" +"SET GLOBAL log_error_services= ""log_filter_internal; log_sink_internal; log_filter_internal; log_sink_json""" "SET GLOBAL log_error_services= ""log_filter_internal; log_sink_internal; log_sink_json""" "SELECT ""Let's do the double dutch!""" +"SET GLOBAL log_error_services= ""log_sink_internal; log_sink_internal""" "SET GLOBAL log_error_services= ""log_sink_json; log_sink_json""" "SELECT ""Jacob Toot-Toot""" "SET GLOBAL log_error_services= DEFAULT" @@ -53956,6 +59051,7 @@ AND data LIKE ""% UTC - mysqld got %""" "SELECT ""I should be visible with \"System\" label!""" "SET GLOBAL log_error_verbosity= DEFAULT" "SET @@global.log_error_verbosity=@old_log_error_verbosity" +"SELECT @@syseventlog.tag" "SELECT ""*** SWITCHING ERROR LOG TO SYSEVENTLOG ***""" "INSTALL COMPONENT ""file://component_log_sink_syseventlog""" "SELECT @@global.syseventlog.tag" @@ -53964,19 +59060,25 @@ AND data LIKE ""% UTC - mysqld got %""" "SELECT ""logging to syslog""" "SET @@global.syseventlog.tag=""wl9343_2""" "SET @@global.syseventlog.tag=DEFAULT" +"SET GLOBAL syseventlog.include_pid = OFF" +"SET GLOBAL syseventlog.facility = ""local1""" "SET PERSIST syseventlog.tag = ""wl11828""" "SET @@global.log_error_services=DEFAULT" "UNINSTALL COMPONENT ""file://component_log_sink_syseventlog""" -"SELECT @@syseventlog.tag" "RESET PERSIST `syseventlog.tag`" "SET GLOBAL log_error_services= default" +"SET @save_filters= @@global.dragnet.log_error_filter_rules" +"SET @@global.dragnet.log_error_filter_rules= DEFAULT" "INSTALL COMPONENT ""file://component_log_filter_dragnet""" "SELECT variable_value AS decompiled_filter_rules FROM performance_schema.global_status WHERE variable_name=""dragnet.Status""" -"SET @save_filters= @@global.dragnet.log_error_filter_rules" "SET @@global.dragnet.log_error_filter_rules=""IF EXISTS source_line THEN unset source_line.""" "SHOW STATUS LIKE ""dragnet.Status""" "SET @@global.dragnet.log_error_filter_rules=""""" +"SET @@global.log_error_services=""log_sink_internal; log_sink_internal""" +"SET @@global.log_error_services=""log_filter_dragnet; log_filter_dragnet""" "SET @@global.log_error_services=""log_filter_dragnet; log_sink_internal""" +"SET @@global.dragnet.log_error_filter_rules='drop.'" +"SET @@global.dragnet.log_error_filter_rules='ELSE drop.'" "SET @@global.dragnet.log_error_filter_rules='IF EXISTS a OR NOT EXISTS b THEN drop.'" "SET @@global.dragnet.log_error_filter_rules='IF EXISTS a AND NOT EXISTS b THEN drop.'" "SET @@global.dragnet.log_error_filter_rules='IF EXISTS a AND NOT EXISTS b OR c>=5 THEN drop.'" @@ -54012,20 +59114,72 @@ AND data LIKE ""% UTC - mysqld got %""" "SET @@global.dragnet.log_error_filter_rules='IF err_code==ER_STARTUP THEN set err_code:=ER_YES.'" "SET @@global.dragnet.log_error_filter_rules='IF err_symbol==""ER_STARTUP"" THEN set err_symbol:=""ER_YES"".'" "SET @@global.dragnet.log_error_filter_rules='IF a==""\\\\a\\\"\\\'"" THEN set err_symbol:=""ER_YES"".'" +"SET @@global.dragnet.log_error_filter_rules='DRAUGR.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN set b==2.'" +"SET @@global.dragnet.log_error_filter_rules=""IF err_symbol=='ER_STARTUP THEN drop.""" +"SET @@global.dragnet.log_error_filter_rules=""IF err_symbol==ER_STARTUP' THEN drop.""" +"SET @@global.dragnet.log_error_filter_rules=""IF err_symbol=='ER_STARTUP\" THEN drop.""" +"SET @@global.dragnet.log_error_filter_rules=""IF err_symbol==\"ER_STARTUP' THEN drop.""" +"SET @@global.dragnet.log_error_filter_rules=""IF misc_cstring=='1' THEN drop.""" +"SET @@global.dragnet.log_error_filter_rules=""IF a=='1' THEN set misc_cstring:='abc'.""" +"SET @@global.dragnet.log_error_filter_rules=""IF EXISTS misc_cstring THEN drop.""" +"SET @@global.dragnet.log_error_filter_rules=""IF EXISTS foo THEN set component:=1.""" +"SET @@global.dragnet.log_error_filter_rules=""IF EXISTS foo THEN set component:=1..5.""" +"SET @@global.dragnet.log_error_filter_rules=""IF EXISTS foo THEN set prio:=1.5.""" +"SET @@global.dragnet.log_error_filter_rules=""IF err_symbol==ER_STARTUP""" +"SET @@global.dragnet.log_error_filter_rules=""IF NOT field THEN action.""" "SET @@global.dragnet.log_error_filter_rules=""IF\tEXISTS\tfield\tTHEN\tDROP.""" "SET @@global.dragnet.log_error_filter_rules=""IF\t \t\tEXISTS field\rTHEN\nDROP.\nIF EXISTS field2 THEN DROP.""" +"SET @@global.dragnet.log_error_filter_rules='IF err_symbol==ER_STARTUP THEN drop.'" +"SET @@global.dragnet.log_error_filter_rules='IF err_code==""ER_STARTUP"" THEN drop.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 AND b==3 THEN unset.'" +"SET @@global.dragnet.log_error_filter_rules='IF EXISTS a>0 THEN drop.'" +"SET @@global.dragnet.log_error_filter_rules='IF EXISTS a THEN drop'" +"SET @@global.dragnet.log_error_filter_rules=""IF EXISTS field THEN AND.""" +"SET @@global.dragnet.log_error_filter_rules=""IF EXISTS field DROP.""" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN set.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN set b.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN set b:=.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN set :=2.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN drop'" +"SET @@global.dragnet.log_error_filter_rules=NULL" "SELECT @@global.dragnet.log_error_filter_rules" "SET PERSIST dragnet.log_error_filter_rules= ''" +"SELECT @@session.dragnet.log_error_filter_rules" "SET @@global.dragnet.log_error_filter_rules=""IF prio>9999 THEN set prio:=WARNING.""" "SET @@global.dragnet.log_error_filter_rules=""IF prio>=ERROR THEN drop.""" "SET @@global.dragnet.log_error_filter_rules=""IF prio>=WARNING THEN drop.""" "SET @@global.dragnet.log_error_filter_rules=""IF prio>=NOTE THEN drop.""" "SET @@global.dragnet.log_error_filter_rules=""IF prio>=INFORMATION THEN drop.""" +"SET @@global.dragnet.log_error_filter_rules=""IF thread>=INFORMATION THEN drop.""" +"SET @@global.dragnet.log_error_filter_rules=""IF prio>=INFORMATION THEN set thread:=ERROR.""" +"SET @@global.dragnet.log_error_filter_rules=""IF prio>=NOUGAT THEN drop.""" "SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN drop. IF EXISTS source_line THEN unset source_line. IF msg== \'Parser saw: select 1\' THEN set a:=1. """ "SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN drop. IF EXISTS source_line THEN unset source_line. IF msg==\'Parser saw: select 1\' THEN set a:=1. """ +"SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN throttle 1/1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 .""" +"SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN drop. IF EXISTS source_line THEN unset source_line. IF err_code == 001045 THEN throttle 1/1.1.""" "SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN throttle 111/3600.""" "SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN throttle 111/604800.""" +"SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN throttle 111/604801.""" +"SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN throttle 111/0.""" +"SET @@global.dragnet.log_error_filter_rules=""IF prio>=9999 THEN throttle 111/-1.""" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN drop a.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle a.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle 1.5.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle 1/b.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle a/.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle -1/2.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle 0/2.'" "SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle 1/2 ELSE throttle 1/30.'" +"SET @@global.dragnet.log_error_filter_rules='ELSE.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 ELSE.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN drop ELSE drop ELSE drop.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN drop ELSE scream.'" +"SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN drop ELSE.'" +"SET @@global.dragnet.log_error_filter_rules='IF .'" +"SET @@global.dragnet.log_error_filter_rules='IF EXISTS a THEN.'" +"SET @@global.dragnet.log_error_filter_rules='IF a!!b THEN drop.'" +"SET @@global.dragnet.log_error_filter_rules='IF EXISTS.'" "SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle 1/2 ELSEIF a==5 THEN throttle 1/30.'" "SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle 1/2 ELSE IF a==5 THEN throttle 1/30.'" "SET @@global.dragnet.log_error_filter_rules='IF a==2 THEN throttle 1/5 ELSEIF a==5 THEN throttle 2/5 ELSE throttle 3/5.'" @@ -54070,6 +59224,7 @@ AND data LIKE ""% UTC - mysqld got %""" "INSTALL COMPONENT ""file://component_log_sink_json""" "SET @@global.log_error_services=""log_filter_dragnet; log_sink_test""" "SET @@global.log_error_services=""log_filter_dragnet; log_sink_json""" +"SET @@global.dragnet.log_error_filter_rules= REPEAT(""IF prio>9 THEN drop. "", 1025)" "SET @rules= CONCAT(""IF "", REPEAT(""x"", 20000), "">9 THEN drop."")" "SET @@global.dragnet.log_error_filter_rules=""IF subsystem=='Server' THEN SET msg := 'This is a message from the Server subsystem'.""" "SET @@global.dragnet.log_error_filter_rules=""IF subsystem == 'Server' THEN SET msg := 'Dropping subsystem if it is \"Server\" and setting it to Repl'. IF subsystem == 'Server' THEN UNSET subsystem. IF NOT EXISTS subsystem THEN SET subsystem := 'Repl'.""" @@ -54107,8 +59262,15 @@ ORDER BY logged" "SELECT @@global.syseventlog.facility" "SET @@global.syseventlog.facility= ""daemon""" "SET @@global.syseventlog.facility= ""local0""" +"SET @@global.syseventlog.facility= 9" +"SET GLOBAL syseventlog.facility= 0.01" +"SET SESSION syseventlog.facility= ""local1""" +"SET LOCAL syseventlog.facility= ""local1""" "SET @@global.syseventlog.facility= ""log_local5""" "SET @@global.syseventlog.facility= ""LOG_LOCAL7""" +"SET @@global.syseventlog.facility= ""9""" +"SET @@global.syseventlog.facility= ""local8""" +"SET @@global.syseventlog.facility= """"" "SET @@global.syseventlog.facility= @start_value" "SET @start_value= @@global.syseventlog.include_pid" "SET @@global.syseventlog.include_pid= DEFAULT" @@ -54117,11 +59279,20 @@ ORDER BY logged" "SET @@global.syseventlog.include_pid= 1" "SET @@global.syseventlog.include_pid= ON" "SET @@global.syseventlog.include_pid= OFF" +"SET @@global.syseventlog.include_pid= 9" +"SET GLOBAL syseventlog.include_pid= 0.01" +"SET SESSION syseventlog.include_pid= 0" +"SET LOCAL syseventlog.include_pid= 0" "SET @@global.syseventlog.include_pid= @start_value" "SET @start_value= @@global.syseventlog.tag" "SET @@global.syseventlog.tag= DEFAULT" "SET @@global.syseventlog.tag=""production""" "SET @@global.syseventlog.tag= """"" +"SET @@global.syseventlog.tag= 9" +"SET @@global.syseventlog.tag= ""path/like""" +"SET GLOBAL syseventlog.tag= 0.01" +"SET SESSION syseventlog.tag= ""staging""" +"SET LOCAL syseventlog.tag= ""staging""" "SET @@global.syseventlog.tag= @start_value" "call mtr.add_suppression(""filter_rules: *"")" "call mtr.add_suppression("".*No error message, or error message of non-string type. This is almost certainly a bug!"")" @@ -54180,7 +59351,6 @@ AND error_code=""MY-013129"" AND data LIKE ""%MY-003529%""" "SET GLOBAL log_error_services=""log_filter_dragnet;log_sink_json""" "SET PERSIST dragnet.log_error_filter_rules=""IF err_code==ER_BASEDIR_SET_TO THEN SET cat:='meow-wl14793'.""" "SET PERSIST log_error_services=""log_filter_dragnet;log_sink_json""" -"SET @@global.dragnet.log_error_filter_rules= DEFAULT" "SELECT JSON_EXTRACT(data,'$.err_symbol'),JSON_EXTRACT(data,'$.cat') FROM performance_schema.error_log WHERE LEFT(data,1)='{' @@ -54216,6 +59386,8 @@ Variable_name = 'general_log' or Variable_name = 'slow_query_log'" "show variables like 'general_log_file'" "show variables like 'slow_query_log_file'" "show variables like 'log_output'" +"set global general_log_file='/not existing path/log.master'" +"set global general_log_file=''" "set global general_log_file=default" "set global general_log= default" "set global slow_query_log= default" @@ -54239,6 +59411,10 @@ Variable_name = 'general_log' or Variable_name = 'slow_query_log'" "SET GLOBAL READ_ONLY = OFF" "SET GLOBAL general_log = @old_general_log" "SET GLOBAL slow_query_log = @old_slow_query_log" +"SET GLOBAL general_log_file= CONCAT('/not existing path/log.maste', 'r')" +"SET GLOBAL general_log_file= NULL" +"SET GLOBAL slow_query_log_file= CONCAT('/not existing path/log.maste', 'r')" +"SET GLOBAL slow_query_log_file= NULL" "SET GLOBAL general_log_file= @old_general_log_file" "SET GLOBAL slow_query_log_file= @old_slow_query_log_file" "SET GLOBAL general_log_file = 'bug32748.query.log'" @@ -54310,6 +59486,11 @@ where sql_text = 'select get_lock(\'bug27638\', 101)'" from mysql.general_log join join_test on (mysql.general_log.command_type = join_test.command_type)" "drop table join_test" +"lock tables mysql.general_log WRITE" +"lock tables mysql.slow_log WRITE" +"lock tables mysql.general_log READ" +"lock tables mysql.slow_log READ" +"lock tables mysql.slow_log READ LOCAL, mysql.general_log READ LOCAL" "show create table mysql.general_log" "show fields from mysql.general_log" "show create table mysql.slow_log" @@ -54326,26 +59507,30 @@ on (mysql.general_log.command_type = join_test.command_type)" "select sleep(2)" "select * from mysql.slow_log" "set @@session.long_query_time = @saved_long_query_time" +"lock tables general_log read local, help_category read local" "SET SESSION long_query_time = 1000" "drop table if exists mysql.renamed_general_log" "drop table if exists mysql.renamed_slow_log" "drop table if exists mysql.general_log_new" "drop table if exists mysql.slow_log_new" +"RENAME TABLE general_log TO renamed_general_log" +"RENAME TABLE slow_log TO renamed_slow_log" "create table general_log_new like general_log" "rename table general_log TO renamed_general_log, general_log_new TO general_log" "create table slow_log_new like slow_log" "rename table slow_log TO renamed_slow_log, slow_log_new TO slow_log" +"rename table general_log TO general_log_new, renamed_general_log TO general_log, slow_log to renamed_slow_log" "select * from renamed_general_log" "select * from renamed_slow_log" "set global general_log='OFF'" "RENAME TABLE general_log TO general_log2" "set global slow_query_log='OFF'" "RENAME TABLE slow_log TO slow_log2" +"set global general_log='ON'" +"set global slow_query_log='ON'" "RENAME TABLE general_log2 TO general_log" "RENAME TABLE slow_log2 TO slow_log" "SET SESSION long_query_time = @saved_long_query_time" -"set global general_log='ON'" -"set global slow_query_log='ON'" "drop table renamed_general_log, renamed_slow_log" "repair table general_log" "repair table slow_log" @@ -54664,6 +59849,7 @@ END " "drop table if exists renamed_slow_log" "SET GLOBAL log_output= 'TABLE'" "SELECT @@general_log" +"ALTER TABLE mysql.general_log DISCARD TABLESPACE" "SET @@session.long_query_time= @old_long_query_time" "SET @@global.log_output= @old_log_output" "SET @@global.slow_query_log= @old_slow_query_log" @@ -54680,9 +59866,11 @@ END " "SET global log_output = @old_log_output" "alter table mysql.general_log engine=myisam" "alter table mysql.slow_log engine=myisam" -"set default_storage_engine= MEMORY" -"drop table mysql.slow_log" "drop table mysql.general_log" +"drop table mysql.slow_log" +"set default_storage_engine= MEMORY" +"alter table mysql.slow_log engine=NonExistentEngine" +"alter table mysql.slow_log engine=memory" "CREATE TABLE `general_log` ( `event_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), @@ -54709,7 +59897,6 @@ ON UPDATE CURRENT_TIMESTAMP(6), ) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'" "SET GLOBAL log_output=@old_log_output" "CREATE TABLE bug49823 (event_time TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), user_host MEDIUMTEXT NOT NULL, thread_id BIGINT(21) UNSIGNED NOT NULL, server_id INTEGER UNSIGNED NULL, command_type VARCHAR(64) NOT NULL, argument MEDIUMBLOB NOT NULL) engine=MYISAM CHARACTER SET utf8mb3 comment=""General log""" -"RENAME TABLE general_log TO renamed_general_log" "RENAME TABLE test.bug49823 TO general_log" "DROP TABLE general_log" "RENAME TABLE renamed_general_log TO general_log" @@ -54815,6 +60002,8 @@ SELECT t3.j FROM t2 JOIN t2 AS t3 ON t2.pk <> t3.pk "create database d1" "create user 'sample'@'localhost' identified by 'password'" "grant all on d1.* to 'sample'@'localhost'" +"create database d2" +"create database D1" "drop user 'sample'@'localhost'" "drop database if exists d1" "CREATE DATABASE d1" @@ -54823,7 +60012,6 @@ SELECT t3.j FROM t2 JOIN t2 AS t3 ON t2.pk <> t3.pk "select * from T1" "GRANT SELECT ON t1 to user_1@localhost" "select * from information_schema.table_privileges" -"CREATE PROCEDURE p1() BEGIN END" "CREATE FUNCTION f1(i INT) RETURNS INT RETURN i+1" "GRANT USAGE ON db1.* to user_1@localhost" "GRANT EXECUTE ON PROCEDURE db1.P1 to user_1@localhost" @@ -54866,6 +60054,8 @@ SELECT t3.j FROM t2 JOIN t2 AS t3 ON t2.pk <> t3.pk "delete P1.*,p2.* from t1 as P1, t2 as P2 where P1.a=p2.a" "update t1 as p1, t2 as p2 SET p1.a=1,P2.a=1 where p1.a=P2.a" "update t1 as P1, t2 as P2 SET P1.a=1,p2.a=1 where P1.a=p2.a" +"select * from t1 c, t2 C" +"select C.a, c.a from t1 c, t2 C" "create table t2 like T1" "drop table if exists İ,İİ" "create table İ (s1 int)" @@ -54878,6 +60068,8 @@ SELECT t3.j FROM t2 JOIN t2 AS t3 ON t2.pk <> t3.pk "show create database mysql_TEST" "drop database mysql_TEST" "SELECT @@lower_case_table_names" +"ALTER TABLE MYSQL.general_log DISCARD TABLESPACE" +"ALTER TABLE mysql.GENERAL_LOG DISCARD TABLESPACE" "SET GLOBAL log_output= DEFAULT" "TRUNCATE TABLE MYSQL.general_log" "DROP TABLE IF EXISTS t1,t2,t3,t2aA,t1Aa" @@ -55085,6 +60277,55 @@ REFERENCES Customer(Id) "create view v1Aa as select * from t1aA" "create view v2aA as select * from v1aA" "create view v3Aa as select v2Aa.col1 from v2aA,t2Aa where v2Aa.col1 = t2aA.col1" +"update v2aA set col1 = (select max(col1) from v1Aa)" +"update v2Aa set col1 = (select max(col1) from t1Aa)" +"update v2aA set col1 = (select max(col1) from v2Aa)" +"update v2aA,t2Aa set v2Aa.col1 = (select max(col1) from v1aA) where v2aA.col1 = t2aA.col1" +"update t1aA,t2Aa set t1Aa.col1 = (select max(col1) from v1Aa) where t1aA.col1 = t2aA.col1" +"update v1aA,t2Aa set v1Aa.col1 = (select max(col1) from v1aA) where v1Aa.col1 = t2aA.col1" +"update t2Aa,v2Aa set v2aA.col1 = (select max(col1) from v1aA) where v2Aa.col1 = t2aA.col1" +"update t2Aa,t1Aa set t1aA.col1 = (select max(col1) from v1Aa) where t1Aa.col1 = t2aA.col1" +"update t2Aa,v1aA set v1Aa.col1 = (select max(col1) from v1aA) where v1Aa.col1 = t2aA.col1" +"update v2aA,t2Aa set v2Aa.col1 = (select max(col1) from t1aA) where v2aA.col1 = t2aA.col1" +"update t1Aa,t2Aa set t1aA.col1 = (select max(col1) from t1Aa) where t1aA.col1 = t2aA.col1" +"update v1aA,t2Aa set v1Aa.col1 = (select max(col1) from t1Aa) where v1aA.col1 = t2aA.col1" +"update t2Aa,v2Aa set v2aA.col1 = (select max(col1) from t1aA) where v2Aa.col1 = t2aA.col1" +"update t2Aa,t1Aa set t1aA.col1 = (select max(col1) from t1Aa) where t1aA.col1 = t2aA.col1" +"update t2Aa,v1Aa set v1aA.col1 = (select max(col1) from t1Aa) where v1Aa.col1 = t2aA.col1" +"update v2aA,t2Aa set v2Aa.col1 = (select max(col1) from v2aA) where v2Aa.col1 = t2aA.col1" +"update t1aA,t2Aa set t1Aa.col1 = (select max(col1) from v2aA) where t1aA.col1 = t2aA.col1" +"update v1aA,t2Aa set v1Aa.col1 = (select max(col1) from v2Aa) where v1aA.col1 = t2aA.col1" +"update t2Aa,v2aA set v2Aa.col1 = (select max(col1) from v2aA) where v2Aa.col1 = t2aA.col1" +"update t2Aa,t1Aa set t1aA.col1 = (select max(col1) from v2aA) where t1Aa.col1 = t2aA.col1" +"update t2Aa,v1Aa set v1aA.col1 = (select max(col1) from v2Aa) where v1Aa.col1 = t2aA.col1" +"update v3aA set v3Aa.col1 = (select max(col1) from v1aA)" +"update v3aA set v3Aa.col1 = (select max(col1) from t1aA)" +"update v3aA set v3Aa.col1 = (select max(col1) from v2aA)" +"update v3aA set v3Aa.col1 = (select max(col1) from v3aA)" +"delete from v2Aa where col1 = (select max(col1) from v1Aa)" +"delete from v2aA where col1 = (select max(col1) from t1Aa)" +"delete from v2Aa where col1 = (select max(col1) from v2aA)" +"delete v2Aa from v2aA,t2Aa where (select max(col1) from v1aA) > 0 and v2Aa.col1 = t2aA.col1" +"delete t1aA from t1Aa,t2Aa where (select max(col1) from v1Aa) > 0 and t1aA.col1 = t2aA.col1" +"delete v1aA from v1Aa,t2Aa where (select max(col1) from v1aA) > 0 and v1Aa.col1 = t2aA.col1" +"delete v2aA from v2Aa,t2Aa where (select max(col1) from t1Aa) > 0 and v2aA.col1 = t2aA.col1" +"delete t1aA from t1Aa,t2Aa where (select max(col1) from t1aA) > 0 and t1Aa.col1 = t2aA.col1" +"delete v1aA from v1Aa,t2Aa where (select max(col1) from t1aA) > 0 and v1aA.col1 = t2aA.col1" +"delete v2Aa from v2aA,t2Aa where (select max(col1) from v2Aa) > 0 and v2aA.col1 = t2aA.col1" +"delete t1Aa from t1aA,t2Aa where (select max(col1) from v2Aa) > 0 and t1Aa.col1 = t2aA.col1" +"delete v1Aa from v1aA,t2Aa where (select max(col1) from v2aA) > 0 and v1Aa.col1 = t2aA.col1" +"insert into v2Aa values ((select max(col1) from v1aA))" +"insert into t1aA values ((select max(col1) from v1Aa))" +"insert into v2aA values ((select max(col1) from v1aA))" +"insert into v2Aa values ((select max(col1) from t1Aa))" +"insert into t1aA values ((select max(col1) from t1Aa))" +"insert into v2aA values ((select max(col1) from t1aA))" +"insert into v2Aa values ((select max(col1) from v2aA))" +"insert into t1Aa values ((select max(col1) from v2Aa))" +"insert into v2aA values ((select max(col1) from v2Aa))" +"insert into v3Aa (col1) values ((select max(col1) from v1Aa))" +"insert into v3aA (col1) values ((select max(col1) from t1aA))" +"insert into v3Aa (col1) values ((select max(col1) from v2aA))" "drop view v3aA,v2Aa,v1aA" "drop table t1Aa,t2Aa" "create view v1Aa as select col1 from t1Aa as AaA" @@ -55164,6 +60405,8 @@ UNION SELECT /*+ MAX_EXECUTION_TIME(0) */ * FROM t1" "CREATE TABLE t1 (a INT, b VARCHAR(300))" "INSERT INTO t1 VALUES (1, 'string')" "SET @@SESSION.max_execution_time= 2" +"SELECT *, SLEEP(0.5) from t1" +"SELECT /*+ MAX_EXECUTION_TIME(1) */ * FROM t1" "ALTER TABLE t2 ADD c VARCHAR(200) default 'new_col'" "UPDATE t1 SET b= 'new_string'" "SELECT /*+ MAX_EXECUTION_TIME(3600000) */ (SELECT SLEEP(0.5)) AS true_if_subquery_is_timedout" @@ -55264,6 +60507,8 @@ AND CONVERT(VARIABLE_VALUE, UNSIGNED) > @time_set_failed" "select column_name from information_schema.columns where table_schema='test' and table_name='t1'" "insert low_priority into t1 values (1)" +"alter table t1 add index (not_exist)" +"alter table t1 add primary key (c1)" "alter table t1 drop column c2" "set debug_sync= 'after_open_table_mdl_shared_to_fetch_stats SIGNAL locked WAIT_FOR finish'" "set debug_sync= 'now WAIT_FOR locked'" @@ -55316,6 +60561,7 @@ insert into t3 values (new.j)" "SET DEBUG_SYNC= 'mdl_acquire_lock_wait SIGNAL finish'" "CREATE TABLE t2 (c1 INT, c2 VARCHAR(100), KEY(c1))" "set global log_output=@save_log_output" +"show fields from t2" "select column_name from information_schema.columns where table_schema='test' and table_name='t2'" "select table_name, table_type, auto_increment, table_comment @@ -55326,6 +60572,7 @@ from information_schema.tables where table_schema='test' and table_name='t2'" "set debug_sync='alter_table_copy_after_lock_upgrade SIGNAL alter_table_locked WAIT_FOR alter_go'" "set debug_sync='now WAIT_FOR alter_table_locked'" "set debug_sync='mdl_acquire_lock_wait SIGNAL alter_go'" +"update t1 set c3=c3+1 where c2 = 3" "drop tables if exists t1" "delete from t1 where i = 1" "SET DEBUG_SYNC= 'after_acquiring_mdl_lock_on_routine SIGNAL routine_locked WAIT_FOR grlwait'" @@ -55439,12 +60686,18 @@ WAIT_FOR cont_con3'" "SET DEBUG_SYNC= 'now SIGNAL done_con2'" "SET DEBUG_SYNC= 'now WAIT_FOR done_con2'" "SET DEBUG_SYNC= 'now WAIT_FOR got_lock_con1 NO_CLEAR_EVENT'" +"CREATE TABLESPACE `` ADD DATAFILE 'x.ibd'" "CREATE TABLESPACE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ADD DATAFILE 'x.ibd'" "DROP TABLESPACE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +"CREATE TABLESPACE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ADD DATAFILE 'x.ibd'" "CREATE TABLESPACE `¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥` ADD DATAFILE 'x.ibd'" "DROP TABLESPACE `¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥`" +"CREATE TABLESPACE `¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥` ADD DATAFILE 'x.ibd'" "CREATE TABLESPACE `€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€` ADD DATAFILE 'x.ibd'" "DROP TABLESPACE `€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€`" +"CREATE TABLESPACE `€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€` ADD DATAFILE 'x.ibd'" +"CREATE TABLESPACE `a𐍈` ADD DATAFILE 'x.ibd'" +"ALTER TABLESPACE ts1 ADD DATAFILE 'ts1_2.ibd'" "SET @start_session_value= @@session.lock_wait_timeout" "SET @@session.lock_wait_timeout= @start_session_value" "CREATE TABLE t1_src (pk INTEGER PRIMARY KEY) TABLESPACE ts1" @@ -55457,6 +60710,10 @@ WAIT_FOR cont_con3'" "DROP TABLE t2_new" "DROP TABLE t1_src" "DROP TABLE t2_src" +"ALTER TABLE t1 TABLESPACE ``" +"ALTER TABLE t1 TABLESPACE `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`" +"CREATE TABLE t2 (pk INTEGER PRIMARY KEY) TABLESPACE ``" +"CREATE TABLE t2 (pk INTEGER PRIMARY KEY) TABLESPACE `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`" "SELECT object_type, object_name, lock_type, lock_duration, lock_status FROM performance_schema.metadata_locks WHERE object_type LIKE 'TABLESPACE' @@ -55486,13 +60743,14 @@ WAIT_FOR cont'" "SET SESSION debug=""+d,tspr_post_se""" "SET SESSION debug=""-d,tspr_post_se""" "SET SESSION debug=""+d,tspr_post_update""" -"SET SESSION debug=""-d,tspr_post_update""" "ALTER TABLESPACE ts2 RENAME TO ts3" +"SET SESSION debug=""-d,tspr_post_update""" "SET SESSION debug=""+d,tspr_post_intcmt""" -"SET SESSION debug=""-d,tspr_post_intcmt""" "ALTER TABLESPACE ts3 RENAME TO ts4" +"SET SESSION debug=""-d,tspr_post_intcmt""" "DROP TABLESPACE ts4" "CREATE TABLE t1(i INT) TABLESPACE ts1" +"ALTER TABLESPACE ts1 RENAME TO t1" "CREATE TABLESPACE s1 ADD DATAFILE 's1.ibd'" "ALTER TABLE t1 TABLESPACE s1" "DROP TABLESPACE s1" @@ -55622,6 +60880,7 @@ INSERT_METHOD=LAST" "CREATE TABLE t5 (c1 varchar(100)) ENGINE=MRG_MYISAM UNION=(t1,t3) INSERT_METHOD=LAST" "ALTER TABLE t2 ENGINE=InnoDB" +"INSERT INTO t4 VALUES ('Beware')" "DROP TABLE IF EXISTS t1, t2, m1, m2" "CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1,t2) INSERT_METHOD=LAST" @@ -55658,6 +60917,8 @@ INSERT_METHOD=LAST" "update t3 set a=3 where a=9" "update t3 set a=6 where a=7" "create table t4 (a int not null, b char(10), key(a)) engine=MERGE UNION=(t1,t2)" +"select * from t4" +"alter table t4 add column c int" "create table mysqltest.t6 (a int not null primary key auto_increment, message char(20))" "create table t5 (a int not null, b char(20), key(a)) engine=MERGE UNION=(test.t1,mysqltest.t6)" "alter table t5 engine=myisam" @@ -55721,6 +60982,8 @@ ENGINE=MERGE UNION=(t1,t2)" "select * from t6 order by a,b" "insert into t1 values (99,NULL)" "select * from t4 where a+0 > 90" +"insert t5 values (1,1)" +"insert t6 values (2,1)" "insert t5 values (1,1) on duplicate key update b=b+10" "insert t6 values (2,1) on duplicate key update b=b+20" "select * from t5 where a < 3" @@ -55749,6 +61012,8 @@ ENGINE=MERGE UNION=(t1,t2)" "INSERT INTO t3 VALUES (3), (33)" "LOCK TABLES t3 READ" "CREATE TEMPORARY TABLE t4 (c1 INT NOT NULL) ENGINE=MERGE UNION=(t1,t2) +INSERT_METHOD=LAST SELECT * FROM t3" +"CREATE TEMPORARY TABLE t4 (c1 INT NOT NULL) ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST" "INSERT INTO t4 SELECT * FROM t3" "ALTER TABLE t4 UNION=(t1)" @@ -55789,6 +61054,9 @@ AND file_code = '0000000115' LIMIT 1" "insert into t2 values(1, 3)" "select * from t3 where x = 1 and y < 5 order by y" "select * from t3 where x = 1 and y < 5 order by y desc" +"create table t3 engine=merge union=(t1, t2) select * from t1" +"create table t3 engine=merge union=(t1, t2) select * from t2" +"create table t3 engine=merge union=(t1, t2) select (select max(a) from t2)" "create table t1 ( a double(14,4), b varchar(10), @@ -55831,11 +61099,13 @@ ENGINE=MERGE UNION (t1) INSERT_METHOD=FIRST" "check table t1, t2" "INSERT INTO t1 VALUES(2),(1)" "CREATE TABLE t2(a INT, KEY(a)) ENGINE=MERGE UNION=(t1)" +"SELECT * FROM t2 WHERE a=2" "CREATE TABLE t1(a INT) ENGINE=MEMORY" "CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t1)" "CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t3)" "CREATE TABLE t1(a INT, b TEXT)" "CREATE TABLE tm1(a TEXT, b INT) ENGINE=MERGE UNION=(t1)" +"SELECT * FROM tm1" "DROP TABLE t1, tm1" "CREATE TABLE t1(a SMALLINT, b SMALLINT)" "CREATE TABLE tm1(a INT) ENGINE=MERGE UNION=(t1)" @@ -55864,10 +61134,8 @@ b INT, INDEX(a,b))" "CREATE TABLE tm1(a INT) ENGINE=MERGE UNION=(t1, t2)" "CHECK TABLE tm1" "ALTER TABLE t2 MODIFY a INT" -"SELECT * FROM tm1" "DROP TABLE tm1, t1, t2" "CREATE TABLE t2 (c1 INT) ENGINE=MERGE UNION=(t1) INSERT_METHOD=FIRST" -"CREATE TABLE IF NOT EXISTS t1 SELECT * FROM t2" "CREATE TABLE t1 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MyISAM" "INSERT INTO t2 (id, ref) VALUES (1,3), (2,1), (3,2), (4,5), (4,4)" "CREATE TABLE t3 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MERGE @@ -55898,6 +61166,9 @@ UNION(t1)" "CREATE TABLE t4 (c1 INT, INDEX(c1))" "CREATE TABLE t2 (c1 INT) ENGINE= MRG_MYISAM UNION= (t1) INSERT_METHOD= LAST" "CREATE TABLE t2 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST" +"CREATE TABLE t3 ENGINE=MRG_MYISAM INSERT_METHOD=LAST SELECT * FROM t2" +"CREATE TABLE t3 ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST +SELECT * FROM t2" "CREATE TABLE t3 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2) INSERT_METHOD=LAST" "CREATE TABLE t4 LIKE t3" @@ -55925,6 +61196,7 @@ INSERT_METHOD=LAST" "ALTER TABLE t4 UNION=(t3)" "ALTER TABLE t4 UNION=(t3,t2)" "LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE" +"ALTER TABLE t4 UNION=(t3,t2,t1)" "CREATE TABLE t4 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1,t2,t3) INSERT_METHOD=LAST" "LOCK TABLES t4 WRITE, t3 WRITE, t2 WRITE, t1 WRITE" @@ -55962,6 +61234,406 @@ INSERT_METHOD=LAST" "INSERT INTO t2 (id, grp, id_rev) SELECT id, grp, id_rev FROM t1" "CREATE TABLE t3 (id INTEGER, grp TINYINT, id_rev INTEGER) ENGINE= MRG_MYISAM UNION= (t1, t2)" +"CREATE TABLE t1 ( a INT ) ENGINE=MyISAM" +"CREATE TABLE m1 ( a INT ) ENGINE=MRG_MYISAM UNION=(t1)" +"LOCK TABLES t1 WRITE, m1 WRITE" +"LOCK TABLES m1 WRITE, t1 WRITE" +"CREATE TABLE t1 (c1 INT, c2 INT) ENGINE= MyISAM" +"CREATE TABLE t2 (c1 INT, c2 INT) ENGINE= MyISAM" +"CREATE TABLE t3 (c1 INT, c2 INT) ENGINE= MRG_MYISAM UNION(t1, t2)" +"INSERT INTO t2 VALUES (2, 2)" +"ALTER TABLE t1 ENGINE= MEMORY" +"INSERT INTO t1 VALUES (0, 0)" +"CREATE TABLE t1 (c1 INT, KEY(c1))" +"CREATE TABLE t2 (c1 INT, KEY(c1)) ENGINE=MRG_MYISAM UNION=(t1) +INSERT_METHOD=FIRST" +"FLUSH TABLES t2, t1" +"CREATE TABLE t1 (ID INT) ENGINE=MYISAM" +"CREATE TABLE m1 (ID INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=FIRST" +"INSERT INTO m1 VALUES ()" +"LOCK TABLE t1 WRITE, m1 WRITE" +"FLUSH TABLES m1, t1" +"CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=FIRST" +"SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE +TABLE_SCHEMA = 'test' and TABLE_NAME='tm1'" +"CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM" +"CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM" +"CREATE TABLE t3(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM" +"CREATE TABLE t4(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) +ENGINE=MRG_MYISAM UNION=(t1, t2, t3)" +"INSERT INTO t1 VALUES (1,1), (1,2),(1,3), (1,4)" +"INSERT INTO t2 VALUES (2,1), (2,2),(2,3), (2,4)" +"INSERT INTO t3 VALUES (3,1), (3,2),(3,3), (3,4)" +"EXPLAIN SELECT COUNT(*) FROM t1" +"EXPLAIN SELECT COUNT(*) FROM t4" +"INSERT INTO t1 VALUES(0),(1),(2),(3),(4)" +"CREATE TABLE m1(a INT, KEY(a)) ENGINE=MERGE UNION=(t1)" +"ANALYZE TABLE m1" +"SELECT CARDINALITY FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA='test' AND TABLE_NAME='m1'" +"CREATE TABLE t2(a INT, b INT, dummy CHAR(16) DEFAULT '', KEY(a), KEY(b))" +"INSERT INTO t2(a,b) VALUES +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0), +(1,2)" +"CREATE TABLE t3(a INT, b INT, dummy CHAR(16) DEFAULT '', KEY(a), KEY(b)) +ENGINE=MERGE UNION=(t2) INSERT_METHOD=FIRST" +"LOCK TABLES t1 WRITE, t3 WRITE" +"INSERT INTO t3(a,b) VALUES(1,2)" +"SELECT t3.a FROM t1,t3 WHERE t3.b=2 AND t3.a=1" +"create table t1 ( +col1 int(10), +primary key (col1) +) ENGINE=MyISAM DEFAULT CHARSET=latin1" +"CREATE TABLE m1 ( +col1 int(10) NOT NULL +) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(t1)" +"insert into m1 (col1) values (1)" +"drop table m1, t1" +"CREATE TABLE t1 (c1 INT PRIMARY KEY) ENGINE=MyISAM" +"CREATE TABLE m1 (c1 INT NOT NULL) ENGINE=MRG_MyISAM INSERT_METHOD=LAST UNION=(t1)" +"INSERT INTO m1 VALUES (666)" +"REPLACE INTO m1 VALUES (666)" +"INSERT INTO m1 VALUES (666) ON DUPLICATE KEY UPDATE c1=c1+1" +"CREATE TABLE t1 (c1 INT, c2 INT, UNIQUE (c1), UNIQUE (c2))" +"CREATE TABLE m1 (c1 INT, c2 INT, UNIQUE (c1)) ENGINE=MRG_MyISAM INSERT_METHOD=LAST UNION=(t1)" +"INSERT INTO m1 VALUES (1,2)" +"INSERT INTO m1 VALUES (3,2)" +"DROP TABLE m1,t1" +"CREATE TABLE t1 (c1 INT, c2 INT, UNIQUE (c1))" +"CREATE TABLE m1 (c1 INT, c2 INT, UNIQUE (c2)) ENGINE=MRG_MyISAM INSERT_METHOD=LAST UNION=(t1)" +"INSERT INTO m1 VALUES (1,4)" +"CREATE TABLE t1 ( +col1 INT(10) +) ENGINE=MyISAM DEFAULT CHARSET=latin1" +"CREATE VIEW v1 as SELECT * FROM t1" +"CREATE TABLE m1 ( +col1 INT(10) +)ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(v1)" +"CREATE TABLE t1(c1 INT) ENGINE=MyISAM" +"CREATE TABLE m1(c1 INT) ENGINE=MERGE UNION=(t1)" +"ALTER TABLE m1 ADD INDEX idx_c1(c1)" +"ALTER TABLE t1 ADD INDEX idx_c1(c1)" +"DROP TABLE IF EXISTS m1,t1" +"CREATE TABLE t1(a int)engine=myisam" +"CREATE TABLE t2(a int)engine=myisam" +"CREATE TABLE t3(a int)engine=myisam" +"CREATE TABLE t4(a int)engine=myisam" +"CREATE TABLE t5(a int)engine=myisam" +"CREATE TABLE t6(a int)engine=myisam" +"CREATE TABLE t7(a int)engine=myisam" +"CREATE TABLE m1(a int)engine=merge union=(t1,t2,t3,t4,t5,t6,t7)" +"SELECT 1 FROM m1" +"HANDLER m1 OPEN" +"DROP TABLE m1,t1,t2,t3,t4,t5,t6,t7" +"CREATE TABLE t2(a int)" +"CREATE TABLE t3(a int) ENGINE = MERGE UNION(t1, t2)" +"CREATE TRIGGER tr1 AFTER INSERT ON t3 FOR EACH ROW CALL foo()" +"SHOW CREATE TRIGGER tr1" +"DROP TRIGGER tr1" +"CREATE DATABASE `test/1`" +"CREATE TABLE `test/1`.`t/1`(a INT)" +"CREATE TABLE m1(a INT) ENGINE=MERGE UNION=(`test/1`.`t/1`)" +"CREATE TABLE `test/1`.m1(a INT) ENGINE=MERGE UNION=(`test/1`.`t/1`)" +"SELECT * FROM `test/1`.m1" +"SHOW CREATE TABLE `test/1`.m1" +"DROP TABLE `test/1`.m1" +"DROP TABLE `test/1`.`t/1`" +"CREATE TEMPORARY TABLE `test/1`.`t/1`(a INT) ENGINE=MyISAM" +"CREATE TEMPORARY TABLE m1(a INT) ENGINE=MERGE UNION=(`test/1`.`t/1`)" +"CREATE TEMPORARY TABLE `test/1`.m1(a INT) ENGINE=MERGE UNION=(`test/1`.`t/1`)" +"DROP DATABASE `test/1`" +"CREATE TABLE t1 (a INT) ENGINE=MYISAM" +"CREATE TABLE t2 (b INT NOT NULL,c INT,d INT,e BLOB NOT NULL, +KEY idx0 (d, c)) ENGINE=MERGE" +"EXPLAIN SELECT * FROM t1 NATURAL RIGHT JOIN +t2 WHERE b SOUNDS LIKE e AND d = 1" +"DROP TABLE IF EXISTS m1, t1" +"CREATE TABLE t1 (c1 INT) ENGINE=MYISAM" +"CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1) INSERT_METHOD=LAST" +"LOCK TABLE m1 READ" +"REPAIR TABLE m1 USE_FRM" +"CREATE TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1)" +"CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM" +"REPAIR TABLE m1" +"CREATE TEMPORARY TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1)" +"CREATE TEMPORARY TABLE t1 (f1 BIGINT) ENGINE=MyISAM" +"drop table if exists t_parent" +"set @save_table_definition_cache=@@global.table_definition_cache" +"set @save_table_open_cache=@@global.table_open_cache" +"set @@global.table_open_cache=400" +"set @@global.table_definition_cache=400" +"set @a=null" +"set @a=concat(""create table t_parent (a int) union("", @a, +"") insert_method=first engine=mrg_myisam"")" +"prepare stmt from @a" +"prepare stmt from ""select * from t_parent""" +"drop table t_parent" +"set @@global.table_definition_cache=@save_table_definition_cache" +"set @@global.table_open_cache=@save_table_open_cache" +"DROP DATABASE IF EXISTS mysql_test1" +"CREATE DATABASE mysql_test1" +"CREATE TABLE m1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,mysql_test1.t2) +INSERT_METHOD=LAST" +"INSERT INTO mysql_test1.t2 VALUES (2)" +"DROP TABLE t1, mysql_test1.t2, m1" +"DROP DATABASE mysql_test1" +"INSERT INTO t1 (c1) VALUES (1)" +"CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2) INSERT_METHOD=FIRST" +"INSERT INTO t3 (c1) VALUES (1)" +"CREATE FUNCTION f1() RETURNS INT RETURN (SELECT MAX(c1) FROM t3)" +"CREATE VIEW v1 AS SELECT foo.c1 c1, f1() c2, bar.c1 c3, f1() c4 +FROM tm1 foo, tm1 bar, t3" +"DROP TABLE tm1, t1, t2, t3" +"CREATE TEMPORARY TABLE t1 (c1 INT) ENGINE=MyISAM" +"CREATE TEMPORARY TABLE t2 (c1 INT) ENGINE=MyISAM" +"CREATE TEMPORARY TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2) +INSERT_METHOD=FIRST" +"CREATE FUNCTION f1() RETURNS INT RETURN (SELECT MAX(c1) FROM tm1)" +"INSERT INTO tm1 (c1) VALUES (1)" +"SELECT f1() FROM (SELECT 1) AS c1" +"CREATE FUNCTION f1() RETURNS INT +BEGIN +CREATE TEMPORARY TABLE t1 (c1 INT) ENGINE=MyISAM; +CREATE TEMPORARY TABLE t2 (c1 INT) ENGINE=MyISAM; +CREATE TEMPORARY TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2); +INSERT INTO t1 (c1) VALUES (1); +RETURN (SELECT MAX(c1) FROM tm1); +END" +"SELECT f1() FROM (SELECT 1 UNION SELECT 1) c1" +"CREATE TEMPORARY TABLE t1 (c1 INT)" +"CREATE TEMPORARY TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1)" +"CREATE FUNCTION f1() RETURNS INT +BEGIN +CREATE TEMPORARY TABLE t2 (c1 INT); +ALTER TEMPORARY TABLE tm1 UNION=(t1,t2); +INSERT INTO t2 (c1) VALUES (2); +RETURN (SELECT MAX(c1) FROM tm1); +END",,syntax_error +"DROP TABLE tm1, t1" +"CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=LAST" +"INSERT INTO tm1 VALUES (1)" +"CREATE FUNCTION f1() RETURNS INT +BEGIN +INSERT INTO tm1 VALUES (1); +RETURN (SELECT MAX(c1) FROM tm1); +END" +"LOCK TABLE tm1 WRITE" +"CREATE TRIGGER t2_ai AFTER INSERT ON t2 +FOR EACH ROW INSERT INTO tm1 VALUES(11)" +"DROP TRIGGER t2_ai" +"CREATE TEMPORARY TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) +INSERT_METHOD=LAST" +"CREATE TABLE t9 (c1 INT) ENGINE=MyISAM" +"LOCK TABLE t9 WRITE" +"DROP TABLE tm1, t1, t9" +"CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) +INSERT_METHOD=LAST" +"CREATE TRIGGER tm1_ai AFTER INSERT ON tm1 +FOR EACH ROW INSERT INTO t1 VALUES(11)" +"LOCK TABLE tm1 WRITE, t1 WRITE" +"LOCK TABLE t1 WRITE, tm1 WRITE" +"DROP TRIGGER tm1_ai" +"CREATE TRIGGER tm1_ai AFTER INSERT ON tm1 +FOR EACH ROW SELECT max(c1) FROM t1 INTO @var" +"CREATE TABLE t3 (c1 INT) ENGINE=MyISAM" +"CREATE TABLE t4 (c1 INT) ENGINE=MyISAM" +"CREATE TABLE t5 (c1 INT) ENGINE=MyISAM" +"CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2,t3,t4,t5) +INSERT_METHOD=LAST" +"CREATE TRIGGER t2_au AFTER UPDATE ON t2 +FOR EACH ROW SELECT MAX(c1) FROM t1 INTO @var" +"CREATE FUNCTION f1() RETURNS INT +RETURN (SELECT MAX(c1) FROM t4)" +"LOCK TABLE tm1 WRITE, t1 WRITE, t2 WRITE, t3 WRITE, t4 WRITE, t5 WRITE" +"INSERT INTO t4 VALUES(4)" +"INSERT INTO t5 VALUES(5)" +"DROP TRIGGER t2_au" +"DROP TABLE tm1, t1, t2, t3, t4, t5" +"CREATE TEMPORARY TABLE t2 (c1 INT)" +"ALTER TABLE t1 ENGINE=MERGE UNION(t_not_exists, t2)" +"DROP TABLE IF EXISTS t1, t2, t3, t4, m1, m2" +"CREATE TABLE t1 (c1 INT, c2 INT) ENGINE=MyISAM" +"CREATE TABLE t2 (c1 INT, c2 INT) ENGINE=MyISAM" +"CREATE TEMPORARY TABLE m1 (c1 INT, c2 INT) ENGINE=MRG_MyISAM UNION=(t1,t2) +INSERT_METHOD=LAST" +"INSERT INTO t1 VALUES (111, 121)" +"INSERT INTO m1 VALUES (211, 221)" +"ALTER TABLE m1 RENAME m2" +"SHOW CREATE TABLE m2" +"ALTER TABLE m2 RENAME m1" +"ALTER TABLE m1 ADD COLUMN c3 INT" +"INSERT INTO m1 VALUES (212, 222, 232)" +"ALTER TABLE t2 ADD COLUMN c3 INT" +"ALTER TABLE m1 DROP COLUMN c3" +"INSERT INTO m1 VALUES (213, 223)" +"ALTER TABLE t1 DROP COLUMN c3" +"ALTER TABLE t2 DROP COLUMN c3" +"CREATE TABLE t3 (c1 INT, c2 INT) ENGINE=MyISAM" +"ALTER TABLE m1 UNION=(t1,t2,t3)" +"INSERT INTO m1 VALUES (311, 321)" +"CREATE TEMPORARY TABLE t4 (c1 INT, c2 INT) ENGINE=MyISAM" +"ALTER TABLE m1 UNION=(t1,t2,t3,t4)" +"INSERT INTO m1 VALUES (411, 421)" +"ALTER TABLE m1 ENGINE=MyISAM" +"INSERT INTO m1 VALUES (511, 521)" +"ALTER TABLE m1 ENGINE=MRG_MyISAM UNION=(t1,t2) +INSERT_METHOD=LAST" +"CREATE TEMPORARY TABLE t1 (c1 INT, c2 INT) ENGINE=MyISAM" +"INSERT INTO t1 VALUES (611, 621)" +"CREATE TABLE m2 SELECT * FROM m1" +"DROP TABLE m2" +"CREATE TEMPORARY TABLE m2 ENGINE=MyISAM SELECT * FROM m1" +"CREATE TABLE m2 (c1 INT, c2 INT) ENGINE=MRG_MyISAM UNION=(t3,t4) +INSERT_METHOD=LAST" +"CREATE TABLE m2 (c1 INT, c2 INT) ENGINE=MRG_MyISAM UNION=(t3,t4) +INSERT_METHOD=LAST SELECT * FROM m1" +"CREATE TEMPORARY TABLE m2 (c1 INT, c2 INT) ENGINE=MRG_MyISAM UNION=(t3,t4) +INSERT_METHOD=LAST SELECT * FROM m1" +"CREATE TABLE m2 LIKE m1" +"CREATE TEMPORARY TABLE m2 LIKE m1" +"CREATE TEMPORARY TABLE m2 (c1 INT, c2 INT) ENGINE=MRG_MyISAM UNION=(t3,t4) +INSERT_METHOD=LAST" +"SELECT * FROM m1,m2 WHERE m1.c1=m2.c1" +"DROP TABLE t1, t2, t3, t4, m1, m2" +"LOCK TABLE m1 WRITE, t1 WRITE, t2 WRITE" +"LOCK TABLE m1 WRITE" +"CREATE TABLE t3 (c1 int) ENGINE = MERGE UNION (t1,t2)" +"HANDLER t3 OPEN" +"create table t1 (c1 int not null)" +"create table t2 (c1 int not null)" +"create table t3 (c1 int not null)" +"create function f1 () returns int return (select max(c1) from t3)" +"create table t4 (c1 int not null) engine=merge union=(t1,t2) insert_method=last " +"select * from t4 where c1 < f1()" +"prepare stmt from ""select * from t4 where c1 < f1()""" +"drop table t4, t3, t2, t1" +"CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1)" +"ALTER TABLE m1 ADD INDEX (c1)" +"LOCK TABLE m1 WRITE, t1 WRITE" +"drop tables if exists t1, m1, m2" +"create table t1 (i int) engine=myisam" +"create table m1 (i int) engine=mrg_myisam union=(t1) insert_method=first" +"create table m2 like m1" +"show create table m1" +"show create table m2" +"drop tables m1, m2, t1" +"drop table if exists t1, t2, t3, m1, m2" +"create table t3 (b int)" +"create view v1 as select * from t3,t1" +"create table m1 (a int) engine=merge union (t1, t2) insert_method=last" +"create table m2 (a int) engine=merge union (t1, t2) insert_method=first" +"create temporary table tmp (b int)" +"insert into tmp (b) values (1)" +"insert into t3 (b) values (1)" +"insert into m1 (a) values ((select max(a) from m1))" +"insert into m1 (a) values ((select max(a) from m2))" +"insert into m1 (a) values ((select max(a) from t1))" +"insert into m1 (a) values ((select max(a) from t2))" +"insert into m1 (a) values ((select max(a) from t3, m1))" +"insert into m1 (a) values ((select max(a) from t3, m2))" +"insert into m1 (a) values ((select max(a) from t3, t1))" +"insert into m1 (a) values ((select max(a) from t3, t2))" +"insert into m1 (a) values ((select max(a) from tmp, m1))" +"insert into m1 (a) values ((select max(a) from tmp, m2))" +"insert into m1 (a) values ((select max(a) from tmp, t1))" +"insert into m1 (a) values ((select max(a) from tmp, t2))" +"insert into m1 (a) values ((select max(a) from v1))" +"insert into m1 (a) values ((select max(a) from tmp, v1))" +"update m1 set a = ((select max(a) from m1))" +"update m1 set a = ((select max(a) from m2))" +"update m1 set a = ((select max(a) from t1))" +"update m1 set a = ((select max(a) from t2))" +"update m1 set a = ((select max(a) from t3, m1))" +"update m1 set a = ((select max(a) from t3, m2))" +"update m1 set a = ((select max(a) from t3, t1))" +"update m1 set a = ((select max(a) from t3, t2))" +"update m1 set a = ((select max(a) from tmp, m1))" +"update m1 set a = ((select max(a) from tmp, m2))" +"update m1 set a = ((select max(a) from tmp, t1))" +"update m1 set a = ((select max(a) from tmp, t2))" +"update m1 set a = ((select max(a) from v1))" +"update m1 set a = ((select max(a) from tmp, v1))" +"delete from m1 where a = (select max(a) from m1)" +"delete from m1 where a = (select max(a) from m2)" +"delete from m1 where a = (select max(a) from t1)" +"delete from m1 where a = (select max(a) from t2)" +"delete from m1 where a = (select max(a) from t3, m1)" +"delete from m1 where a = (select max(a) from t3, m2)" +"delete from m1 where a = (select max(a) from t3, t1)" +"delete from m1 where a = (select max(a) from t3, t2)" +"delete from m1 where a = (select max(a) from tmp, m1)" +"delete from m1 where a = (select max(a) from tmp, m2)" +"delete from m1 where a = (select max(a) from tmp, t1)" +"delete from m1 where a = (select max(a) from tmp, t2)" +"delete from m1 where a = (select max(a) from v1)" +"delete from m1 where a = (select max(a) from tmp, v1)" +"drop table t1, t2, t3, m1, m2" +"DROP TABLE IF EXISTS t1, t2, t_not_exists" +"ALTER TABLE t1 engine= MERGE UNION (t_not_exists)" +"REPAIR TABLE t1 USE_FRM" +"CREATE TABLE t2(a INT) engine= MERGE UNION (t1)" +"REPAIR TABLE t2 USE_FRM" +"DROP TABLE IF EXISTS t1, m1" +"CREATE TABLE t1(a INT) engine=myisam" +"CREATE TABLE m1(a INT) engine=merge UNION(t1)" +"LOCK TABLES t1 READ, m1 WRITE" +"ALTER TABLE t1 engine=myisam" +"drop tables if exists t1, t2, t3, t4, m1" +"create table t1(id int) engine=myisam" +"create view t3 as select 1 as id" +"create table t4(id int) engine=memory" +"create table m1(id int) engine=merge union=(t1,t2,t3,t4)" +"select * from m1" +"check table m1" +"repair table m1" +"drop tables m1, t1, t4" +"drop view t3" +"drop table if exists t1, t2, m1" +"create function f1() returns int return (select count(*) from m1)" +"create temporary table t2 (a int) engine=myisam" +"create temporary table m1 (a int) engine=merge union=(t2)" +"select f1() from t1" +"drop tables t2, m1" +"create table m1 (a int) engine=merge union=(t2)" +"drop table m1" +"drop tables t1, t2, m1" +"create table m1 (a int) engine=merge union=(t1)" +"checksum table m1" +"drop tables t1, m1" +"create temporary table t1 (a int) engine=myisam" +"create temporary table m1 (a int) engine=merge union=(t1)" +"DROP TABLE IF EXISTS m1" +"DROP TRIGGER IF EXISTS trg1" +"DROP TABLE IF EXISTS q1" +"DROP TABLE IF EXISTS q2" +"CREATE TABLE m1(a INT) ENGINE = MERGE UNION (q1, q2)" +"CREATE TRIGGER trg1 BEFORE DELETE ON t1 +FOR EACH ROW +INSERT INTO m1 VALUES (1)" +"DROP TABLES IF EXISTS t1, t2, t3, t4" +"CREATE TEMPORARY TABLE t1(i INT) ENGINE= MyISAM" +"CREATE TEMPORARY TABLE t2(i INT) ENGINE= MERGE UNION= (t1) INSERT_METHOD= LAST" +"ALTER TABLE t2 INSERT_METHOD= FIRST" +"CREATE TABLE t3(i INT) ENGINE= MyISAM" +"CREATE TABLE t4(i int) ENGINE= MERGE UNION= (t3) INSERT_METHOD= LAST" +"ALTER TABLE t4 INSERT_METHOD= FIRST" +"CHECK TABLE t4" "select 1, 1.0, -1, ""hello"", NULL" "select a b, b c from t1 as t2" "CREATE TABLE t1 (id tinyint(3) default NULL, data varchar(255) default NULL)" @@ -56099,6 +61771,20 @@ ORDER BY 1" "select 2; select 3; select 4" +"select 5; +select 6; +select 50, 'abc';" +"select ""abcd'"";" +"select ""'abcd"";" +"select 5" +"select 'finish'" +"create table t1 (i int); +insert into t1 values (1); +select * from t1 where i = 1; +insert into t1 values (2),(3),(4); +select * from t1 where i = 2; +select * from t1 where i = 3" +"show status like 'Slow_queries'" "CALL mtr.add_suppression(""Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT."")" "CALL mtr.add_suppression(""REVOKE/GRANT failed while storing table level "" ""and column level grants in the privilege "" @@ -56180,9 +61866,10 @@ FOREIGN KEY (`ParId`) REFERENCES `t1` (`id`) "create table t2 (n int(10) not null primary key, d int(10))" "insert into t2 values(1,10),(2,20)" "LOCK TABLES t1 write, t2 read" +"DELETE t1.*, t2.* FROM t1,t2 where t1.n=t2.n" +"UPDATE t1,t2 SET t1.d=t2.d,t2.d=30 WHERE t1.n=t2.n" "UPDATE t1,t2 SET t1.d=t2.d WHERE t1.n=t2.n" "LOCK TABLES t1 write, t2 write" -"DELETE t1.*, t2.* FROM t1,t2 where t1.n=t2.n" "set sql_safe_updates=1" "create table t1 (n int(10), d int(10))" "create table t2 (n int(10), d int(10))" @@ -56195,11 +61882,11 @@ FOREIGN KEY (`ParId`) REFERENCES `t1` (`id`) "set timestamp=1038000000" "select n,d,unix_timestamp(t) from t1" "select n,d,unix_timestamp(t) from t2" +"UPDATE t1,t2 SET 1=2 WHERE t1.n=t2.n",,syntax_error "set timestamp=0" "insert into t1 values(1,1), (3,3)" "UPDATE t2 left outer join t1 on t1.n=t2.n SET t1.d=t2.d" "insert into t1 values(1,1),(1,2)" -"UPDATE t1,t2 SET t1.d=t2.d,t2.d=30 WHERE t1.n=t2.n" "insert into t1 values(1,1),(3,2)" "insert into t2 values(1,10),(1,20)" "UPDATE t1 a ,t2 b SET a.d=b.d,b.d=30 WHERE a.n=b.n" @@ -56250,6 +61937,7 @@ where t1.id1=t2.id2 and 0=1" "DELETE t1 FROM t1, t2 AS t3" "DELETE t4 FROM t1, t1 AS t4" "DELETE t3 FROM t1 AS t3, t1 AS t4" +"DELETE t1 FROM t1 AS t3, t2 AS t4" "INSERT INTO t1 values (1),(2)" "INSERT INTO t2 values (1),(2)" "DELETE t1 FROM t1 AS t2, t2 AS t1 where t1.a=t2.a and t1.a=1" @@ -56270,8 +61958,11 @@ where t1.id1=t2.id2 and 0=1" "create table t1 (a int, primary key (a))" "create table t2 (a int, primary key (a))" "create table t3 (a int, primary key (a))" +"delete t1,t3 from t1,t2 where t1.a=t2.a and t2.a=(select t3.a from t3 where t1.a=t3.a)" "create table t1 (col1 int)" "create table t2 (col1 int)" +"update t1,t2 set t1.col1 = (select max(col1) from t1) where t1.col1 = t2.col1" +"delete t1 from t1,t2 where t1.col1 < (select max(col1) from t1) and t1.col1 = t2.col1" "create table t1 ( aclid bigint not null primary key, status tinyint(1) not null @@ -56282,6 +61973,7 @@ aclid bigint, index idx_acl(aclid) ) engine = innodb" "insert into t2 values(1,null)" "delete t2, t1 from t2 left join t1 on (t2.aclid=t1.aclid) where t2.refid='1'" +"delete from t1,t2 using t1,t2 where t1.a=(select a from t1)" "create table t1 ( c char(8) not null ) engine=innodb" "insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9')" "insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F')" @@ -56309,10 +62001,12 @@ aclid bigint, index idx_acl(aclid) "create trigger trg_del_t3 before delete on t3 for each row insert into t1 values (1)" "insert into t2 values (1),(2)" "insert into t3 values (1),(2)" +"delete t3.* from t2,t3 where t2.a=t3.a" "select count(*) from t1 /* must be 0 */" "select count(*) from t3 /* must be 2 */" "CREATE TABLE t1( a INT, KEY( a ) )" "SET SESSION sql_safe_updates = 1" +"UPDATE IGNORE t1, t1 t1a SET t1.a = 1 WHERE t1a.a = 1" "SET SESSION sql_safe_updates = 0" "UPDATE IGNORE ( SELECT ( SELECT COUNT(*) FROM t1 GROUP BY a, @v ) a FROM t2 ) x, t3 @@ -56335,6 +62029,8 @@ WITH LOCAL CHECK OPTION" "UPDATE v1 SET f1 = 1" "UPDATE IGNORE t1, (SELECT 1 AS duplicate_id) AS t2 SET t1.id=t2.duplicate_id" "CREATE VIEW v AS SELECT t1.a FROM t1,t1 q" +"UPDATE v SET a=1 ORDER BY a" +"UPDATE v SET a=1 LIMIT 3" "CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB" "CREATE TABLE t2 (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=InnoDB" "CREATE TABLE t3 (f1 INTEGER) ENGINE=INNODB" @@ -56346,6 +62042,9 @@ WITH CHECK OPTION" "UPDATE t1 JOIN v2 ON t1.f1=v2.f1 SET f2 = f2 + 1 WHERE t1.f1=1" +"UPDATE t1 JOIN v2 ON t1.f1=v2.f1 +SET f2 = f2 + 1 +WHERE t1.f1=2" "CREATE TABLE t1 (c1 INTEGER, c2 INTEGER, KEY(c1))" "CREATE TABLE t2 (c1 INTEGER, c2 INTEGER)" "CREATE TABLE t3 (c1 INTEGER, c2 INTEGER)" @@ -56353,6 +62052,7 @@ WHERE t1.f1=1" "INSERT INTO t2 VALUES(11,1),(12,1),(13,1),(14,2),(15,6)" "INSERT INTO t3 VALUES(21,11),(22,11),(23,13),(24,14),(25,15)" "PREPARE s FROM 'UPDATE t1, (SELECT 1 FROM DUAL) AS dt SET a=a+1'" +"SET @aux = @@session.debug" "CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL) " "INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4)" "set @d=4" @@ -56372,6 +62072,8 @@ b INT, PRIMARY KEY (pk) ) ENGINE=InnoDB" "INSERT INTO t1 VALUES (0,0,0)" +"UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2" +"UPDATE v1 AS A, t1 AS B SET A.pk = 1, B.a = 2" "UPDATE t1 AS A, t1 AS B SET A.a = 1, B.b = 2" "CREATE TABLE t1 ( col_int_key int, @@ -56389,10 +62091,14 @@ key(col_int_key), primary key (pk_1,pk_2) ) ENGINE=InnoDB" "INSERT INTO t2 VALUES (1,2,3,4)" +"UPDATE t1 AS A NATURAL JOIN t1 B SET A.pk=5,B.pk=7" +"UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_1=5,B.pk_1=7" +"UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_2=10,B.pk_2=11" "CREATE TABLE table_11757486 (field1 tinyint) ENGINE=INNODB" "INSERT INTO table_11757486 VALUES (0),(0)" "SET SESSION SQL_MODE=default" "UPDATE IGNORE (SELECT 128 as col1) x, table_11757486 SET field1=x.col1" +"UPDATE (SELECT 128 as col1) x, table_11757486 SET field1=x.col1" "DROP TABLE table_11757486" "INSERT INTO t1 VALUES (0),(0),(1)" "CREATE TABLE t2(b INT) ENGINE=INNODB" @@ -56431,7 +62137,6 @@ a INT, PRIMARY KEY (pk) ) ENGINE=MyISAM" "INSERT INTO t1 VALUES (0,0)" -"UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2" "CREATE TABLE t1 ( col_int_key int, pk int, @@ -56447,9 +62152,6 @@ col_int int, key(col_int_key), primary key (pk_1,pk_2) ) ENGINE=MyISAM" -"UPDATE t1 AS A NATURAL JOIN t1 B SET A.pk=5,B.pk=7" -"UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_1=5,B.pk_1=7" -"UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_2=10,B.pk_2=11" "CREATE TABLE table_11757486 (field1 tinyint) ENGINE=MYISAM" "CREATE TABLE `t1` ( `a` int(11) NOT NULL auto_increment, @@ -56465,10 +62167,12 @@ PRIMARY KEY (`a`) "set @@session.binlog_format= mixed" "insert into t1 values (1,1),(2,2)" "insert into t2 values (1,1),(4,4)" +"UPDATE t2,t1 SET t2.a=t1.a+2" "select * from t2 /* must be (3,1), (4,4) */" "delete from t2" "insert into t1 values (1,2),(3,4),(4,4)" "insert into t2 values (1,2),(3,4),(4,4)" +"UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a" "set @@session.binlog_format= @sav_binlog_format" "CREATE TABLE t1 ( pk int NOT NULL, @@ -56754,7 +62458,9 @@ KEY `topic_id` (`topic_id`), FULLTEXT KEY `post_text` (`post_text`) ) ENGINE=MyISAM" "INSERT INTO t1 (post_text) VALUES ('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test')" +"CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), KEY t1 (a, b, c, d, e))" "CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255))" +"ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e)" "CREATE TABLE t1 (a int not null, b int, c int, key(b), key(c), key(a,b), key(c,a))" "INSERT into t1 values (0, null, 0), (0, null, 1), (0, null, 2), (0, null,3), (1,1,4)" "create table t2 (a int not null, b int, c int, key(b), key(c), key(a))" @@ -56802,6 +62508,8 @@ FULLTEXT KEY `post_text` (`post_text`) "insert into t1 (b) values ('a'),('b'),('c')" "select concat(b,'.') from t1" "update t1 set b='b\b' where a=2" +"update t1 set b='B' where a > 1" +"insert into t1 (b) values ('b')" "delete from t1 where b='b'" "select a,concat(b,'.') from t1" "create table t2 (a int not null, primary key (a))" @@ -56830,6 +62538,7 @@ key (c1) "SELECT t1.c1 AS t1c1, t2.c1 AS t2c1 FROM t1, t2 WHERE t1.c1 = t2.c1 HAVING t1c1 != t2c1" "INSERT INTO t2 VALUES ('test000001'), ('test000005')" +"CREATE TABLE t1 (`a` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0', UNIQUE KEY `a` USING RTREE (`a`,`b`)) ENGINE=MyISAM" "create table t1 (a int, b varchar(200), c text not null) checksum=1" "create table t2 (a int, b varchar(200), c text not null) checksum=0" "insert t1 values (1, ""aaa"", ""bbb""), (NULL, """", ""ccccc""), (0, NULL, """")" @@ -56926,7 +62635,6 @@ KEY (`length_`) (9,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'sample9','')" "SELECT _id FROM t1" "DELETE FROM t1 WHERE _id < 8" -"SHOW TABLE STATUS LIKE 't1'" "REPAIR TABLE t1 QUICK" "CREATE TABLE t1(a VARCHAR(16))" "INSERT INTO t1 VALUES('aaaaaaaa'),(NULL)" @@ -57074,6 +62782,7 @@ KEY (`length_`) "create table t1 (v varchar(65530), key(v)) charset latin1" "create table t1 (v varchar(65536))" "create table t1 (v varchar(65530) character set utf8mb3)" +"create table t1 (v varchar(65535)) charset latin1" "set @save_concurrent_insert=@@concurrent_insert" "set global concurrent_insert=1" "lock table t1 read local" @@ -57093,6 +62802,7 @@ KEY (`length_`) "create table t1 (c1 int) engine=myisam pack_keys=0" "create table t2 (c1 int) engine=myisam pack_keys=1" "create table t3 (c1 int) engine=myisam pack_keys=default" +"create table t4 (c1 int) engine=myisam pack_keys=2",,syntax_error "CREATE TABLE t1(a INT, b INT, KEY inx (a), UNIQUE KEY uinx (b)) ENGINE=MyISAM" "INSERT INTO t1(a,b) VALUES (1,1),(2,2),(3,3),(4,4),(5,5)" "SELECT a FROM t1 FORCE INDEX (inx) WHERE a=1" @@ -57107,7 +62817,6 @@ KEY (`length_`) "CREATE TABLE t1 (a INT) ENGINE=MyISAM CHECKSUM=1 ROW_FORMAT=DYNAMIC" "UPDATE t1 SET a=1" "INSERT INTO t1 VALUES (0), (5), (4), (2)" -"UPDATE t1 SET a=2" "CREATE TABLE t1( a VARCHAR(1), b VARCHAR(1), c VARCHAR(1), f VARCHAR(1), g VARCHAR(1), h VARCHAR(1), @@ -57134,6 +62843,8 @@ WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1'" "create table t1 (a int not null, key `a` (a) key_block_size=512)" "create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000)" "create table t1 (a int not null, key `a` (a) key_block_size=1025)" +"create table t1 (a int not null, key key_block_size=1024 (a))",,syntax_error +"create table t1 (a int not null, key `a` key_block_size=1024 (a))",,syntax_error "CREATE TABLE t1 ( c1 INT, c2 VARCHAR(300), @@ -57218,7 +62929,9 @@ KEY (h, d, e, g) "SELECT f FROM t1 WHERE d = 1 AND e = 2 AND g = 0 AND h = 1" "SELECT h+0, d + 0, e, g + 0 FROM t1" "CREATE TABLE t1 (line LINESTRING NOT NULL) engine=myisam" +"INSERT INTO t1 VALUES (ST_GeomFromText(""POINT(0 0)""))" "CREATE TABLE t2 (line LINESTRING NOT NULL) engine=myisam" +"INSERT INTO t2 VALUES (ST_GeomFromText(""POINT(0 0)""))" "CREATE TABLE t3 select * from t1" "checksum table t3" "CREATE TABLE t1(a INT, b CHAR(10), KEY(a), KEY(b)) charset latin1" @@ -57286,6 +62999,7 @@ KEY a (a,b) "call mtr.add_suppression("" '\..test.t1'"")" "SELECT @@global.myisam_recover_options" "CREATE TABLE t1 (a INT, KEY (a)) ENGINE=MyISAM" +"ALTER TABLE t1 ENGINE = MyISAM" "CREATE TABLE t1 (f1 year, key k1(f1)) ENGINE=MYISAM" "INSERT INTO t1 VALUES(0000),(0000)" "SELECT * FROM t1 FORCE INDEX(k1) WHERE f1 = 'lhsi'" @@ -57542,7 +63256,9 @@ WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1'" "INSERT INTO b34303841 (id2) VALUES (repeat('a',16777216))" "DROP TABLE b34303841" "CREATE USER native_password_user IDENTIFIED WITH mysql_native_password BY 'abcd'" +"CREATE USER native_password_user_2 IDENTIFIED WITH mysql_native_password BY 'abcd'" "CREATE USER regular_user" +"ALTER USER regular_user IDENTIFIED WITH mysql_native_password BY 'abcd'" "DROP USER native_password_user, regular_user" "SELECT COUNT(*) AS must_be_zero_for_test FROM performance_schema.session_connect_attrs WHERE attr_name IN ('os_user', 'os_sudouser') AND PROCESSLIST_ID=CONNECTION_ID()" "CREATE USER u1@localhost IDENTIFIED BY 'secret' REQUIRE SSL" @@ -57596,16 +63312,18 @@ WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1'" ('%','su_old_pass_pn','0f0ea7602c473904','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N'), ('%','user_nat_pass_pn','*46ABF58B20022A84DF7B2E8B1AC8219C8DA71553','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,NULL,'','N'), ('%','user_nat_pass_wp','*46ABF58B20022A84DF7B2E8B1AC8219C8DA71553','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0,'mysql_native_password','','N')" +"SELECT * FROM mysql.user WHERE user=""user_nat_pass_pn""" +"GRANT ALL PRIVILEGES ON mysql.* TO 'user_nat_pass_pn'@'%' WITH GRANT OPTION" +"REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_nat_pass_pn'@'%'" "SELECT authentication_string FROM mysql.user where user='user_nat_pass_pn'" "SELECT password_expired FROM mysql.user where user='user_nat_pass_pn'" +"ALTER USER 'user_nat_pass_pn'@'%' PASSWORD EXPIRE" "SELECT authentication_string FROM mysql.user WHERE user='user_nat_pass_pn'" "SELECT password_expired FROM mysql.user WHERE user='user_nat_pass_pn'" "UPDATE mysql.user SET authentication_string='' WHERE user='user_nat_pass_pn'" "UPDATE mysql.user SET Select_priv='Y', Insert_priv='Y', Update_priv='Y', Delete_priv='Y', Create_priv='Y', Drop_priv='Y', Reload_priv='Y', Shutdown_priv='Y', Process_priv='Y', File_priv='Y', Grant_priv='Y', References_priv='Y', Index_priv='Y', Alter_priv='Y', Show_db_priv='Y', Super_priv='Y', Create_tmp_table_priv='Y', Lock_tables_priv='Y', Execute_priv='Y', Repl_slave_priv='Y', Repl_client_priv='Y', Create_view_priv='Y', Show_view_priv='Y', Create_routine_priv='Y', Alter_routine_priv='Y', Create_user_priv='Y', Event_priv='Y', Trigger_priv='Y', Create_tablespace_priv='Y' where user=""user_nat_pass_pn""" -"SELECT * FROM mysql.user WHERE user=""user_nat_pass_pn""" "call mtr.add_suppression(""User entry 'user_old_pass_pn'@'%' has an empty plugin value. The user will be ignored and no one can login with this user anymore."")" "call mtr.add_suppression(""User entry 'su_old_pass_pn'@'%' has an empty plugin value. The user will be ignored and no one can login with this user anymore."")" -"ALTER USER 'user_nat_pass_pn'@'%' PASSWORD EXPIRE" "SET PASSWORD FOR user_nat_pass_pn@'%' = 'lala'" "ALTER USER 'user_nat_pass_wp'@'%' ACCOUNT LOCK" "SELECT account_locked FROM mysql.user WHERE user='user_nat_pass_wp'" @@ -57766,6 +63484,10 @@ end; "CREATE TABLE t1(id int)" "SET GLOBAL SERVER_ID = 2" "BINLOG ' +RaNlZRMBAAAAMAAAAG0DAAAAAG8AAAAAAAEABHRlc3QAAnQxAAEDAAEBAQAg5VHP +RaNlZR4BAAAAKAAAAJUDAAAAAG8AAAAAAAEAAgAB/wACAAAAczmjEA== +'" +"BINLOG ' YKFlZQ8BAAAAegAAAH4AAAABAAQAOC4zLjAtZGVidWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAABgoWVlEwANAAgAAAAABAAEAAAAYgAEGggAAAAICAgCAAAACgoKKioAEjQA CigAAcmi5+o= @@ -57778,6 +63500,14 @@ YKNlZR4BAAAAKAAAANMEAAAAAG8AAAAAAAEAAgAB/wADAAAA50UVkQ== 4CdYRw8BAAAAYgAAAGYAAAAAAAQANS4xLjE1LW5kYi02LjEuMjQtZGVidWctbG9nAAAAAAAAAAAA AAAAAAAAAAAAAAAAAADgJ1hHEzgNAAgAEgAEBAQEEgAATwAEGggICAg= '" +"BINLOG ' +jKNlZRMBAAAAMAAAAOkFAAAAAG8AAAAAAAEABHRlc3QAAnQxAAEDAAEBAQCwxzWH +jKNlZR4BAAAAKAAAABEGAAAAAG8AAAAAAAEAAgAB/wAFAAAAVI7NfA== +'" +"BINLOG ''" +"BINLOG '123'" +"BINLOG '-2079193929'" +"BINLOG 'xç↓%~∙D╒ƒ╡'" "CREATE TABLE t1(s INT)" "CREATE TABLE T1(s INT)" "SET @a= 10" @@ -57800,7 +63530,6 @@ AAAAAAAAAAAAAAAAAADgJ1hHEzgNAAgAEgAEBAQEEgAATwAEGggICAg= "UPDATE t1 SET c1 = CONCAT(c1, c1)" "DELETE FROM t1 WHERE c1 >= 'ManyMegaByteBlck'" "SET TIMESTAMP= UNIX_TIMESTAMP(""2034-01-01 12:00:00"")" -"INSERT INTO t1 VALUES(4)" "DROP TABLE IF EXISTS t1, `t``1`, `t 1`" "SET @have_ndb= (select count(engine) from information_schema.engines where engine='ndbcluster')" "SET @create_cmd=""CREATE TABLE mysql.ndb_binlog_index (i INTEGER PRIMARY KEY) @@ -57830,6 +63559,7 @@ ENGINE=INNODB STATS_PERSISTENT=0""" "create table t_bug25347 (a int) engine=myisam" "create view v_bug25347 as select * from t_bug25347" "insert into t_bug25347 values (1),(2),(3)" +"insert into t_bug25347 values (4),(5),(6)" "insert into t_bug25347 values (7),(8),(9)" "select * from t_bug25347" "select * from v_bug25347" @@ -57913,7 +63643,6 @@ ST_AsText(g) FROM t1" "insert into t6 values (3, 'first value')" "insert into t6 values (4, 'first value')" "insert into t6 values (5, 'first value')" -"select * from t4" "select * from t5" "select * from t6" "CREATE TABLE `t1` ( @@ -59010,6 +64739,7 @@ UNIQUE KEY (`'order'_'id'`, `product'_'id`) "INSERT INTO t1 VALUES ('1.2345', 2.3456)" "INSERT INTO t1 VALUES ('1.2345', 2.3456)",ANSI_QUOTES "INSERT INTO t1 VALUES (""1.2345"", 2.3456)" +"INSERT INTO t1 VALUES (""1.2345"", 2.3456)",ANSI_QUOTES "SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ANSI_QUOTES'" "SET SQL_MODE=@OLD_SQL_MODE",ANSI_QUOTES "CREATE TABLE t1(a int, b text, c varchar(3))" @@ -59528,7 +65258,6 @@ BEGIN SET new.a = 0; END",IGNORE_SPACE "SET SQL_MODE = @old_sql_mode",IGNORE_SPACE -"DROP TRIGGER tr1" "create table t1 (a binary(1), b blob)" "insert into t1 values ('','')" "create definer = CURRENT_USER view v1 as select * from t1" @@ -59560,7 +65289,6 @@ return 42 */" select 42 */" "show create function f" "show create procedure p" -"drop function f" "drop procedure p" "create table t1 ( id serial )" "insert into t1 values (1232131)" @@ -59684,7 +65412,6 @@ select 42 */" "SELECT view_definition FROM INFORMATION_SCHEMA.VIEWS WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1'" -"create view v1 as select a from t1" "drop table if exists `load`" "create table `load` (a varchar(255))" "select count(*) from `load`" @@ -60121,6 +65848,8 @@ VALUES (111, 222, JSON_OBJECT('data', REPEAT('LotsOfData', 250000)))" "select 1+1" "select 1+2" "SHOW GLOBAL VARIABLES LIKE 'thread_handling'" +"select @@session.thread_handling" +"set GLOBAL thread_handling='one-thread'" "SELECT @@GLOBAL.log_bin" "SELECT @@GLOBAL.log_replica_updates" "/*!99999 SET @@SESSION.non_supported_session_variable = 1*/" @@ -60154,15 +65883,24 @@ END" "CREATE TABLE t1 (a int) ENGINE=MyISAM" "CREATE TABLE t5 (a int) ENGINE=InnoDB" "SET @@debug=""+d,rm_table_no_locks_abort_before_atomic_tables""" +"DROP TABLE t1, t5" "SET @@debug=""-d,rm_table_no_locks_abort_before_atomic_tables""" "CREATE TEMPORARY TABLE tmp1 (a int)" +"DROP TEMPORARY TABLE tmp1, t2" "CREATE USER u1@h" "SELECT user FROM mysql.user where user='u1'" +"GRANT SELECT(a), SELECT(c) ON t1 TO u1@h" "SELECT user, column_name, column_priv FROM mysql.columns_priv" +"GRANT SELECT(a) ON t1 TO u1@h, u2@h" +"REVOKE SELECT(a), SELECT(b) ON t1 FROM u1@h" +"DROP USER u1@h, u2@h" +"RENAME TABLE t1 TO t2, t3 TO t4" "OPTIMIZE TABLE t1, t_non_existent" "ANALYZE TABLE t1, t_non_existent" "REPAIR TABLE t1, t_non_existent" "CHECKSUM TABLE t1, t_non_existent" +"RENAME USER u1@h TO u11@h, u3@h TO u33@h" +"ALTER USER u1@h, u3@h PASSWORD EXPIRE" "DROP USER u1@h" "SET GTID_NEXT = 'ANONYMOUS'" "CREATE TABLE t2 (a int) ENGINE=InnoDB" @@ -60173,11 +65911,15 @@ END" "SET @@GLOBAL.GTID_MODE = OFF_PERMISSIVE" "SET SESSION autocommit = 0" "CREATE TEMPORARY TABLE Temp1 SELECT RAND()" +"SET SESSION GTID_NEXT = '11111111-AAAA-2222-BBBB-000000000000:1'" "CREATE TEMPORARY TABLE Temp2(c1 INT)" +"SET SESSION GTID_NEXT = '11111111-AAAA-2222-BBBB-000000000000:2'" "CREATE TEMPORARY TABLE Temp3 LIKE Temp2" +"SET SESSION GTID_NEXT = '11111111-AAAA-2222-BBBB-000000000000:3'" "SET SESSION GTID_NEXT = '11111111-AAAA-2222-BBBB-000000000000:4'" "SET SESSION GTID_NEXT = 'automatic'" "DROP TEMPORARY TABLE Temp1,Temp2,Temp3" +"SET SESSION GTID_NEXT='11111111-AAAA-2222-BBBB-000000000000:5'" "SET SESSION autocommit = 1" "SET @@GLOBAL.GTID_MODE = OFF" "call mtr.add_suppression(""You need to use --log-bin to make --log-replica-updates work."")" @@ -60185,11 +65927,14 @@ END" "SET DEFAULT_STORAGE_ENGINE= MyISAM" "SET SQL_MODE= 'NO_ENGINE_SUBSTITUTION'" "CREATE TABLE t1(c1 INT) ENGINE= MyISAM" +"CREATE TABLE t2(c1 INT) ENGINE= InnoDB" +"CREATE TEMPORARY TABLE t2(c1 INT) ENGINE= InnoDB" +"ALTER TABLE t1 ENGINE= InnoDB" "CREATE TABLE t2 (c1 INT) ENGINE=MYISAM" "SET @old_default_engine= @@default_storage_engine" "SET DEFAULT_STORAGE_ENGINE= InnoDB" -"ALTER TABLE t2 ENGINE=example" "CREATE TABLE t2(c1 INT) ENGINE= MyISAM" +"ALTER TABLE t2 ENGINE=example" "CREATE TEMPORARY TABLE t4(c1 INT) ENGINE= MyISAM" "CREATE TABLE t5 (c1 INT) ENGINE= ARCHIVE" "ALTER TABLE t5 ENGINE= MyISAM" @@ -60198,6 +65943,8 @@ BEGIN CREATE TABLE t6(c1 INT) ENGINE= MyISAM; END " "CREATE TABLE t7 (c1 INT) ENGINE= EXAMPLE" +"CREATE TABLE t8 (c1 INT) ENGINE= MyISAM" +"CREATE TABLE t8 (c1 INT) ENGINE= EXAMPLE" "SET sql_mode = """"" "CREATE TABLE parent_table (i INT PRIMARY KEY)" "CREATE TABLE child_table ( @@ -60212,45 +65959,47 @@ REFERENCES parent_table (i) ON DELETE CASCADE "CREATE TEMPORARY TABLE tt1 LIKE performance_schema.setup_consumers" "SHOW CREATE TABLE tt1" "SET default_tmp_storage_engine=MYISAM" +"CREATE TEMPORARY TABLE tt1(c1 INT)" "UNINSTALL PLUGIN EXAMPLE" "SET @@default_storage_engine=@old_default_engine" "SET sql_mode= DEFAULT" "SET DEFAULT_TMP_STORAGE_ENGINE= MyISAM" "SET SQL_MODE='NO_ENGINE_SUBSTITUTION'" +"CREATE TABLE t1 (c1 INT) ENGINE= ARCHIVE" +"CREATE TEMPORARY TABLE t1 (c1 INT) ENGINE= ARCHIVE" +"ALTER TABLE t1 ENGINE= ARCHIVE" "CREATE TABLE t2 (c1 INT) ENGINE=ARCHIVE" "CREATE TEMPORARY TABLE t3 (c1 INT) ENGINE= ARCHIVE" -"ALTER TABLE t1 ENGINE= ARCHIVE" "SET @@default_storage_engine= @old_default_engine" "SET SESSION DEBUG=""+d,simulate_create_routine_failure""" -"SET SESSION DEBUG=""-d,simulate_create_routine_failure""" "CREATE PROCEDURE p() SELECT 1" "CREATE FUNCTION f() RETURNS INT return 1" +"SET SESSION DEBUG=""-d,simulate_create_routine_failure""" "SHOW CREATE FUNCTION f" "SET SESSION DEBUG=""+d,simulate_alter_routine_failure""" +"ALTER FUNCTION f comment ""atomic DDL on routine""" +"ALTER PROCEDURE p comment ""atomic DDL on routine""" "SET SESSION DEBUG=""-d,simulate_alter_routine_failure""" "SET SESSION DEBUG=""+d,simulate_alter_routine_xcommit_failure""" "SET SESSION DEBUG=""-d,simulate_alter_routine_xcommit_failure""" -"ALTER FUNCTION f comment ""atomic DDL on routine""" -"ALTER PROCEDURE p comment ""atomic DDL on routine""" "SET SESSION DEBUG=""+d,simulate_drop_routine_failure""" "SET SESSION DEBUG=""-d,simulate_drop_routine_failure""" "CREATE TRIGGER trig1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN END" "SET SESSION DEBUG=""+d,simulate_create_trigger_failure""" -"SET SESSION DEBUG=""-d,simulate_create_trigger_failure""" "CREATE TRIGGER trig2 AFTER INSERT ON t1 FOR EACH ROW BEGIN END" +"SET SESSION DEBUG=""-d,simulate_create_trigger_failure""" "SET SESSION DEBUG=""+d,simulate_drop_trigger_failure""" -"SET SESSION DEBUG=""-d,simulate_drop_trigger_failure""" "DROP TRIGGER trig2" +"SET SESSION DEBUG=""-d,simulate_drop_trigger_failure""" "SET SESSION DEBUG=""+d,simulate_create_event_failure""" "SET SESSION DEBUG=""-d,simulate_create_event_failure""" -"CREATE EVENT event1 ON SCHEDULE EVERY 1 YEAR DO SELECT 1" "CREATE EVENT IF NOT EXISTS event1 ON SCHEDULE EVERY 1 YEAR DO SELECT 1" "SET SESSION DEBUG=""+d,simulate_alter_event_failure""" -"SET SESSION DEBUG=""-d,simulate_alter_event_failure""" "ALTER EVENT event1 COMMENT ""Atomic Event's DDL""" +"SET SESSION DEBUG=""-d,simulate_alter_event_failure""" "SET SESSION DEBUG=""+d,simulate_drop_event_failure""" -"SET SESSION DEBUG=""-d,simulate_drop_event_failure""" "DROP EVENT IF EXISTS event1" +"SET SESSION DEBUG=""-d,simulate_drop_event_failure""" "SET SESSION DEBUG=""+d,simulate_create_view_failure""" "SET SESSION DEBUG=""-d,simulate_create_view_failure""" "ALTER VIEW v1 AS SELECT 1 as a1, 2 AS a2" @@ -60258,6 +66007,7 @@ REFERENCES parent_table (i) ON DELETE CASCADE "SET SESSION DEBUG=""-d,simulate_drop_view_failure""" "CREATE VIEW v3 AS SELECT 1" "CREATE VIEW v4 AS SELECT 1" +"DROP VIEW t1, v3, v4" "DROP VIEW IF EXISTS v3, v4, v5" "SET @orig_lock_wait_timeout= @@global.lock_wait_timeout" "SET GLOBAL lock_wait_timeout= 1" @@ -60269,6 +66019,7 @@ REFERENCES parent_table (i) ON DELETE CASCADE "SET DEBUG_SYNC='now WAIT_FOR drop_view'" "SET GLOBAL lock_wait_timeout= @orig_lock_wait_timeout" "SET SESSION DEBUG='+d,fail_while_acquiring_dd_object'" +"ALTER FUNCTION f1 COMMENT ""wl9173""" "SET SESSION DEBUG='-d,fail_while_acquiring_dd_object'" "SET SESSION DEBUG='+d,fail_while_acquiring_routine_schema_obj'" "SET SESSION DEBUG='-d,fail_while_acquiring_routine_schema_obj'" @@ -60292,7 +66043,13 @@ REFERENCES parent_table (i) ON DELETE CASCADE (10.0, 10, NULL), (10.0, 10, NULL), (11.0, 11, NULL)" +"SELECT id, sex, NTH_VALUE(id, 1) FROM LAST OVER () FROM t1" "SELECT id, sex, NTH_VALUE(id, 1) FROM FIRST OVER () FROM t1" +"SELECT id, sex, NTH_VALUE(id, 1) IGNORE NULLS OVER () FROM t1" +"SELECT id, sex, NTH_VALUE(id, 1.2) OVER () FROM t1" +"SELECT id, sex, NTH_VALUE(id, 'a') OVER () FROM t1" +"SELECT id, sex, NTH_VALUE(id, -3) OVER () le1 FROM t1" +"SELECT id, sex, NTH_VALUE(id, NULL) OVER () FROM t1" "SELECT id, sex, NTH_VALUE(id, @oijlkjlkjxozijqlj) OVER () FROM t1" "PREPARE p FROM ""SELECT id, sex, NTH_VALUE(id, ?) OVER () FROM t1""" "SET @p1= NULL" @@ -60372,8 +66129,11 @@ FROM test WHERE `pk` > 3 WINDOW w1 AS ()" (NTH_VALUE(JSON_OBJECTAGG('key4',0x067c13d0d0d7d8c8d768aef7) ,1)OVER())),'9236-05-27',0xe2a7d4))^(0x1109))" "SELECT ((NTH_VALUE(JSON_MERGE_PATCH(1.755913e+308,'{ }'),246)OVER())<=(1))" +"SELECT ((NTH_VALUE(JSON_MERGE_PATCH(1.755913e+308,'{ }'),1)OVER())<=(1))" "SELECT ((QUOTE(JSON_KEYS(NTH_VALUE(JSON_KEYS(EXP(-15676),ABS('d0')), 162)OVER())))>=(CONNECTION_ID()))" +"SELECT ((QUOTE(JSON_KEYS(NTH_VALUE(JSON_KEYS(EXP(-15676),ABS('d0')), +1)OVER())))>=(CONNECTION_ID()))" "SELECT JSON_LENGTH(NTH_VALUE(JSON_OBJECTAGG('key2','*B'),172)OVER())" "SELECT JSON_LENGTH(NTH_VALUE(JSON_OBJECTAGG('key2','*B'),1)OVER())" "EXPLAIN FORMAT=JSON SELECT id, sex, NTH_VALUE(id, 1) RESPECT NULLS OVER () FROM t1" @@ -60463,9 +66223,17 @@ t2.b=t3.a order by 1" "INSERT INTO t1 SET a = """", d= ""2003-01-14 03:54:55""" "UPDATE t1 SET d=1/NULL" "UPDATE t1 SET d=NULL" +"INSERT INTO t1 (a) values (null)" +"INSERT INTO t1 (a) values (1/null)" "INSERT INTO t1 (a) values (null),(null)" +"INSERT INTO t1 (b) values (null)" +"INSERT INTO t1 (b) values (1/null)" "INSERT INTO t1 (b) values (null),(null)" +"INSERT INTO t1 (c) values (null)" +"INSERT INTO t1 (c) values (1/null)" "INSERT INTO t1 (c) values (null),(null)" +"INSERT INTO t1 (d) values (null)" +"INSERT INTO t1 (d) values (1/null)" "INSERT INTO t1 (d) values (null),(null)" "create table t1 (a int not null, b int not null, index idx(a))" "insert into t1 values @@ -60529,12 +66297,16 @@ field('str1', null, 'STR1') as c05, "create table bug19145a (e enum('a','b','c') default 'b' , s set('x', 'y', 'z') default 'y' )" "create table bug19145b (e enum('a','b','c') default null, s set('x', 'y', 'z') default null)" "create table bug19145c (e enum('a','b','c') not null default 'b' , s set('x', 'y', 'z') not null default 'y' )" +"create table bug19145setnotnulldefaultnull (e enum('a','b','c') default null, s set('x', 'y', 'z') not null default null)" +"create table bug19145enumnotnulldefaultnull (e enum('a','b','c') not null default null, s set('x', 'y', 'z') default null)" "alter table bug19145a alter column e set default null" "alter table bug19145a alter column s set default null" "alter table bug19145a add column (i int)" "alter table bug19145b alter column e set default null" "alter table bug19145b alter column s set default null" "alter table bug19145b add column (i int)" +"alter table bug19145c alter column e set default null" +"alter table bug19145c alter column s set default null" "alter table bug19145c add column (i int)" "show create table bug19145a" "show create table bug19145b" @@ -60547,6 +66319,7 @@ field('str1', null, 'STR1') as c05, "CREATE TABLE t2 SELECT IFNULL(a, b) FROM t1" "CREATE TABLE t2 SELECT IFNULL(a, NULL) FROM t1" "CREATE TABLE t2 SELECT IFNULL(NULL, b) FROM t1" +"SELECT \N",,syntax_error "create table t1 ( pk int primary key, col_int_unique int, @@ -60579,7 +66352,6 @@ WHERE t1.pk = 2" "SELECT a, last_insert_id() FROM t1 WHERE a IS NULL" "SELECT a, last_insert_id() FROM t1" "CREATE TABLE t1(a BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY)" -"CREATE TABLE t2(b INT)" "INSERT INTO t2 VALUES (2),(3),(4)" "SELECT * FROM t2 LEFT JOIN t1 ON a=b WHERE a IS NULL" "SELECT * FROM t1 HAVING a IS NULL" @@ -60697,6 +66469,15 @@ HAVING SUM(profit) > 6000)" GROUP BY product, country_id, year HAVING country_id is NULL" "SELECT CONCAT(':',product,':'), SUM(profit), AVG(profit) FROM t1 GROUP BY product WITH ROLLUP" +"SELECT product, country_id , year, SUM(profit) FROM t1 +GROUP BY CUBE (product, country_id, year)" +"EXPLAIN SELECT product, country_id , year, SUM(profit) FROM t1 +GROUP BY CUBE (product, country_id, year)" +"SELECT product, country_id , year, SUM(profit) FROM t1 +GROUP BY CUBE (product, country_id, year) +UNION ALL +SELECT product, country_id , year, SUM(profit) FROM t1 +GROUP BY ROLLUP (product, country_id, year)" "INSERT INTO t1 VALUES(100)" "CREATE TABLE t2 (i int)" "INSERT INTO t2 VALUES (100),(200)" @@ -60871,7 +66652,24 @@ FROM t0" "SELECT a, b, c, GROUPING(a, b) FROM t1 GROUP BY a,b,c WITH ROLLUP" "SELECT a, b, c, GROUPING(a, b, c) FROM t1 GROUP BY a,b,c WITH ROLLUP" "SELECT a, b FROM t1 GROUP BY a,b WITH ROLLUP HAVING GROUPING(b) = 1" +"SELECT a, b, GROUPING(c) FROM t1 GROUP BY a,b WITH ROLLUP" +"SELECT a, b, c, GROUPING(a, b, c) FROM t1 GROUP BY a,b WITH ROLLUP" +"SELECT a, GROUPING(SUM(a)) FROM t1 GROUP BY (a) WITH ROLLUP" +"SELECT a, b, GROUPING(a) FROM t1 GROUP BY a,b" +"SELECT a, b, GROUPING(a) FROM t1 " +"SELECT a, b FROM t1 WHERE GROUPING(a)=1 GROUP BY a,b WITH ROLLUP" +"SELECT a, b FROM t1 GROUP BY GROUPING(a),GROUPING(b) WITH ROLLUP" +"SELECT a, b, c, GROUPING(1) FROM t1 GROUP BY a,b,c WITH ROLLUP" +"SELECT a, GROUPING(1) FROM t1 GROUP BY 1 WITH ROLLUP" +"SELECT GROUPING(1) FROM t1 GROUP BY 1 WITH ROLLUP" +"SELECT a, b, GROUPING(c + c) FROM t1 GROUP BY a,b WITH ROLLUP" "SELECT a, b, GROUPING(c + c) FROM t1 GROUP BY a,b,(c + c) WITH ROLLUP" +"SELECT GROUPING((SELECT MAX(b) FROM t1)) FROM t1 +GROUP BY (SELECT MAX(b) FROM t1) WITH ROLLUP" +"SELECT (SELECT MAX(b) FROM t1) FROM t1 GROUP BY (SELECT MAX(b) FROM t1) +WITH ROLLUP HAVING GROUPING((SELECT 1 FROM DUAL))=0" +"SELECT (SELECT MAX(b) FROM t1) FROM t1 GROUP BY (SELECT MAX(b) FROM t1) +WITH ROLLUP HAVING GROUPING((SELECT MAX(b) FROM t1))=0" "SELECT 1 WHERE EXISTS (SELECT a FROM t1 GROUP BY a WITH ROLLUP)" "SELECT 1 WHERE 2 > ALL (SELECT GROUPING(a) FROM t1 GROUP BY a WITH ROLLUP)" @@ -60899,6 +66697,9 @@ SELECT * FROM qn" SELECT MIN(t2.b) FROM (SELECT b from t1) AS t2 GROUP BY t2.b WITH ROLLUP HAVING GROUPING (t2.b)=0)) SELECT * FROM qn" +"WITH qn AS(SELECT GROUPING((SELECT MAX(b) FROM t1)) as field1 +FROM t1 GROUP BY (SELECT MAX(b) FROM t1) WITH ROLLUP) +SELECT qn.field1 FROM qn" "SELECT a as Department,b as Employees, SUM(c), GROUPING(a) as GP_A, GROUPING(b) as GP_B FROM t1 GROUP BY a,b WITH ROLLUP" "SELECT a as Department,b as Employees, SUM(c), GROUPING(a) as GP_A, @@ -61013,6 +66814,7 @@ ORDER BY GROUPING(i),i,GROUPING(j),j" "SELECT DISTINCT GROUPING(i), GROUPING(j) FROM t1 GROUP BY i,j WITH ROLLUP ORDER BY GROUPING(i), GROUPING(j)" "SELECT DISTINCT j, GROUPING(j) FROM t1 GROUP BY i,j WITH ROLLUP" +"SELECT i, j, AVG(k) FROM t1 GROUP BY i,j+GROUPING(i) WITH ROLLUP" "CREATE TABLE t1 ( f1 INTEGER, pk INTEGER NOT NULL, @@ -61102,6 +66904,7 @@ HAVING ga = 0" (DEFAULT,3,2,9, '', NULL), (DEFAULT,3,2,9, '123', 'abc'), (DEFAULT,3,2,16, NULL, 'def'), (DEFAULT,3, 2, 20, '789', 'ghi')" "SELECT DISTINCT t1.i1, t1.i2 FROM t AS t1 JOIN t AS t2 ON t1.i3 = t2.i2 GROUP BY t1.i1, t1.i2 WITH ROLLUP ORDER BY t1.i1, t1.i2" "SELECT DISTINCT i1, i2, GROUPING(i1), GROUPING(i2), GROUPING(i1+i2), GROUPING(i1) + GROUPING(i2) FROM t GROUP BY i1, i2, i1 + i2 WITH ROLLUP ORDER BY i1, i2, i1+i2" +"SELECT DISTINCT i1, i2, GROUPING(i1), GROUPING(i2) FROM t GROUP BY i1, i2 WITH ROLLUP ORDER BY i1, i2, GROUPING(i1+i2)" "SELECT 1 FROM t AS t1, t AS t2, (SELECT DISTINCT GROUPING(t3.x) FROM t AS t3, t AS t4 GROUP BY ROLLUP(t3.x)) AS dt" @@ -61113,6 +66916,11 @@ GROUP BY ROLLUP(dt.x)'" "CREATE TABLE t(i INTEGER)" "PREPARE ps FROM 'SELECT 1+2 AS x FROM t GROUP BY ROLLUP(x) HAVING x <= 9'" "CREATE TABLE t1 (f1 JSON)" +"SELECT 1 +FROM t1, LATERAL (SELECT f1 AS f2 +FROM v1 +GROUP BY CUBE(f2)) AS dt1 +GROUP BY CUBE(f2)" "SELECT SUM(TAN(0)) OVER() FROM t1 GROUP BY TAN(0) WITH ROLLUP" "SELECT SUM(UTC_DATE()) OVER() FROM t1 GROUP BY UTC_DATE() WITH ROLLUP" "CREATE TABLE t1 (a INTEGER) ENGINE=InnoDB" @@ -61340,6 +67148,10 @@ WHERE cost_name=""row_evaluate_cost""" VALUES (""lunch_cost"", DEFAULT, CURRENT_TIMESTAMP, ""Lunch is important"", DEFAULT)" "DELETE FROM mysql.server_cost WHERE cost_name=""lunch_cost""" +"INSERT INTO mysql.server_cost +VALUES (""row_evaluate_cost"", DEFAULT, CURRENT_TIMESTAMP, ""Faster CPU"", DEFAULT)" +"INSERT INTO mysql.server_cost +VALUES (""ROW_EVALUATE_COST"", DEFAULT, CURRENT_TIMESTAMP, ""Faster CPU"", DEFAULT)" "UPDATE mysql.engine_cost SET cost_value=0.1 WHERE cost_name=""io_block_read_cost""" @@ -61358,6 +67170,9 @@ WHERE cost_name LIKE ""lunch_cost%""" VALUES (""default"", 0, ""lunch_cost"", DEFAULT, CURRENT_TIMESTAMP, ""Lunch"", DEFAULT)" "DELETE FROM mysql.engine_cost WHERE cost_name=""lunch_cost""" +"INSERT INTO mysql.engine_cost +VALUES (""default"", 0, ""IO_BLOCK_READ_COST"", DEFAULT, CURRENT_TIMESTAMP, +""Lunch"", DEFAULT)" "CREATE TABLE server_cost_tmp ( cost_name VARCHAR(64) NOT NULL, last_update TIMESTAMP @@ -61381,6 +67196,8 @@ WHERE mysql.engine_cost.last_update > engine_cost_tmp.last_update" "DROP TABLE server_cost_tmp, engine_cost_tmp" "SELECT COUNT(*) FROM mysql.server_cost WHERE default_value IS NULL" "SELECT COUNT(*) FROM mysql.engine_cost WHERE default_value IS NULL" +"UPDATE mysql.server_cost SET default_value = 1.0" +"UPDATE mysql.engine_cost SET default_value = 1.0" "ALTER TABLE mysql.server_cost DROP COLUMN default_value" "ALTER TABLE mysql.engine_cost DROP COLUMN default_value" "call mtr.add_suppression('Failed to open optimizer cost constant tables')" @@ -61424,11 +67241,16 @@ SET cost_value=NULL" WHERE device_type = -1" "DELETE FROM mysql.engine_cost WHERE engine_name LIKE ""Falcon""" +"SELECT /*+ MAX_EXECUTION_TIME(1) */ * FROM t1 a, t1 b" "EXPLAIN SELECT /*+ MAX_EXECUTION_TIME(10) MAX_EXECUTION_TIME(100) */ * FROM t1" "CREATE TABLE t1 (i INT, j INT)" "CREATE INDEX i1 ON t1(i)" "CREATE INDEX i2 ON t1(j)" "SELECT /*+ MAX_EXECUTION_TIME(4294967296) */ 1 FROM t1" +"SELECT /*+ MAX_EXECUTION_TIME(1) */ *, SLEEP(1000) FROM t1" +"SELECT /*+ MAX_EXECUTION_TIME(1) */ *, SLEEP(1000) FROM t1 UNION SELECT 1, 2, 3" +"(SELECT /*+ MAX_EXECUTION_TIME(1) */ *, SLEEP(1000) FROM t1) UNION (SELECT 1, 2, 3)" +"((SELECT /*+ MAX_EXECUTION_TIME(1) */ *, SLEEP(1000) FROM t1))" "INSERT /*+ MAX_EXECUTION_TIME(1) */ INTO t2 SELECT 1" "REPLACE /*+ MAX_EXECUTION_TIME(1) */ INTO t2 SELECT 1" "UPDATE /*+ MAX_EXECUTION_TIME(1) */ t2 SET i = 1" @@ -61699,6 +67521,7 @@ INDEX idx1(f2, f3), INDEX idx2(f3) "SELECT /*+ `foo @bar` */ 1" "SELECT /*+ BKA( @) */ 1" "SELECT /*+ BKA(t1 @) */ 1" +"SELECT /*+ BKA(`test*/`) */ 1",,syntax_error "SELECT /*+ NO_ICP() */ 1" "SELECT /*+NO_ICP()*/ 1" "SELECT /*+ NO_ICP () */ 1" @@ -61833,6 +67656,7 @@ group by t2.a "create view v1 as select * from t1 where a <> 0" "insert into t3 values(1,1),(2,2)" +"PREPARE stmt FROM 'SELECT /*+ 10'" "CREATE TABLE t (id int AUTO_INCREMENT, cid int NOT NULL, price float NOT NULL, PRIMARY KEY (id), KEY key1 (price, cid))" "INSERT INTO t(cid, price) values(1, 10), (2, 100), (3, 55), (4, 20), (5, 30), @@ -62515,9 +68339,11 @@ CONSTRAINT c1 FOREIGN KEY (v) REFERENCES t1(id) "CALL test_hint(""SET_VAR(insert_id=10)"", ""insert_id"")" "CALL test_hint(""SET_VAR(join_buffer_size=128)"", ""join_buffer_size"")" "CREATE TABLE t1(i INT) ENGINE InnoDB" +"INSERT /*+ SET_VAR(lock_wait_timeout=1) */INTO t1 VALUES (1)" "CALL test_hint(""SET_VAR(lock_wait_timeout=1)"", ""lock_wait_timeout"")" "EXPLAIN SELECT /*+ SET_VAR(max_error_count=0) SET_VAR(optimizer_switch = 'batched_key_acces=off') SET_VAR(range_alloc_block_size=amba)*/ * FROM t1" "CALL test_hint(""SET_VAR(max_error_count=0)"", ""max_error_count"")" +"SELECT /*+ SET_VAR(max_execution_time=1) */ * FROM t1 a, t1 b" "CALL test_hint(""SET_VAR(max_execution_time=1)"", ""max_execution_time"")" "CREATE TABLE t1(f1 CHAR(255) CHARSET utf8mb3)" "INSERT INTO t1 VALUES('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),('0')" @@ -62530,6 +68356,8 @@ FROM t1 JOIN ( SELECT t1.f1 FROM t1 JOIN t1 AS t2 JOIN t1 AS t3) tt ON t1.f1 = tt.f1" "CALL test_hint(""SET_VAR(max_heap_table_size=16384)"", ""max_heap_table_size"")" "CALL test_hint(""SET_VAR(internal_tmp_mem_storage_engine=MEMORY)"", ""internal_tmp_mem_storage_engine"")" +"SELECT /*+ SET_VAR(max_points_in_geometry=1048576) */ +st_astext(st_buffer(point(-5,0),8772, st_buffer_strategy( 'point_circle',1024*1024*1024))) as result" "CALL test_hint(""SET_VAR(max_points_in_geometry=1048576)"", ""max_points_in_geometry"")" "CALL test_hint(""SET_VAR(max_seeks_for_key=1)"", ""max_seeks_for_key"")" "EXPLAIN SELECT * FROM t1 JOIN t2 ON t1.b = t2.a WHERE @@ -62559,6 +68387,7 @@ t2.a IN (SELECT t3.b FROM t3 JOIN t1 t4 ON t3.b = t4.b)" "SET insert_id = 0" "SELECT /*+ SET_VAR(sql_auto_is_null=1) */ a FROM t1 WHERE a IS NULL" "CALL test_hint(""SET_VAR(sql_auto_is_null=1)"", ""sql_auto_is_null"")" +"SELECT /*+ SET_VAR(sql_big_selects=0) SET_VAR(max_join_size=1) */ * FROM t1 a, t1 b" "CALL test_hint(""SET_VAR(sql_big_selects=0)"", ""sql_big_selects"")" "CALL test_hint(""SET_VAR(max_join_size=1)"", ""max_join_size"")" "EXPLAIN SELECT /*+ SET_VAR(sql_buffer_result=1) */ MIN(a), b FROM t1 WHERE t1.b = 'a' GROUP BY b" @@ -62567,6 +68396,7 @@ t2.a IN (SELECT t3.b FROM t3 JOIN t1 t4 ON t3.b = t4.b)" "CALL test_hint(""SET_VAR(sql_mode='ALLOW_INVALID_DATES')"", ""sql_mode"")" "CREATE TABLE t1 ( a INT, KEY( a ) )" "CREATE VIEW v1 AS SELECT t11.a, t12.a AS b FROM t1 t11, t1 t12" +"UPDATE /*+ SET_VAR(sql_safe_updates=1) */ IGNORE v1 SET a = 1" "CALL test_hint(""SET_VAR(sql_safe_updates=1)"", ""sql_safe_updates"")" "SELECT /*+ SET_VAR(sql_select_limit=1) */* FROM t1" "CALL test_hint(""SET_VAR(sql_select_limit=1)"", ""sql_select_limit"")" @@ -62583,6 +68413,10 @@ FROM t1 WINDOW w as (ORDER BY id RANGE BETWEEN 1 FOLLOWING AND 2 FOLLOWING)" d, AVG(d) over w `avg`, SUM(d) OVER w `sum`, COUNT(*) OVER w cnt FROM t1 WINDOW w as (ORDER BY d RANGE BETWEEN 1 FOLLOWING AND 2 FOLLOWING)" "CALL test_hint(""SET_VAR(windowing_use_high_precision=OFF)"", ""windowing_use_high_precision"")" +"WITH RECURSIVE qn AS ( +SELECT 1 AS a UNION ALL +SELECT 1+a FROM qn WHERE a<=10) +SELECT /*+ SET_VAR(cte_max_recursion_depth=5) */ COUNT(*) FROM qn" "CALL test_hint(""SET_VAR(cte_max_recursion_depth=5)"", ""cte_max_recursion_depth"")" "DROP PROCEDURE test_hint" "SELECT /*+ SET_VAR(sql_select_limit = 18446744073709551616) */ 1" @@ -63150,6 +68984,8 @@ WHERE t2.a IN (SELECT /*+ QB_NAME(subq) SUBQUERY(@subq INTOEXISTS) */ a FROM t1) "OPTIMIZE LOCAL TABLE test01.tbl01" "OPTIMIZE NO_WRITE_TO_BINLOG TABLE test01.tbl01" "OPTIMIZE TABLE test01.tbl01" +"GRANT OPTIMIZE_LOCAL_TABLE on test01.tbl01 TO 'user01'@'localhost'" +"GRANT OPTIMIZE_LOCAL_TABLE on test01.* TO 'user01'@'localhost'" "GRANT OPTIMIZE_LOCAL_TABLE on *.* TO 'user01'@'localhost'" "SELECT COUNT(*)=1 FROM mysql.global_grants WHERE USER='user01' AND priv='OPTIMIZE_LOCAL_TABLE'" "SELECT COUNT(*)=1 from INFORMATION_SCHEMA.USER_PRIVILEGES WHERE GRANTEE=""'user01'@'localhost'"" and PRIVILEGE_TYPE =""OPTIMIZE_LOCAL_TABLE""" @@ -63618,6 +69454,7 @@ SET_VAR(select_into_buffer_size = 16384) */ "INSERT INTO t1 VALUES(-1.7976931348623157e308)" "CREATE TABLE t1 (a FLOAT)" "INSERT INTO t1 VALUES(-3.40282346638528859811704183484516925e+38)" +"drop database AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "set @net_buffer_length=@@global.net_buffer_length" "set global max_allowed_packet=100" "set global net_buffer_length=100" @@ -63635,27 +69472,43 @@ PRIMARY KEY (c11)) charset latin1" PRIMARY KEY (c21)) charset latin1" "INSERT INTO t1 VALUES(100,'abcd')" "INSERT INTO t2 VALUES(100,'xyz')" +"UPDATE t1 +SET c12= REPEAT('ab', @max_allowed_packet)" "UPDATE IGNORE t1 SET c12= REPEAT('ab', @max_allowed_packet)" +"UPDATE t1, t2 +SET c12= REPEAT('ab', @max_allowed_packet), +c22= 'ab'" "UPDATE IGNORE t1, t2 SET c12= REPEAT('ab', @max_allowed_packet), c22= 'ab'" +"INSERT INTO t1 +VALUES (101, REPEAT('ab', @max_allowed_packet))" +"INSERT INTO t1 +SELECT 101, REPEAT('ab', @max_allowed_packet)" "INSERT IGNORE INTO t1 SELECT 101, REPEAT('ab', @max_allowed_packet)" +"REPLACE INTO t1 +VALUES (102, REPEAT('ab', @max_allowed_packet))" +"REPLACE INTO t1 +SET c11= 102, +c12= REPEAT('ab', @max_allowed_packet)" +"REPLACE INTO t1 +SELECT 102, REPEAT('ab', @max_allowed_packet)" +"DELETE FROM t1 +WHERE c12 <=> REPEAT('ab', @max_allowed_packet)" +"DELETE FROM t1, t2 +USING t1 INNER JOIN t2 +WHERE t1.c11 = t2.c21 AND +t2.c22 <=> REPEAT('ab', @max_allowed_packet)" "DELETE IGNORE FROM t1, t2 USING t1 INNER JOIN t2 WHERE t1.c11 = t2.c21 AND t2.c22 <=> REPEAT('ab', @max_allowed_packet)" "SET @@sql_mode= ''" -"UPDATE t1 -SET c12= REPEAT('ab', @max_allowed_packet)" "SELECT c11, LENGTH(c12) FROM t1" "INSERT INTO t1 -VALUES (101, REPEAT('ab', @max_allowed_packet))" -"INSERT INTO t1 SELECT 102, REPEAT('ab', @max_allowed_packet)" -"DELETE FROM t1 -WHERE c12 <=> REPEAT('ab', @max_allowed_packet)" "SET @@sql_mode= default" "CREATE TABLE t3 (c31 INT NOT NULL, c32 LONGTEXT, PRIMARY KEY (c31)) charset latin1 ENGINE=MYISAM" @@ -63669,6 +69522,9 @@ SELECT c31, CONCAT(c32, REPEAT('a', @max_allowed_packet-1)) FROM t3" "SELECT c41, LENGTH(c42) FROM t4" +"UPDATE t3 +SET c32= CONCAT(c32, +REPEAT('a', @max_allowed_packet-1))" "SELECT c31, LENGTH(c32) FROM t3" "DROP TABLE t3, t4" "set SQL_MODE=''" @@ -63678,27 +69534,60 @@ FROM t3" "drop table ADDDATE",IGNORE_SPACE "create table ADDDATE (a int)" "create table ADDDATE (a int)",IGNORE_SPACE +"create table BIT_AND(a int)",,syntax_error +"create table BIT_AND(a int)",IGNORE_SPACE,syntax_error "create table BIT_AND (a int)" +"create table BIT_AND (a int)",IGNORE_SPACE,syntax_error "drop table BIT_AND" +"create table BIT_OR(a int)",,syntax_error +"create table BIT_OR(a int)",IGNORE_SPACE,syntax_error "create table BIT_OR (a int)" +"create table BIT_OR (a int)",IGNORE_SPACE,syntax_error "drop table BIT_OR" +"create table BIT_XOR(a int)",,syntax_error +"create table BIT_XOR(a int)",IGNORE_SPACE,syntax_error "create table BIT_XOR (a int)" +"create table BIT_XOR (a int)",IGNORE_SPACE,syntax_error "drop table BIT_XOR" +"create table CAST(a int)",,syntax_error +"create table CAST(a int)",IGNORE_SPACE,syntax_error "create table CAST (a int)" +"create table CAST (a int)",IGNORE_SPACE,syntax_error "drop table CAST" +"create table COUNT(a int)",,syntax_error +"create table COUNT(a int)",IGNORE_SPACE,syntax_error "create table COUNT (a int)" +"create table COUNT (a int)",IGNORE_SPACE,syntax_error "drop table COUNT" +"create table CURDATE(a int)",,syntax_error +"create table CURDATE(a int)",IGNORE_SPACE,syntax_error "create table CURDATE (a int)" +"create table CURDATE (a int)",IGNORE_SPACE,syntax_error "drop table CURDATE" +"create table CURTIME(a int)",,syntax_error +"create table CURTIME(a int)",IGNORE_SPACE,syntax_error "create table CURTIME (a int)" +"create table CURTIME (a int)",IGNORE_SPACE,syntax_error "drop table CURTIME" +"create table DATE_ADD(a int)",,syntax_error +"create table DATE_ADD(a int)",IGNORE_SPACE,syntax_error "create table DATE_ADD (a int)" +"create table DATE_ADD (a int)",IGNORE_SPACE,syntax_error "drop table DATE_ADD" +"create table DATE_SUB(a int)",,syntax_error +"create table DATE_SUB(a int)",IGNORE_SPACE,syntax_error "create table DATE_SUB (a int)" +"create table DATE_SUB (a int)",IGNORE_SPACE,syntax_error "drop table DATE_SUB" +"create table EXTRACT(a int)",,syntax_error +"create table EXTRACT(a int)",IGNORE_SPACE,syntax_error "create table EXTRACT (a int)" +"create table EXTRACT (a int)",IGNORE_SPACE,syntax_error "drop table EXTRACT" +"create table GROUP_CONCAT(a int)",,syntax_error +"create table GROUP_CONCAT(a int)",IGNORE_SPACE,syntax_error "create table GROUP_CONCAT (a int)" +"create table GROUP_CONCAT (a int)",IGNORE_SPACE,syntax_error "drop table GROUP_CONCAT" "create table GROUP_UNIQUE_USERS(a int)" "create table GROUP_UNIQUE_USERS(a int)",IGNORE_SPACE @@ -63706,15 +69595,30 @@ FROM t3" "drop table GROUP_UNIQUE_USERS",IGNORE_SPACE "create table GROUP_UNIQUE_USERS (a int)" "create table GROUP_UNIQUE_USERS (a int)",IGNORE_SPACE +"create table MAX(a int)",,syntax_error +"create table MAX(a int)",IGNORE_SPACE,syntax_error "create table MAX (a int)" +"create table MAX (a int)",IGNORE_SPACE,syntax_error "drop table MAX" +"create table MID(a int)",,syntax_error +"create table MID(a int)",IGNORE_SPACE,syntax_error "create table MID (a int)" +"create table MID (a int)",IGNORE_SPACE,syntax_error "drop table MID" +"create table MIN(a int)",,syntax_error +"create table MIN(a int)",IGNORE_SPACE,syntax_error "create table MIN (a int)" +"create table MIN (a int)",IGNORE_SPACE,syntax_error "drop table MIN" +"create table NOW(a int)",,syntax_error +"create table NOW(a int)",IGNORE_SPACE,syntax_error "create table NOW (a int)" +"create table NOW (a int)",IGNORE_SPACE,syntax_error "drop table NOW" +"create table POSITION(a int)",,syntax_error +"create table POSITION(a int)",IGNORE_SPACE,syntax_error "create table POSITION (a int)" +"create table POSITION (a int)",IGNORE_SPACE,syntax_error "drop table POSITION" "create table SESSION_USER(a int)" "create table SESSION_USER(a int)",IGNORE_SPACE @@ -63722,13 +69626,25 @@ FROM t3" "drop table SESSION_USER",IGNORE_SPACE "create table SESSION_USER (a int)" "create table SESSION_USER (a int)",IGNORE_SPACE +"create table STD(a int)",,syntax_error +"create table STD(a int)",IGNORE_SPACE,syntax_error "create table STD (a int)" +"create table STD (a int)",IGNORE_SPACE,syntax_error "drop table STD" +"create table STDDEV(a int)",,syntax_error +"create table STDDEV(a int)",IGNORE_SPACE,syntax_error "create table STDDEV (a int)" +"create table STDDEV (a int)",IGNORE_SPACE,syntax_error "drop table STDDEV" +"create table STDDEV_POP(a int)",,syntax_error +"create table STDDEV_POP(a int)",IGNORE_SPACE,syntax_error "create table STDDEV_POP (a int)" +"create table STDDEV_POP (a int)",IGNORE_SPACE,syntax_error "drop table STDDEV_POP" +"create table STDDEV_SAMP(a int)",,syntax_error +"create table STDDEV_SAMP(a int)",IGNORE_SPACE,syntax_error "create table STDDEV_SAMP (a int)" +"create table STDDEV_SAMP (a int)",IGNORE_SPACE,syntax_error "drop table STDDEV_SAMP" "create table SUBDATE(a int)" "create table SUBDATE(a int)",IGNORE_SPACE @@ -63736,13 +69652,25 @@ FROM t3" "drop table SUBDATE",IGNORE_SPACE "create table SUBDATE (a int)" "create table SUBDATE (a int)",IGNORE_SPACE +"create table SUBSTR(a int)",,syntax_error +"create table SUBSTR(a int)",IGNORE_SPACE,syntax_error "create table SUBSTR (a int)" +"create table SUBSTR (a int)",IGNORE_SPACE,syntax_error "drop table SUBSTR" +"create table SUBSTRING(a int)",,syntax_error +"create table SUBSTRING(a int)",IGNORE_SPACE,syntax_error "create table SUBSTRING (a int)" +"create table SUBSTRING (a int)",IGNORE_SPACE,syntax_error "drop table SUBSTRING" +"create table SUM(a int)",,syntax_error +"create table SUM(a int)",IGNORE_SPACE,syntax_error "create table SUM (a int)" +"create table SUM (a int)",IGNORE_SPACE,syntax_error "drop table SUM" +"create table SYSDATE(a int)",,syntax_error +"create table SYSDATE(a int)",IGNORE_SPACE,syntax_error "create table SYSDATE (a int)" +"create table SYSDATE (a int)",IGNORE_SPACE,syntax_error "drop table SYSDATE" "create table SYSTEM_USER(a int)" "create table SYSTEM_USER(a int)",IGNORE_SPACE @@ -63750,7 +69678,10 @@ FROM t3" "drop table SYSTEM_USER",IGNORE_SPACE "create table SYSTEM_USER (a int)" "create table SYSTEM_USER (a int)",IGNORE_SPACE +"create table TRIM(a int)",,syntax_error +"create table TRIM(a int)",IGNORE_SPACE,syntax_error "create table TRIM (a int)" +"create table TRIM (a int)",IGNORE_SPACE,syntax_error "drop table TRIM" "create table UNIQUE_USERS(a int)" "create table UNIQUE_USERS(a int)",IGNORE_SPACE @@ -63758,11 +69689,20 @@ FROM t3" "drop table UNIQUE_USERS",IGNORE_SPACE "create table UNIQUE_USERS (a int)" "create table UNIQUE_USERS (a int)",IGNORE_SPACE +"create table VARIANCE(a int)",,syntax_error +"create table VARIANCE(a int)",IGNORE_SPACE,syntax_error "create table VARIANCE (a int)" +"create table VARIANCE (a int)",IGNORE_SPACE,syntax_error "drop table VARIANCE" +"create table VAR_POP(a int)",,syntax_error +"create table VAR_POP(a int)",IGNORE_SPACE,syntax_error "create table VAR_POP (a int)" +"create table VAR_POP (a int)",IGNORE_SPACE,syntax_error "drop table VAR_POP" +"create table VAR_SAMP(a int)",,syntax_error +"create table VAR_SAMP(a int)",IGNORE_SPACE,syntax_error "create table VAR_SAMP (a int)" +"create table VAR_SAMP (a int)",IGNORE_SPACE,syntax_error "drop table VAR_SAMP" "set SQL_MODE='IGNORE_SPACE'" "CREATE TABLE t1 (i INT KEY)",IGNORE_SPACE @@ -63800,16 +69740,99 @@ FROM t3" "DROP PROCEDURE IF EXISTS p26030; CREATE PROCEDURE p26030() SELECT 1; CALL p26030() " "DROP PROCEDURE p26030" +"select pi(3.14)" +"select tan()" +"select tan(1, 2)" +"select makedate(1)" +"select makedate(1, 2, 3)" +"select maketime()" +"select maketime(1)" +"select maketime(1, 2)" +"select maketime(1, 2, 3, 4)" +"select atan()" +"select atan2(1, 2, 3)" +"select concat()" "select concat(""foo"")" +"select concat_ws()" +"select concat_ws(""foo"")" +"select elt()" +"select elt(1)" +"select export_set()" +"select export_set(""p1"")" +"select export_set(""p1"", ""p2"")" +"select export_set(""p1"", ""p2"", ""p3"", ""p4"", ""p5"", ""p6"")" +"select field()" +"select field(""p1"")" +"select from_unixtime()" +"select from_unixtime(1, 2, 3)" +"select unix_timestamp(1, 2)" +"select greatest()" +"select greatest(12)" +"select last_insert_id(1, 2)" +"select least()" +"select least(12)" +"select locate()" +"select locate(1)" +"select locate(1, 2, 3, 4)" +"select log()",,syntax_error +"select log(1, 2, 3)",,syntax_error +"select make_set()" +"select make_set(1)" +"select source_pos_wait()" +"select source_pos_wait(1)" +"select source_pos_wait('binlog.999999', 4, -1)" +"select rand(1, 2, 3)" +"select round(1, 2, 3)" +"select yearweek()" +"select yearweek(1, 2, 3)" "select abs(3)" +"select abs(3 AS three)" +"select abs(3 three)" +"select abs(3 AS ""three"")" +"select abs(3 ""three"")" "set @bar=""bar""" "set @foobar=""foobar""" "select instr(""foobar"", ""bar"")" +"select instr(""foobar"" AS p1, ""bar"")" +"select instr(""foobar"" p1, ""bar"")" +"select instr(""foobar"" AS ""p1"", ""bar"")" "select instr(""foobar"" ""p1"", ""bar"")" +"select instr(@foobar ""p1"", ""bar"")" +"select instr(""foobar"", ""bar"" AS p2)" +"select instr(""foobar"", ""bar"" p2)" +"select instr(""foobar"", ""bar"" AS ""p2"")" "select instr(""foobar"", ""bar"" ""p2"")" +"select instr(""foobar"", @bar ""p2"")" +"select instr(""foobar"" AS p1, ""bar"" AS p2)" "select conv(255, 10, 16)" +"select conv(255 AS p1, 10, 16)" +"select conv(255 p1, 10, 16)" +"select conv(255 AS ""p1"", 10, 16)" +"select conv(255 ""p1"", 10, 16)" +"select conv(255, 10 AS p2, 16)" +"select conv(255, 10 p2, 16)" +"select conv(255, 10 AS ""p2"", 16)" +"select conv(255, 10 ""p2"", 16)" +"select conv(255, 10, 16 AS p3)" +"select conv(255, 10, 16 p3)" +"select conv(255, 10, 16 AS ""p3"")" +"select conv(255, 10, 16 ""p3"")" +"select conv(255 AS p1, 10 AS p2, 16 AS p3)" "select atan(10)" +"select atan(10 AS p1)" +"select atan(10 p1)" +"select atan(10 AS ""p1"")" +"select atan(10 ""p1"")" "select atan(10, 20)" +"select atan(10 AS p1, 20)" +"select atan(10 p1, 20)" +"select atan(10 AS ""p1"", 20)" +"select atan(10 ""p1"", 20)" +"select atan(10, 20 AS p2)" +"select atan(10, 20 p2)" +"select atan(10, 20 AS ""p2"")" +"select atan(10, 20 ""p2"")" +"select atan(10 AS p1, 20 AS p2)" "SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE" "SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE" "SELECT ""1997-12-31 23:59:59"" + INTERVAL 1 SECOND" @@ -63835,8 +69858,16 @@ FROM t3" "UPDATE t3 SET a4={d '1789-07-14'} WHERE a1=0" "SELECT a1, a4 FROM t2 WHERE a4 LIKE {fn UCASE('1789-07-14')}" "CREATE TABLE t (id INT PRIMARY KEY)" +"ALTER TABLE t RENAME TO `t1';",,syntax_error +"STOP REPLICA ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ",,syntax_error +"STOP REPLICA ,,,,,,,,,,,,, sql_thread, ,,,,,,,,,,,,,,,,,,, ",,syntax_error +"STOP REPLICA ,,,,,,,,,,,,, io_thread, ,,,,,,,,,,,,,,,,,,, ",,syntax_error +"START TRANSACTION ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ",,syntax_error +"SELECT (SELECT EXISTS(SELECT * LIMIT 1 ORDER BY VALUES (c00)))",,syntax_error "CREATE TABLE a(a int)" "CREATE TABLE b(a int)" +"DELETE FROM b ORDER BY(SELECT 1 FROM a ORDER BY a ORDER BY a)",,syntax_error +"SELECT '' IN (SELECT '1' c FROM t1 ORDER BY '' ORDER BY '') FROM t1",,syntax_error "SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 FOR UPDATE" "SELECT 1 FROM @@ -63854,14 +69885,27 @@ UNION (SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 FOR UPDATE)" "SELECT 1 FROM t1 UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1" +"SELECT 1 FROM t1 FOR UPDATE UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1",,syntax_error "SELECT 1 FROM t1 UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1 FOR UPDATE" "SELECT 1 FROM t1 INTO @var17727401" "SELECT 1 FROM DUAL INTO @var17727401" "SELECT 1 INTO @var17727401" "SELECT 1 INTO @var17727401 FROM t1" "SELECT 1 INTO @var17727401 FROM DUAL" +"SELECT 1 INTO @var17727401_1 FROM t1 INTO @var17727401_2" +"SELECT 1 INTO @var17727401_1 FROM DUAL +INTO @var17727401_2" "SELECT 1 INTO @var17727401 FROM t1 WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 LIMIT 1" "SELECT 1 FROM t1 WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 LIMIT 1 INTO @var17727401" +"SELECT 1 FROM t1 WHERE 1 INTO @var17727401 GROUP BY 1 HAVING 1 ORDER BY 1 LIMIT 1",,syntax_error +"SELECT 1 INTO @var17727401_1 +FROM t1 WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 LIMIT 1 +INTO @var17727401_2" +"SELECT (SELECT 1 FROM t1 INTO @var17727401)",,syntax_error +"SELECT 1 FROM (SELECT 1 FROM t1 INTO @var17727401) a",,syntax_error +"SELECT EXISTS(SELECT 1 FROM t1 INTO @var17727401)",,syntax_error +"SELECT 1 FROM t1 INTO @var17727401 UNION SELECT 1 FROM t1 INTO t1",,syntax_error +"(SELECT 1 FROM t1 INTO @var17727401) UNION (SELECT 1 FROM t1 INTO t1)",,syntax_error "SELECT 1 FROM t1 UNION SELECT 1 FROM t1 INTO @var17727401" "(SELECT 1 FROM t1 ORDER BY 1) ORDER BY 1" "(SELECT 1 FROM t1 LIMIT 1) LIMIT 1" @@ -63869,6 +69913,8 @@ FOR UPDATE)" "((SELECT 1 FROM t1 LIMIT 1) LIMIT 1) LIMIT 1" "(SELECT 1 FROM t1 ORDER BY 1) LIMIT 1" "(SELECT 1 FROM t1 LIMIT 1) ORDER BY 1" +"((SELECT 1 FROM t1 ORDER BY 1) LIMIT 1) ORDER BY 1)",,syntax_error +"((SELECT 1 FROM t1 LIMIT 1) ORDER BY 1) LIMIT 1)",,syntax_error "SELECT COUNT(1) FROM DUAL GROUP BY '1' ORDER BY 1 " "SELECT COUNT(1) GROUP BY '1' ORDER BY 1 " "DO(SELECT 1 c GROUP BY 1 HAVING 1 ORDER BY COUNT(1))" @@ -63908,7 +69954,17 @@ ORDER BY f))" ORDER BY f" "SELECT 1 AS f HAVING EXISTS(SELECT 1 FROM t1) IS TRUE ORDER BY f" +"SET default_storage_engine=a.myisam" +"SET default_storage_engine = .a.MyISAM",,syntax_error +"SET default_storage_engine = a.b.MyISAM" +"SET default_storage_engine = `a`.MyISAM" +"SET default_storage_engine = `a`.`MyISAM`" +"set default_storage_engine = ""a.MYISAM""" +"set default_storage_engine = 'a.MYISAM'" +"set default_storage_engine = `a.MYISAM`" "CREATE TABLE t1 (s VARCHAR(100))" +"CREATE TRIGGER trigger1 BEFORE INSERT ON t1 FOR EACH ROW +SET default_storage_engine = NEW.INNODB" "INSERT INTO t2 VALUES (10), (20)" "SELECT i FROM t1 WHERE i = 1 UNION @@ -63942,6 +69998,14 @@ FROM t2 GROUP BY a" "SELECT * FROM ( SELECT a FROM t1 UNION SELECT 1 ORDER BY a ) AS a1 WHERE a1.a = 1 OR a1.a = 2" +"DO(CONVERT(CONVERT('',DECIMAL(66,0)), DECIMAL(66,0))), CAST(CONVERT(1,DECIMAL(65,31)) AS DATE)" +"SELECT CONVERT(CONVERT('',DECIMAL(65,0)), DECIMAL(66,0))" +"SELECT 1< +!(1 XOR TO_BASE64()))",,syntax_error +"SELECT 1< +!(1 XOR TO_BASE64())" +"SELECT !('' XOR LENGTH())" +"SELECT !((UNHEX() IS NULL))" "CREATE DATABASE mysqltest1 CHARACTER SET LATIN2" "CREATE TABLE t1 (a VARCHAR(255) CHARACTER SET LATIN2)" "SET CHARACTER SET cp1250_latin2" @@ -63949,6 +70013,8 @@ WHERE a1.a = 1 OR a1.a = 2" "INSERT INTO t1 VALUES ('ŁĄŞŻ' '')" "INSERT INTO t1 () SELECT * FROM t1" "INSERT INTO t1 SELECT HIGH_PRIORITY * FROM t1" +"INSERT INTO t1 SELECT DISTINCT ALL * FROM t1" +"REPLACE INTO `` SELECT * FROM ``" "DELETE QUICK FROM t1 WHERE i = 0" "SET @parse_gcol_expr = 1" "SELECT 1 AS parse_gcol_expr" @@ -63960,15 +70026,22 @@ parse_gcol_expr: LOOP SELECT 1; END LOOP parse_gcol_expr; END" +"PARSE_GCOL_EXPR (1)",,syntax_error "CREATE TABLE t1 (x INT PRIMARY KEY)" "ALTER TABLE t1 ALGORITHM=DEFAULT" "ALTER TABLE t1 ALGORITHM=COPY" "ALTER TABLE t1 ALGORITHM=INPLACE" "ALTER TABLE t1 LOCK=DEFAULT" +"ALTER TABLE t1 LOCK=NONE" +"ALTER TABLE t1 LOCK=SHARED" "ALTER TABLE t1 LOCK=EXCLUSIVE" "ALTER TABLE t1 LOCK=SHARED, ALGORITHM=COPY, LOCK=NONE, ALGORITHM=DEFAULT, LOCK=EXCLUSIVE, ALGORITHM=INPLACE" +"ALTER TABLE t1 WITH VALIDATION" +"ALTER TABLE t1 WITHOUT VALIDATION" +"ALTER TABLE t1 LOCK=SHARED, WITH VALIDATION, ALGORITHM=COPY, +LOCK=EXCLUSIVE, WITHOUT VALIDATION, ALGORITHM=INPLACE" "INSERT INTO t2 VALUES ( 2 ), ( 2 )" "INSERT INTO t3 VALUES ( 3 ), ( 3 ), ( 3 )" "SELECT 1 UNION SELECT 2" @@ -63978,22 +70051,42 @@ LOCK=EXCLUSIVE, ALGORITHM=INPLACE" "SELECT 2 FROM t1 UNION ((SELECT 3 FROM t1))" "(SELECT 2 FROM t1) UNION SELECT 3 FROM t1" "((SELECT 2 FROM t1)) UNION SELECT 3 FROM t1" +"SELECT a FROM t1 LIMIT 1 UNION ALL SELECT a FROM t1",,syntax_error "(SELECT 1) UNION (SELECT 2 UNION SELECT 3)" "(SELECT a FROM t1 LIMIT 1) UNION ALL (SELECT a FROM t1 ORDER BY a) LIMIT 2" "(SELECT a FROM t1 LIMIT 1) UNION ALL ((SELECT a FROM t1 ORDER BY a)) LIMIT 2" +"SELECT 1 UNION SELECT 2 FROM t1 ORDER BY a LIMIT 1" "SELECT 1 UNION (SELECT 2 FROM t1 ORDER BY a LIMIT 1)" +"(SELECT 1 FROM t1 LIMIT 2) UNION SELECT 2 FROM t1 ORDER BY a LIMIT 1" "(SELECT 1 FROM t1 LIMIT 2) UNION (SELECT 2 FROM t1 ORDER BY a LIMIT 1)" "(SELECT a FROM t1 LIMIT 2) LIMIT 1" "((SELECT a FROM t1 LIMIT 2)) LIMIT 1" "(SELECT a FROM t1 LIMIT 2) ORDER BY 1" "(SELECT 1 FROM t1 LIMIT 2) UNION (SELECT 2 FROM t1 ORDER BY a LIMIT 1) LIMIT 1" +"(SELECT 1 FROM t1 LIMIT 2) UNION (SELECT 2 FROM t1 ORDER BY a LIMIT 1) +ORDER BY a" +"(SELECT 1 FROM t1 LIMIT 1) UNION ((SELECT 2 FROM t1 ORDER BY a LIMIT 2)) +ORDER BY a" "(SELECT a FROM t2 LIMIT 1) UNION (SELECT a FROM t3 LIMIT 2) LIMIT 1" +"(SELECT a FROM t1 LIMIT 1) ORDER BY t1.a" +"((SELECT a FROM t1 LIMIT 1)) ORDER BY t1.a" +"(SELECT a FROM t1 LIMIT 1) UNION ALL (SELECT 2) ORDER BY t1.b" +"(SELECT a FROM t1 LIMIT 1) UNION ALL ((SELECT 2)) ORDER BY t1.b" +"(SELECT a FROM t1 LIMIT 1) UNION ALL (SELECT a FROM t1 ORDER BY a LIMIT 2) +ORDER BY t1.b" "SELECT 1 UNION ( SELECT 1 UNION SELECT 1 )" "( SELECT 1 UNION SELECT 1 ) UNION SELECT 1" "( (SELECT 1 UNION SELECT 1 ) UNION SELECT 1 ) UNION SELECT 1" "( SELECT 1 UNION ( SELECT 1 UNION SELECT 1 ) UNION SELECT 1 )" +"( SELECT 1 UNION ( SELECT 1 UNION SELECT 1 ) UNION SELECT 1",,syntax_error +"SELECT a FROM t1 ORDER BY a UNION SELECT a FROM t1",,syntax_error "(SELECT * FROM t1 LIMIT 1) UNION SELECT * FROM t1" "(SELECT * FROM t1 ORDER BY a) UNION SELECT * FROM t1" +"SELECT a FROM t1 +UNION +SELECT a FROM t1 ORDER BY a +UNION +SELECT a FROM t1",,syntax_error "(SELECT SQL_CALC_FOUND_ROWS a FROM t1 LIMIT 2) UNION (SELECT a FROM t2 ORDER BY a) LIMIT 2" @@ -64017,6 +70110,7 @@ UNION "((SELECT 1) LIMIT 1)" "(SELECT 1 UNION SELECT 2) LIMIT 1" "((SELECT 1 UNION SELECT 2)) LIMIT 1" +"(SELECT a FROM t1) LIMIT 1 UNION ALL ((SELECT a FROM t1 ORDER BY a)) LIMIT 2",,syntax_error "INSERT INTO t2 VALUES ( 2 )" "INSERT INTO t3 VALUES ( 3 )" "CREATE TABLE t4 ( a INT )" @@ -64034,22 +70128,42 @@ UNION "SELECT * FROM ((((SELECT 1 FROM t1)) UNION (SELECT 2 FROM t1))) dt" "SELECT * FROM (((SELECT 1 FROM t1) UNION ((SELECT 2 FROM t1)))) dt" "SELECT * FROM ((((SELECT 1 FROM t1)) UNION ((SELECT 2 FROM t1)))) dt" +"SELECT * FROM (SELECT 1 FROM t1 UNION SELECT 2 FROM t1)" +"SELECT * FROM ((SELECT 1 FROM t1 UNION SELECT 2 FROM t1))" +"SELECT * FROM (SELECT 1 FROM t1 UNION (SELECT 2 FROM t1))" +"SELECT * FROM ((SELECT 1 FROM t1 UNION (SELECT 2 FROM t1)))" +"SELECT * FROM ((SELECT 1 FROM t1 UNION ((SELECT 2 FROM t1))))" +"SELECT * FROM ((SELECT 1 FROM t1) UNION SELECT 2 FROM t1)" +"SELECT * FROM (((SELECT 1 FROM t1)) UNION SELECT 2 FROM t1)" +"SELECT * FROM ((((SELECT 1 FROM t1)) UNION SELECT 2 FROM t1))" +"SELECT * FROM ((SELECT 1 FROM t1) UNION (SELECT 2 FROM t1))" +"SELECT * FROM (((SELECT 1 FROM t1) UNION (SELECT 2 FROM t1)))" +"SELECT * FROM ((((SELECT 1 FROM t1)) UNION (SELECT 2 FROM t1)))" +"SELECT * FROM (((SELECT 1 FROM t1) UNION ((SELECT 2 FROM t1))))" +"SELECT * FROM ((((SELECT 1 FROM t1)) UNION ((SELECT 2 FROM t1))))" "SELECT * FROM ( t1 JOIN t2 ON TRUE )" "SELECT * FROM (( t1 JOIN t2 ON TRUE ))" "SELECT * FROM ( t1 JOIN t2 ON TRUE JOIN t3 ON TRUE )" "SELECT * FROM ((t1 JOIN t2 ON TRUE) JOIN t3 ON TRUE )" "SELECT * FROM (t1 INNER JOIN t2 ON (t1.a = t2.a))" +"SELECT 1 FROM (SELECT 1 FROM t1 INTO @v) a",,syntax_error "SELECT 1 FROM (t1)" "SELECT 1 FROM ((t1))" "SELECT 1 UNION SELECT 2 FROM (t2)" "SELECT 1 FROM (SELECT 2 ORDER BY 1) AS res" "SELECT 1 FROM ((SELECT 2) ORDER BY 1) AS res" +"SELECT 1 FROM ((SELECT 2) a ORDER BY 1) AS res",,syntax_error "SELECT 1 FROM ((SELECT 2) LIMIT 1) AS res" +"SELECT 1 FROM ((SELECT 2) a LIMIT 1) AS res",,syntax_error "SELECT * FROM ( t1 AS alias1 )" "SELECT * FROM t1 AS alias1, t2 AS alias2" "SELECT * FROM ( t1 AS alias1, t2 AS alias2 )" +"SELECT * FROM ( t1 JOIN t2 ON TRUE, t1 JOIN t3 ON TRUE )" +"SELECT * FROM ( t1 JOIN t2 ON TRUE, t1 t11 JOIN t3 ON TRUE ) t1a",,syntax_error +"SELECT * FROM ( t1 JOIN t2 ON TRUE, SELECT 1 FROM DUAL )",,syntax_error "SELECT * FROM ( t1 JOIN t2 ON TRUE, (SELECT 1 FROM DUAL) t1a )" "SELECT * FROM t1 JOIN t2 ON TRUE, (SELECT 1 FROM DUAL) t1a" +"SELECT * FROM ( SELECT 1 FROM DUAL )" "SELECT * FROM ( SELECT 1 FROM DUAL ) t1a" "SELECT * FROM ( t1, t2 )" "SELECT * FROM (( t1, t2 ))" @@ -64061,9 +70175,11 @@ UNION "SELECT * FROM ((SELECT 1 UNION SELECT 1) UNION SELECT 1) a" "SELECT * FROM (t1, t2) JOIN (t3, t4) ON TRUE" "SELECT * FROM ((t1, t2) JOIN t3 ON TRUE)" +"SELECT * FROM t1 JOIN ( t2, t3 ) USING ( a )" "EXPLAIN SELECT 1 FROM (SELECT 1 FROM t1) t" "CREATE TABLE t4 ( d INT )" "SELECT * FROM t1 LEFT JOIN ( t2, t3, t4 ) ON a = c" +"SELECT * FROM t1 NATURAL JOIN ((t1 NATURAL JOIN t1), (t1 NATURAL JOIN t1))" "CREATE TABLE t5 ( d INT )" "SELECT * FROM t5 NATURAL JOIN ((t1 NATURAL JOIN t2), (t3 NATURAL JOIN t4))" "SELECT * FROM ((t1 NATURAL JOIN t2), (t3 NATURAL JOIN t4)) NATURAL JOIN t5" @@ -64077,6 +70193,7 @@ UNION "SELECT * FROM ((((t1, t2)), t3))" "SELECT * FROM ((t1, ( t2, t3 )))" "SELECT * FROM ((t1, ((t2, t3))))" +"CREATE VIEW v1 AS SELECT 1 INTO @v" "CREATE VIEW v1 AS SELECT 1 FROM ( SELECT 1 FROM t1 ) my_table" "SELECT 1 INTO @v" "(SELECT 1 INTO @v)" @@ -64084,6 +70201,22 @@ UNION "SELECT 1 FROM t1 INTO @v" "(SELECT 1 FROM t1 INTO @v)" "((SELECT 1 FROM t1 INTO @v))" +"SELECT 1 FROM t1 INTO @v UNION SELECT 1",,syntax_error +"(SELECT 1 FROM t1 INTO @v) UNION SELECT 1",,syntax_error +"SELECT 1 FROM t1 INTO @v UNION (SELECT 1)",,syntax_error +"((SELECT 1 FROM t1 INTO @v) UNION (SELECT 1))",,syntax_error +"SELECT 1 INTO @v UNION SELECT 1" +"(SELECT 1 INTO @v) UNION SELECT 1" +"SELECT 1 INTO @v UNION (SELECT 1)" +"((SELECT 1 INTO @v) UNION (SELECT 1))" +"SELECT 1 UNION SELECT 2 INTO @v" +"(SELECT 1) UNION SELECT 2 INTO @v" +"(SELECT 1) UNION (SELECT 2 INTO @v)" +"((SELECT 1) UNION (SELECT 2 INTO @v))" +"SELECT 1 UNION SELECT 2 INTO @v FROM t1" +"(SELECT 1) UNION SELECT 2 INTO @v FROM t1" +"(SELECT 1) UNION (SELECT 2 INTO @v FROM t1)" +"((SELECT 1) UNION (SELECT 2 INTO @v FROM t1))" "SELECT 1 UNION SELECT 1 INTO @v FROM t1" "(SELECT 1) UNION SELECT 1 INTO @v FROM t1" "(SELECT 1) UNION (SELECT 1 INTO @v FROM t1)" @@ -64093,6 +70226,8 @@ UNION "(SELECT 1) UNION SELECT 2 INTO OUTFILE 'parser.test.file3'" "(SELECT 1) UNION (SELECT 2 INTO OUTFILE 'parser.test.file4')" "((SELECT 1) UNION (SELECT 2 INTO OUTFILE 'parser.test.file5'))" +"SELECT * FROM (SELECT a INTO @v FROM t1) t1a" +"SELECT * FROM (SELECT a INTO @v) t1a" "CREATE TABLE t2( b INT )" "CREATE TABLE t3( c INT )" "CREATE TABLE t4( d INT )" @@ -64109,16 +70244,22 @@ UNION "SELECT * FROM t1 STRAIGHT_JOIN t2 ON a = b" "SELECT * FROM t1 t11 STRAIGHT_JOIN t1 t12 USING ( a )" "SELECT * FROM t1 t11 NATURAL JOIN t1 t12" +"SELECT * FROM t1 t11 NATURAL JOIN t1 t12 ON t11.a = t12.a",,syntax_error +"SELECT * FROM t1 t11 NATURAL JOIN t1 t12 USING ( a )",,syntax_error "SELECT * FROM t1 t11 NATURAL INNER JOIN t1 t12" +"SELECT * FROM t1 LEFT JOIN t2",,syntax_error "SELECT * FROM t1 LEFT JOIN t2 ON a = b" "SELECT * FROM t1 t11 LEFT JOIN t1 t12 USING ( a )" "SELECT * FROM t1 NATURAL LEFT JOIN t2" +"SELECT * FROM t1 LEFT OUTER JOIN t2",,syntax_error "SELECT * FROM t1 LEFT OUTER JOIN t2 ON a = b" "SELECT * FROM t1 t11 LEFT OUTER JOIN t1 t12 USING ( a )" "SELECT * FROM t1 NATURAL LEFT OUTER JOIN t2" +"SELECT * FROM t1 RIGHT JOIN t2",,syntax_error "SELECT * FROM t1 RIGHT JOIN t2 ON a = b" "SELECT * FROM t1 t11 RIGHT JOIN t1 t12 USING ( a )" "SELECT * FROM t1 NATURAL RIGHT JOIN t2" +"SELECT * FROM t1 RIGHT OUTER JOIN t2",,syntax_error "SELECT * FROM t1 RIGHT OUTER JOIN t2 ON a = b" "SELECT * FROM t1 t11 RIGHT OUTER JOIN t1 t12 USING ( a )" "SELECT * FROM t1 NATURAL RIGHT OUTER JOIN t2" @@ -64167,8 +70308,12 @@ o INT "CREATE INDEX a_index ON t1( a )" "CREATE UNIQUE INDEX b_index ON t1( b )" "CREATE INDEX c_index USING btree ON t1( c )" +"CREATE INDEX c_index USING btree USING btree ON t1( c )",,syntax_error +"CREATE INDEX d_index USING rtree ON t1( d )" "CREATE INDEX e_index TYPE btree ON t1( e )" "CREATE INDEX type TYPE btree ON t1( f )" +"CREATE INDEX TYPE btree ON t1( g )",,syntax_error +"CREATE INDEX h_index TYPE rtree ON t1( h )" "CREATE INDEX i_index ON t1( i ) KEY_BLOCK_SIZE = 1" "CREATE INDEX j_index ON t1( j ) KEY_BLOCK_SIZE = 1 KEY_BLOCK_SIZE = 1" "CREATE INDEX k_index ON t1( k ) COMMENT 'A comment'" @@ -64176,6 +70321,7 @@ o INT "CREATE INDEX l_index ON t1( l ) USING btree" "CREATE INDEX m_index ON t1( m ) TYPE btree" "CREATE INDEX n_index USING btree ON t1( n ) USING btree" +"CREATE INDEX x_index USING btree ON t1( o ) USING rtree" "CREATE INDEX o_index USING rtree ON t1( o ) USING btree" "CREATE VIEW v1 AS SELECT /*+ QB_NAME(a) */ 1" "ALTER VIEW v1 AS SELECT /*+ QB_NAME(a) */ 1" @@ -64184,17 +70330,79 @@ o INT "CREATE TABLE t2( a INT )" "CREATE TABLE t3( a INT )" "CREATE TABLE t4( a INT )" +"SELECT 1 +FROM ( SELECT 1 FROM t1 JOIN t2 ON @@q ) AS d +JOIN t3 LEFT JOIN t4 ON 1" +"COMMIT AND CHAIN RELEASE",,syntax_error "COMMIT AND NO CHAIN RELEASE" "COMMIT RELEASE" +"COMMIT CHAIN RELEASE",,syntax_error +"COMMIT NO CHAIN RELEASE",,syntax_error +"COMMIT AND NO RELEASE",,syntax_error +"COMMIT AND RELEASE",,syntax_error "COMMIT NO RELEASE" +"COMMIT CHAIN NO RELEASE",,syntax_error +"COMMIT NO CHAIN NO RELEASE",,syntax_error +"COMMIT AND RELEASE CHAIN",,syntax_error "COMMIT AND NO CHAIN NO RELEASE" +"ROLLBACK AND CHAIN RELEASE",,syntax_error "ROLLBACK AND NO CHAIN RELEASE" "ROLLBACK RELEASE" +"ROLLBACK CHAIN RELEASE",,syntax_error +"ROLLBACK NO CHAIN RELEASE",,syntax_error +"ROLLBACK AND NO RELEASE",,syntax_error +"ROLLBACK AND RELEASE",,syntax_error "ROLLBACK NO RELEASE" +"ROLLBACK CHAIN NO RELEASE",,syntax_error +"ROLLBACK NO CHAIN NO RELEASE",,syntax_error +"ROLLBACK AND RELEASE CHAIN",,syntax_error "ROLLBACK AND NO CHAIN NO RELEASE" "CREATE TABLE t1 (a INT PRIMARY KEY) PARTITION BY HASH (a) PARTITIONS 1" +"ALTER TABLE t1 ADD PARTITION" "SET sql_mode='IGNORE_SPACE'" +"CREATE +TABLE",IGNORE_SPACE,syntax_error "SHOW COLUMNS FROM t1 WHERE FIELD='a'",IGNORE_SPACE +"ALTER TABLE t1 RENAME TO ``.t1",IGNORE_SPACE +"CREATE TABLE t1 (a INT) PARTITION BY KEY ALGORITHM = 10 () PARTITIONS 3",IGNORE_SPACE,syntax_error +"ALTER EVENT ev1",IGNORE_SPACE,syntax_error +"ALTER INSTANCE ROTATE MyISAM MASTER KEY",IGNORE_SPACE,syntax_error +"REVOKE SELECT(c1) ON FUNCTION *.* FROM r1",IGNORE_SPACE,syntax_error +"GRANT SELECT(c1) ON FUNCTION *.* TO r1",IGNORE_SPACE,syntax_error +"CREATE INDEX idx1 ON `` (c1)",IGNORE_SPACE +"ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE `` WITH VALIDATION",IGNORE_SPACE +"CHECK TABLE ``",IGNORE_SPACE +"DROP INDEX idx1 ON ``",IGNORE_SPACE +"CACHE INDEX `` IN c",IGNORE_SPACE +"CACHE INDEX `` PARTITION (ALL) IN c",IGNORE_SPACE +"LOAD INDEX INTO CACHE `` PARTITION (ALL)",IGNORE_SPACE +"LOAD INDEX INTO CACHE ``",IGNORE_SPACE +"SELECT 1,,2",,syntax_error +"SELECT ,,1",,syntax_error +"SELECT ,,,",,syntax_error +"CREATE DATABASE db CHARSET DEFAULT",,syntax_error +"CREATE DATABASE db COLLATE DEFAULT",,syntax_error +"CREATE TABLE t (i INT) CHARSET DEFAULT",,syntax_error +"CREATE TABLE t (i INT) COLLATE DEFAULT",,syntax_error +"ALTER DATABASE db CHARSET DEFAULT",,syntax_error +"ALTER DATABASE db COLLATE DEFAULT",,syntax_error +"ALTER TABLE t COLLATE DEFAULT",,syntax_error +"SET NAMES utf8mb3 COLLATE DEFAULT",,syntax_error +"SET NAMES DEFAULT COLLATE DEFAULT",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE c CHAR(1) CHARSET DEFAULT; +END",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE c CHAR(1) COLLATE DEFAULT; +END",,syntax_error +"CREATE PROCEDURE p1(c CHAR(1) CHARSET DEFAULT) BEGIN END",,syntax_error +"CREATE PROCEDURE p1(c CHAR(1) COLLATE DEFAULT) BEGIN END",,syntax_error +"CREATE FUNCTION f1(c CHAR(1) CHARSET DEFAULT) RETURNS INT RETURN 1",,syntax_error +"CREATE FUNCTION f1(c CHAR(1) COLLATE DEFAULT) RETURNS INT RETURN 1",,syntax_error +"CREATE FUNCTION f1() RETURNS CHAR(1) CHARSET DEFAULT RETURN ''",,syntax_error +"CREATE FUNCTION f1() RETURNS CHAR(1) COLLATE DEFAULT RETURN ''",,syntax_error "CREATE TEMPORARY TABLE admin (admin INT)" "DROP TABLE admin" "SELECT @@default_collation_for_utf8mb4" @@ -64212,9 +70420,25 @@ o INT "CREATE TABLE t3 (i INT) CHARSET latin1" "ALTER TABLE t3 CONVERT TO CHARACTER SET DEFAULT" "ALTER TABLE t3 CONVERT TO CHARACTER SET DEFAULT COLLATE utf8mb4_bin" +"ALTER TABLE t3 CONVERT TO CHARACTER SET DEFAULT COLLATE cp1251_general_cs" "SET parser_max_mem_size = 10000000" "SET parser_max_mem_size = default" +"CREATE PROCEDURE p1 () wrong syntax",,syntax_error "SELECT 1 AS PERSIST, 2 AS PERSIST_ONLY" +"CREATE ROLE EVENT",,syntax_error +"CREATE ROLE FILE",,syntax_error +"CREATE ROLE NONE",,syntax_error +"CREATE ROLE PROCESS",,syntax_error +"CREATE ROLE PROXY",,syntax_error +"CREATE ROLE RELOAD",,syntax_error +"CREATE ROLE REPLICATION",,syntax_error +"CREATE ROLE RESOURCE",,syntax_error +"CREATE ROLE SUPER",,syntax_error +"SET GLOBAL = DEFAULT",,syntax_error +"SET LOCAL = DEFAULT",,syntax_error +"SET PERSIST = DEFAULT",,syntax_error +"SET PERSIST_ONLY = DEFAULT",,syntax_error +"SET SESSION = DEFAULT",,syntax_error "CREATE FUNCTION f1() RETURNS INT BEGIN ACCOUNT: LOOP RETURN 1; END LOOP; @@ -64245,8 +70469,44 @@ UPGRADE: LOOP RETURN 1; END LOOP; VISIBLE: LOOP RETURN 1; END LOOP; WRAPPER: LOOP RETURN 1; END LOOP; END" +"LOCK TABLES t1=a READ",,syntax_error +"HANDLER t1 OPEN=a",,syntax_error +"SELECT * FROM t1=a",,syntax_error +"SELECT * FROM (SELECT 1)=a",,syntax_error +"SELECT * FROM t1 JOIN t1=a",,syntax_error +"UPDATE t1=a SET i=0",,syntax_error "CREATE TEMPORARY TABLE t2 (i INT)" "SELECT * FROM { OJ t1 LEFT JOIN t2 ON TRUE }" +"SELECT * FROM { `OJ` t1 LEFT JOIN t2 ON TRUE }",,syntax_error +"SELECT * FROM { random_identifier t1 LEFT JOIN t2 ON TRUE }",,syntax_error +"CREATE TABLE t1 ( +x VARCHAR(10) +COLLATE ascii_bin +COLLATE ascii_bin +)",,syntax_error +"CREATE TABLE t2 ( +x VARCHAR(10) +COLLATE ascii_bin +COLLATE ascii_general_ci +)",,syntax_error +"CREATE TABLE t3 ( +x VARCHAR(10) +COLLATE ascii_bin +NOT NULL +COLLATE ascii_bin +)",,syntax_error +"CREATE TABLE t3 ( +x VARCHAR(10) +COLLATE ascii_bin +GENERATED ALWAYS AS(NULL) +COLLATE ascii_bin +)",,syntax_error +"CREATE TABLE t4 ( +x VARCHAR(10) +GENERATED ALWAYS AS(NULL) +COLLATE ascii_bin +COLLATE ascii_bin +)",,syntax_error "CREATE VIEW v1 AS (SELECT 1 ORDER BY 1) UNION (SELECT 3 ORDER BY 1) ORDER BY 1" "CREATE TABLE t3(a INTEGER, b INTEGER, c INTEGER)" "INSERT INTO t3 VALUES(1, 10, 100), (2, 20, 200), (3, 30, 300), (4, 40, 400)" @@ -64296,6 +70556,10 @@ ORDER BY c LIMIT 1" "(SELECT 1 UNION SELECT 1 UNION SELECT 1 FROM DUAL INTO @var FOR UPDATE)" "SELECT 1 UNION SELECT 1 UNION SELECT 1 INTO @var FOR UPDATE" "(SELECT 1 UNION SELECT 1 UNION SELECT 1 INTO @var FOR UPDATE)" +"SELECT 1 UNION (SELECT 1 INTO @var FROM DUAL) UNION SELECT 1" +"SELECT 1 UNION SELECT 1 UNION SELECT * FROM (SELECT 2 UNION SELECT 1 INTO @var FROM DUAL) t" +"SELECT 1 UNION SELECT 1 UNION SELECT * FROM (SELECT 1 UNION SELECT 1 UNION SELECT 1 INTO @var FROM DUAL) t" +"SELECT 1 UNION (SELECT 1 FROM DUAL INTO @var)",,syntax_error "WITH cte AS (SELECT 0 /*! ) */ SELECT * FROM cte a, cte b" "WITH cte AS /*! ( */ SELECT 0) SELECT * FROM cte a, cte b" "CREATE TABLE t1 (c1 INT, `*` INT, c3 INT)" @@ -64307,7 +70571,29 @@ ORDER BY c LIMIT 1" "(SELECT 2 AS c) ORDER BY c INTO @var" "(SELECT 3 AS c) ORDER BY c LIMIT 1 INTO @var" "(SELECT 4) INTO @var" +"SELECT cast( DATE'2019-10-10' AT LOCAL AS DATETIME )" +"SELECT cast( DATE'2019-10-10' AT TIME ZONE 'UTC' AS DATETIME )" +"SELECT cast( TIME'10:10' AT LOCAL AS DATETIME )" +"SELECT cast( TIME'10:10' AT TIME ZONE '+01:00' AS DATETIME )" +"SELECT cast( TIME'10:10' AT TIME ZONE INTERVAL 'UTC' AS DATETIME )" +"SELECT cast( TIME'10:10' AT TIME ZONE '' AS DATETIME )" +"SELECT cast( TIME'10:10' AT TIME ZONE INTERVAL '' AS DATETIME )" +"SELECT cast( TIMESTAMP'2019-10-10 10:11:12' AT LOCAL AS DATETIME )" "SELECT cast( NULL AT TIME ZONE 'UTC' AS DATETIME )" +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS BINARY )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS CHAR )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS DATE )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS DECIMAL )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS DOUBLE )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS FLOAT )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS SIGNED INTEGER )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS TIME )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS UNSIGNED INTEGER )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS JSON )",,syntax_error +"SELECT cast( TIMESTAMP'2019-10-10 10:40:00' AT TIME ZONE 'UTC' AS REAL )",,syntax_error +"EXPLAIN SELECT 1 INTO @x FROM DUAL INTO @y" +"EXPLAIN SELECT 1 INTO DUMPFILE 'file1' FROM DUAL INTO DUMPFILE 'file2'" +"EXPLAIN SELECT 1 INTO OUTFILE 'file1' FROM DUAL INTO OUTFILE 'file2'" "CREATE TABLE full(i INT)" "DROP TABLE full" "CREATE TABLE `full`(i INT)" @@ -64319,6 +70605,7 @@ ORDER BY c LIMIT 1" "SELECT * from full",ANSI_QUOTES "SELECT * from full as full" "SELECT * from `full` full" +"SELECT * from full outer",,syntax_error "SELECT * from ""full""",ANSI_QUOTES "DROP TABLE `full`" "CREATE TABLE get_source_public_key(i INT)" @@ -64375,6 +70662,113 @@ ORDER BY c LIMIT 1" "DROP TABLE source_user" "DROP TABLE source_zstd_compression_level" "CREATE TABLE t(pk INT)" +"WITH x as (SELECT 1) +SELECT 1 +FROM x x,x x0,x x1,x x2,x x3,x x4,x x5,x x6,x x7,x x8,x x9,x x10, +x x11,x x12,x x13,x x14,x x15,x x16,x x17,x x18,x x19,x x20, +x x21,x x22,x x23,x x24,x x25,x x26,x x27,x x28,x x29,x x30, +x x31,x x32,x x33,x x34,x x35,x x36,x x37,x x38,x x39,x x40, +x x41,x x42,x x43,x x44,x x45,x x46,x x47,x x48,x x49,x x50, +x x51,x x52,x x53,x x54,x x55,x x56,x x57,x x58,x x59,x x60, +x x61,x x62,x x63" +"SELECT 1 FROM +t as t1 +CROSS JOIN t AS t2 +CROSS JOIN t AS t3 +CROSS JOIN t AS t4 +CROSS JOIN t AS t5 +CROSS JOIN t AS t6 +CROSS JOIN t AS t7 +CROSS JOIN t AS t8 +CROSS JOIN t AS t9 +CROSS JOIN t AS t10 +CROSS JOIN t AS t11 +CROSS JOIN t AS t12 +CROSS JOIN t AS t13 +CROSS JOIN t AS t14 +CROSS JOIN t AS t15 +CROSS JOIN t AS t16 +CROSS JOIN t AS t17 +CROSS JOIN t AS t18 +CROSS JOIN t AS t19 +CROSS JOIN t AS t20 +CROSS JOIN t AS t21 +CROSS JOIN t AS t22 +CROSS JOIN t AS t23 +CROSS JOIN t AS t24 +CROSS JOIN t AS t25 +CROSS JOIN t AS t26 +CROSS JOIN t AS t27 +CROSS JOIN t AS t28 +CROSS JOIN t AS t29 +CROSS JOIN t AS t30 +CROSS JOIN t AS t31 +CROSS JOIN t AS t32 +CROSS JOIN t AS t33 +CROSS JOIN t AS t34 +CROSS JOIN t AS t35 +CROSS JOIN t AS t36 +CROSS JOIN t AS t37 +CROSS JOIN t AS t38 +CROSS JOIN t AS t39 +CROSS JOIN t AS t40 +CROSS JOIN t AS t41 +CROSS JOIN t AS t42 +CROSS JOIN t AS t43 +CROSS JOIN t AS t44 +CROSS JOIN t AS t45 +CROSS JOIN t AS t46 +CROSS JOIN t AS t47 +CROSS JOIN t AS t48 +CROSS JOIN t AS t49 +CROSS JOIN t AS t50 +CROSS JOIN t AS t51 +CROSS JOIN t AS t52 +CROSS JOIN t AS t53 +CROSS JOIN t AS t54 +CROSS JOIN t AS t55 +CROSS JOIN t AS t56 +CROSS JOIN t AS t57 +CROSS JOIN t AS t58 +CROSS JOIN t AS t59 +CROSS JOIN t AS t60 +CROSS JOIN t AS t61 +CROSS JOIN t AS t62 +CROSS JOIN t AS t63" +"SELECT 1 FROM +(t AS t1 CROSS JOIN t AS t2), (t AS t3 CROSS JOIN t AS t4), +(t AS t5 CROSS JOIN t AS t6), (t AS t7 CROSS JOIN t AS t8), +(t AS t9 CROSS JOIN t AS t10), (t AS t11 CROSS JOIN t AS t12), +(t AS t13 CROSS JOIN t AS t14), (t AS t15 CROSS JOIN t AS t16), +(t AS t17 CROSS JOIN t AS t18), (t AS t19 CROSS JOIN t AS t20), +(t AS t21 CROSS JOIN t AS t22), (t AS t23 CROSS JOIN t AS t24), +(t AS t25 CROSS JOIN t AS t26), (t AS t27 CROSS JOIN t AS t28), +(t AS t29 CROSS JOIN t AS t30), (t AS t31 CROSS JOIN t AS t32), +(t AS t33 CROSS JOIN t AS t34), (t AS t35 CROSS JOIN t AS t36), +(t AS t37 CROSS JOIN t AS t38), (t AS t39 CROSS JOIN t AS t40), +(t AS t41 CROSS JOIN t AS t42), (t AS t43 CROSS JOIN t AS t44), +(t AS t45 CROSS JOIN t AS t46), (t AS t47 CROSS JOIN t AS t48), +(t AS t49 CROSS JOIN t AS t50), (t AS t51 CROSS JOIN t AS t52), +(t AS t53 CROSS JOIN t AS t54), (t AS t55 CROSS JOIN t AS t56), +(t AS t57 CROSS JOIN t AS t58), (t AS t59 CROSS JOIN t AS t60), +(t AS t61 CROSS JOIN t AS t62)" +"SELECT 1 FROM +((((t AS t1 CROSS JOIN t AS t2) CROSS JOIN t AS t3) CROSS JOIN t AS t4) +CROSS JOIN ((((t AS t5 CROSS JOIN t AS t6) CROSS JOIN t AS t7) CROSS JOIN t AS t8) +CROSS JOIN ((((t AS t9 CROSS JOIN t AS t10) CROSS JOIN t AS t11) CROSS JOIN t AS t12) +CROSS JOIN ((((t AS t13 CROSS JOIN t AS t14) CROSS JOIN t AS t15) CROSS JOIN t AS t16) +CROSS JOIN ((((t AS t17 CROSS JOIN t AS t18) CROSS JOIN t AS t19) CROSS JOIN t AS t20) +CROSS JOIN ((((t AS t21 CROSS JOIN t AS t22) CROSS JOIN t AS t23) CROSS JOIN t AS t24) +CROSS JOIN ((((t AS t25 CROSS JOIN t AS t26) CROSS JOIN t AS t27) CROSS JOIN t AS t28) +CROSS JOIN ((((t AS t29 CROSS JOIN t AS t30) CROSS JOIN t AS t31) CROSS JOIN t AS t32) +CROSS JOIN ((((t AS t33 CROSS JOIN t AS t34) CROSS JOIN t AS t35) CROSS JOIN t AS t36) +CROSS JOIN ((((t AS t37 CROSS JOIN t AS t38) CROSS JOIN t AS t39) CROSS JOIN t AS t40) +CROSS JOIN ((((t AS t41 CROSS JOIN t AS t42) CROSS JOIN t AS t43) CROSS JOIN t AS t44) +CROSS JOIN ((((t AS t45 CROSS JOIN t AS t46) CROSS JOIN t AS t47) CROSS JOIN t AS t48) +CROSS JOIN ((((t AS t49 CROSS JOIN t AS t50) CROSS JOIN t AS t51) CROSS JOIN t AS t52) +CROSS JOIN ((((t AS t53 CROSS JOIN t AS t54) CROSS JOIN t AS t55) CROSS JOIN t AS t56) +CROSS JOIN (t AS t57 CROSS JOIN t AS t58 CROSS JOIN t AS t59 +CROSS JOIN t AS t60 CROSS JOIN t AS t61 CROSS JOIN t AS t62 CROSS JOIN t AS t63)))))))))))))))" "SELECT COUNT(*) = 0 FROM (SELECT t1.pk FROM t AS t1, t AS t2, t AS t3, t AS t4, t AS t5, @@ -64390,6 +70784,1025 @@ t AS t41, t AS t42, t AS t43, t AS t44, t AS t45, t AS t46, t AS t47, t AS t48, t AS t49, t AS t50, t AS t51, t AS t52, t AS t53, t AS t54, t AS t55, t AS t56, t AS t57, t AS t58, t AS t59, t AS t60) AS d2" +"SELECT 1 FROM t AS t1 +WHERE EXISTS ( +SELECT 1 FROM +t AS t1, t AS t2, t AS t3, t AS t4, t AS t5, +t AS t6, t AS t7, t AS t8, t AS t9, t AS t10, +t AS t11, t AS t12, t AS t13, t AS t14, t AS t15, +t AS t16, t AS t17, t AS t18, t AS t19, t AS t20, +t AS t21, t AS t22, t AS t23, t AS t24, t AS t25, +t AS t26, t AS t27, t AS t28, t AS t29, t AS t30, +t AS t31, t AS t32, t AS t33, t AS t34, t AS t35, +t AS t36, t AS t37, t AS t38, t AS t39, t AS t40, +t AS t41, t AS t42, t AS t43, t AS t44, t AS t45, +t AS t46, t AS t47, t AS t48, t AS t49, t AS t50, +t AS t51, t AS t52, t AS t53, t AS t54, t AS t55, +t AS t56, t AS t57, t AS t58, t AS t59, t AS t60, +t AS t61, t AS t62, t AS t63 +)" +"SELECT * +FROM t t0 JOIN t t1 ON t JOIN t t2 ON t JOIN t t3 ON t JOIN t t4 ON t +JOIN t t5 ON t JOIN t t6 ON t JOIN t t7 ON t JOIN t t8 ON t +JOIN t t9 ON t JOIN t t10 ON t JOIN t t11 ON t JOIN t t12 ON t +JOIN t t13 ON t JOIN t t14 ON t JOIN t t15 ON t JOIN t t16 ON t +JOIN t t17 ON t JOIN t t18 ON t JOIN t t19 ON t JOIN t t20 ON t +JOIN t t21 ON t JOIN t t22 ON t JOIN t t23 ON t JOIN t t24 ON t +JOIN t t25 ON t JOIN t t26 ON t JOIN t t27 ON t JOIN t t28 ON t +JOIN t t29 ON t JOIN t t30 ON t JOIN t t31 ON t JOIN t t32 ON t +JOIN t t33 ON t JOIN t t34 ON t JOIN t t35 ON t JOIN t t36 ON t +JOIN t t37 ON t JOIN t t38 ON t JOIN t t39 ON t JOIN t t40 ON t +JOIN t t41 ON t JOIN t t42 ON t JOIN t t43 ON t JOIN t t44 ON t +JOIN t t45 ON t JOIN t t46 ON t JOIN t t47 ON t JOIN t t48 ON t +JOIN t t49 ON t JOIN t t50 ON t JOIN t t51 ON t JOIN t t52 ON t +JOIN t t53 ON t JOIN t t54 ON t JOIN t t55 ON t JOIN t t56 ON t +JOIN t t57 ON t JOIN t t58 ON t JOIN t t59 ON t JOIN t t60 ON t +JOIN t t61 ON t JOIN t t62 ON t JOIN t t63 ON t JOIN t t64 ON t +JOIN t t65 ON t JOIN t t66 ON t JOIN t t67 ON t JOIN t t68 ON t +JOIN t t69 ON t JOIN t t70 ON t JOIN t t71 ON t JOIN t t72 ON t +JOIN t t73 ON t JOIN t t74 ON t JOIN t t75 ON t JOIN t t76 ON t +JOIN t t77 ON t JOIN t t78 ON t JOIN t t79 ON t JOIN t t80 ON t +JOIN t t81 ON t JOIN t t82 ON t JOIN t t83 ON t JOIN t t84 ON t +JOIN t t85 ON t JOIN t t86 ON t JOIN t t87 ON t JOIN t t88 ON t +JOIN t t89 ON t JOIN t t90 ON t JOIN t t91 ON t JOIN t t92 ON t +JOIN t t93 ON t JOIN t t94 ON t JOIN t t95 ON t JOIN t t96 ON t +JOIN t t97 ON t JOIN t t98 ON t JOIN t t99 ON t JOIN t t100 ON t +JOIN t t101 ON t JOIN t t102 ON t JOIN t t103 ON t JOIN t t104 ON t +JOIN t t105 ON t JOIN t t106 ON t JOIN t t107 ON t JOIN t t108 ON t +JOIN t t109 ON t JOIN t t110 ON t JOIN t t111 ON t JOIN t t112 ON t +JOIN t t113 ON t JOIN t t114 ON t JOIN t t115 ON t JOIN t t116 ON t +JOIN t t117 ON t JOIN t t118 ON t JOIN t t119 ON t JOIN t t120 ON t +JOIN t t121 ON t JOIN t t122 ON t JOIN t t123 ON t JOIN t t124 ON t +JOIN t t125 ON t JOIN t t126 ON t JOIN t t127 ON t JOIN t t128 ON t +JOIN t t129 ON t JOIN t t130 ON t JOIN t t131 ON t JOIN t t132 ON t +JOIN t t133 ON t JOIN t t134 ON t JOIN t t135 ON t JOIN t t136 ON t +JOIN t t137 ON t JOIN t t138 ON t JOIN t t139 ON t JOIN t t140 ON t +JOIN t t141 ON t JOIN t t142 ON t JOIN t t143 ON t JOIN t t144 ON t +JOIN t t145 ON t JOIN t t146 ON t JOIN t t147 ON t JOIN t t148 ON t +JOIN t t149 ON t JOIN t t150 ON t JOIN t t151 ON t JOIN t t152 ON t +JOIN t t153 ON t JOIN t t154 ON t JOIN t t155 ON t JOIN t t156 ON t +JOIN t t157 ON t JOIN t t158 ON t JOIN t t159 ON t JOIN t t160 ON t +JOIN t t161 ON t JOIN t t162 ON t JOIN t t163 ON t JOIN t t164 ON t +JOIN t t165 ON t JOIN t t166 ON t JOIN t t167 ON t JOIN t t168 ON t +JOIN t t169 ON t JOIN t t170 ON t JOIN t t171 ON t JOIN t t172 ON t +JOIN t t173 ON t JOIN t t174 ON t JOIN t t175 ON t JOIN t t176 ON t +JOIN t t177 ON t JOIN t t178 ON t JOIN t t179 ON t JOIN t t180 ON t +JOIN t t181 ON t JOIN t t182 ON t JOIN t t183 ON t JOIN t t184 ON t +JOIN t t185 ON t JOIN t t186 ON t JOIN t t187 ON t JOIN t t188 ON t +JOIN t t189 ON t JOIN t t190 ON t JOIN t t191 ON t JOIN t t192 ON t +JOIN t t193 ON t JOIN t t194 ON t JOIN t t195 ON t JOIN t t196 ON t +JOIN t t197 ON t JOIN t t198 ON t JOIN t t199 ON t JOIN t t200 ON t +JOIN t t201 ON t JOIN t t202 ON t JOIN t t203 ON t JOIN t t204 ON t +JOIN t t205 ON t JOIN t t206 ON t JOIN t t207 ON t JOIN t t208 ON t +JOIN t t209 ON t JOIN t t210 ON t JOIN t t211 ON t JOIN t t212 ON t +JOIN t t213 ON t JOIN t t214 ON t JOIN t t215 ON t JOIN t t216 ON t +JOIN t t217 ON t JOIN t t218 ON t JOIN t t219 ON t JOIN t t220 ON t +JOIN t t221 ON t JOIN t t222 ON t JOIN t t223 ON t JOIN t t224 ON t +JOIN t t225 ON t JOIN t t226 ON t JOIN t t227 ON t JOIN t t228 ON t +JOIN t t229 ON t JOIN t t230 ON t JOIN t t231 ON t JOIN t t232 ON t +JOIN t t233 ON t JOIN t t234 ON t JOIN t t235 ON t JOIN t t236 ON t +JOIN t t237 ON t JOIN t t238 ON t JOIN t t239 ON t JOIN t t240 ON t +JOIN t t241 ON t JOIN t t242 ON t JOIN t t243 ON t JOIN t t244 ON t +JOIN t t245 ON t JOIN t t246 ON t JOIN t t247 ON t JOIN t t248 ON t +JOIN t t249 ON t JOIN t t250 ON t JOIN t t251 ON t JOIN t t252 ON t +JOIN t t253 ON t JOIN t t254 ON t JOIN t t255 ON t JOIN t t256 ON t +JOIN t t257 ON t JOIN t t258 ON t JOIN t t259 ON t JOIN t t260 ON t +JOIN t t261 ON t JOIN t t262 ON t JOIN t t263 ON t JOIN t t264 ON t +JOIN t t265 ON t JOIN t t266 ON t JOIN t t267 ON t JOIN t t268 ON t +JOIN t t269 ON t JOIN t t270 ON t JOIN t t271 ON t JOIN t t272 ON t +JOIN t t273 ON t JOIN t t274 ON t JOIN t t275 ON t JOIN t t276 ON t +JOIN t t277 ON t JOIN t t278 ON t JOIN t t279 ON t JOIN t t280 ON t +JOIN t t281 ON t JOIN t t282 ON t JOIN t t283 ON t JOIN t t284 ON t +JOIN t t285 ON t JOIN t t286 ON t JOIN t t287 ON t JOIN t t288 ON t +JOIN t t289 ON t JOIN t t290 ON t JOIN t t291 ON t JOIN t t292 ON t +JOIN t t293 ON t JOIN t t294 ON t JOIN t t295 ON t JOIN t t296 ON t +JOIN t t297 ON t JOIN t t298 ON t JOIN t t299 ON t JOIN t t300 ON t +JOIN t t301 ON t JOIN t t302 ON t JOIN t t303 ON t JOIN t t304 ON t +JOIN t t305 ON t JOIN t t306 ON t JOIN t t307 ON t JOIN t t308 ON t +JOIN t t309 ON t JOIN t t310 ON t JOIN t t311 ON t JOIN t t312 ON t +JOIN t t313 ON t JOIN t t314 ON t JOIN t t315 ON t JOIN t t316 ON t +JOIN t t317 ON t JOIN t t318 ON t JOIN t t319 ON t JOIN t t320 ON t +JOIN t t321 ON t JOIN t t322 ON t JOIN t t323 ON t JOIN t t324 ON t +JOIN t t325 ON t JOIN t t326 ON t JOIN t t327 ON t JOIN t t328 ON t +JOIN t t329 ON t JOIN t t330 ON t JOIN t t331 ON t JOIN t t332 ON t +JOIN t t333 ON t JOIN t t334 ON t JOIN t t335 ON t JOIN t t336 ON t +JOIN t t337 ON t JOIN t t338 ON t JOIN t t339 ON t JOIN t t340 ON t +JOIN t t341 ON t JOIN t t342 ON t JOIN t t343 ON t JOIN t t344 ON t +JOIN t t345 ON t JOIN t t346 ON t JOIN t t347 ON t JOIN t t348 ON t +JOIN t t349 ON t JOIN t t350 ON t JOIN t t351 ON t JOIN t t352 ON t +JOIN t t353 ON t JOIN t t354 ON t JOIN t t355 ON t JOIN t t356 ON t +JOIN t t357 ON t JOIN t t358 ON t JOIN t t359 ON t JOIN t t360 ON t +JOIN t t361 ON t JOIN t t362 ON t JOIN t t363 ON t JOIN t t364 ON t +JOIN t t365 ON t JOIN t t366 ON t JOIN t t367 ON t JOIN t t368 ON t +JOIN t t369 ON t JOIN t t370 ON t JOIN t t371 ON t JOIN t t372 ON t +JOIN t t373 ON t JOIN t t374 ON t JOIN t t375 ON t JOIN t t376 ON t +JOIN t t377 ON t JOIN t t378 ON t JOIN t t379 ON t JOIN t t380 ON t +JOIN t t381 ON t JOIN t t382 ON t JOIN t t383 ON t JOIN t t384 ON t +JOIN t t385 ON t JOIN t t386 ON t JOIN t t387 ON t JOIN t t388 ON t +JOIN t t389 ON t JOIN t t390 ON t JOIN t t391 ON t JOIN t t392 ON t +JOIN t t393 ON t JOIN t t394 ON t JOIN t t395 ON t JOIN t t396 ON t +JOIN t t397 ON t JOIN t t398 ON t JOIN t t399 ON t JOIN t t400 ON t +JOIN t t401 ON t JOIN t t402 ON t JOIN t t403 ON t JOIN t t404 ON t +JOIN t t405 ON t JOIN t t406 ON t JOIN t t407 ON t JOIN t t408 ON t +JOIN t t409 ON t JOIN t t410 ON t JOIN t t411 ON t JOIN t t412 ON t +JOIN t t413 ON t JOIN t t414 ON t JOIN t t415 ON t JOIN t t416 ON t +JOIN t t417 ON t JOIN t t418 ON t JOIN t t419 ON t JOIN t t420 ON t +JOIN t t421 ON t JOIN t t422 ON t JOIN t t423 ON t JOIN t t424 ON t +JOIN t t425 ON t JOIN t t426 ON t JOIN t t427 ON t JOIN t t428 ON t +JOIN t t429 ON t JOIN t t430 ON t JOIN t t431 ON t JOIN t t432 ON t +JOIN t t433 ON t JOIN t t434 ON t JOIN t t435 ON t JOIN t t436 ON t +JOIN t t437 ON t JOIN t t438 ON t JOIN t t439 ON t JOIN t t440 ON t +JOIN t t441 ON t JOIN t t442 ON t JOIN t t443 ON t JOIN t t444 ON t +JOIN t t445 ON t JOIN t t446 ON t JOIN t t447 ON t JOIN t t448 ON t +JOIN t t449 ON t JOIN t t450 ON t JOIN t t451 ON t JOIN t t452 ON t +JOIN t t453 ON t JOIN t t454 ON t JOIN t t455 ON t JOIN t t456 ON t +JOIN t t457 ON t JOIN t t458 ON t JOIN t t459 ON t JOIN t t460 ON t +JOIN t t461 ON t JOIN t t462 ON t JOIN t t463 ON t JOIN t t464 ON t +JOIN t t465 ON t JOIN t t466 ON t JOIN t t467 ON t JOIN t t468 ON t +JOIN t t469 ON t JOIN t t470 ON t JOIN t t471 ON t JOIN t t472 ON t +JOIN t t473 ON t JOIN t t474 ON t JOIN t t475 ON t JOIN t t476 ON t +JOIN t t477 ON t JOIN t t478 ON t JOIN t t479 ON t JOIN t t480 ON t +JOIN t t481 ON t JOIN t t482 ON t JOIN t t483 ON t JOIN t t484 ON t +JOIN t t485 ON t JOIN t t486 ON t JOIN t t487 ON t JOIN t t488 ON t +JOIN t t489 ON t JOIN t t490 ON t JOIN t t491 ON t JOIN t t492 ON t +JOIN t t493 ON t JOIN t t494 ON t JOIN t t495 ON t JOIN t t496 ON t +JOIN t t497 ON t JOIN t t498 ON t JOIN t t499 ON t JOIN t t500 ON t +JOIN t t501 ON t JOIN t t502 ON t JOIN t t503 ON t JOIN t t504 ON t +JOIN t t505 ON t JOIN t t506 ON t JOIN t t507 ON t JOIN t t508 ON t +JOIN t t509 ON t JOIN t t510 ON t JOIN t t511 ON t JOIN t t512 ON t +JOIN t t513 ON t JOIN t t514 ON t JOIN t t515 ON t JOIN t t516 ON t +JOIN t t517 ON t JOIN t t518 ON t JOIN t t519 ON t JOIN t t520 ON t +JOIN t t521 ON t JOIN t t522 ON t JOIN t t523 ON t JOIN t t524 ON t +JOIN t t525 ON t JOIN t t526 ON t JOIN t t527 ON t JOIN t t528 ON t +JOIN t t529 ON t JOIN t t530 ON t JOIN t t531 ON t JOIN t t532 ON t +JOIN t t533 ON t JOIN t t534 ON t JOIN t t535 ON t JOIN t t536 ON t +JOIN t t537 ON t JOIN t t538 ON t JOIN t t539 ON t JOIN t t540 ON t +JOIN t t541 ON t JOIN t t542 ON t JOIN t t543 ON t JOIN t t544 ON t +JOIN t t545 ON t JOIN t t546 ON t JOIN t t547 ON t JOIN t t548 ON t +JOIN t t549 ON t JOIN t t550 ON t JOIN t t551 ON t JOIN t t552 ON t +JOIN t t553 ON t JOIN t t554 ON t JOIN t t555 ON t JOIN t t556 ON t +JOIN t t557 ON t JOIN t t558 ON t JOIN t t559 ON t JOIN t t560 ON t +JOIN t t561 ON t JOIN t t562 ON t JOIN t t563 ON t JOIN t t564 ON t +JOIN t t565 ON t JOIN t t566 ON t JOIN t t567 ON t JOIN t t568 ON t +JOIN t t569 ON t JOIN t t570 ON t JOIN t t571 ON t JOIN t t572 ON t +JOIN t t573 ON t JOIN t t574 ON t JOIN t t575 ON t JOIN t t576 ON t +JOIN t t577 ON t JOIN t t578 ON t JOIN t t579 ON t JOIN t t580 ON t +JOIN t t581 ON t JOIN t t582 ON t JOIN t t583 ON t JOIN t t584 ON t +JOIN t t585 ON t JOIN t t586 ON t JOIN t t587 ON t JOIN t t588 ON t +JOIN t t589 ON t JOIN t t590 ON t JOIN t t591 ON t JOIN t t592 ON t +JOIN t t593 ON t JOIN t t594 ON t JOIN t t595 ON t JOIN t t596 ON t +JOIN t t597 ON t JOIN t t598 ON t JOIN t t599 ON t JOIN t t600 ON t +JOIN t t601 ON t JOIN t t602 ON t JOIN t t603 ON t JOIN t t604 ON t +JOIN t t605 ON t JOIN t t606 ON t JOIN t t607 ON t JOIN t t608 ON t +JOIN t t609 ON t JOIN t t610 ON t JOIN t t611 ON t JOIN t t612 ON t +JOIN t t613 ON t JOIN t t614 ON t JOIN t t615 ON t JOIN t t616 ON t +JOIN t t617 ON t JOIN t t618 ON t JOIN t t619 ON t JOIN t t620 ON t +JOIN t t621 ON t JOIN t t622 ON t JOIN t t623 ON t JOIN t t624 ON t +JOIN t t625 ON t JOIN t t626 ON t JOIN t t627 ON t JOIN t t628 ON t +JOIN t t629 ON t JOIN t t630 ON t JOIN t t631 ON t JOIN t t632 ON t +JOIN t t633 ON t JOIN t t634 ON t JOIN t t635 ON t JOIN t t636 ON t +JOIN t t637 ON t JOIN t t638 ON t JOIN t t639 ON t JOIN t t640 ON t +JOIN t t641 ON t JOIN t t642 ON t JOIN t t643 ON t JOIN t t644 ON t +JOIN t t645 ON t JOIN t t646 ON t JOIN t t647 ON t JOIN t t648 ON t +JOIN t t649 ON t JOIN t t650 ON t JOIN t t651 ON t JOIN t t652 ON t +JOIN t t653 ON t JOIN t t654 ON t JOIN t t655 ON t JOIN t t656 ON t +JOIN t t657 ON t JOIN t t658 ON t JOIN t t659 ON t JOIN t t660 ON t +JOIN t t661 ON t JOIN t t662 ON t JOIN t t663 ON t JOIN t t664 ON t +JOIN t t665 ON t JOIN t t666 ON t JOIN t t667 ON t JOIN t t668 ON t +JOIN t t669 ON t JOIN t t670 ON t JOIN t t671 ON t JOIN t t672 ON t +JOIN t t673 ON t JOIN t t674 ON t JOIN t t675 ON t JOIN t t676 ON t +JOIN t t677 ON t JOIN t t678 ON t JOIN t t679 ON t JOIN t t680 ON t +JOIN t t681 ON t JOIN t t682 ON t JOIN t t683 ON t JOIN t t684 ON t +JOIN t t685 ON t JOIN t t686 ON t JOIN t t687 ON t JOIN t t688 ON t +JOIN t t689 ON t JOIN t t690 ON t JOIN t t691 ON t JOIN t t692 ON t +JOIN t t693 ON t JOIN t t694 ON t JOIN t t695 ON t JOIN t t696 ON t +JOIN t t697 ON t JOIN t t698 ON t JOIN t t699 ON t JOIN t t700 ON t +JOIN t t701 ON t JOIN t t702 ON t JOIN t t703 ON t JOIN t t704 ON t +JOIN t t705 ON t JOIN t t706 ON t JOIN t t707 ON t JOIN t t708 ON t +JOIN t t709 ON t JOIN t t710 ON t JOIN t t711 ON t JOIN t t712 ON t +JOIN t t713 ON t JOIN t t714 ON t JOIN t t715 ON t JOIN t t716 ON t +JOIN t t717 ON t JOIN t t718 ON t JOIN t t719 ON t JOIN t t720 ON t +JOIN t t721 ON t JOIN t t722 ON t JOIN t t723 ON t JOIN t t724 ON t +JOIN t t725 ON t JOIN t t726 ON t JOIN t t727 ON t JOIN t t728 ON t +JOIN t t729 ON t JOIN t t730 ON t JOIN t t731 ON t JOIN t t732 ON t +JOIN t t733 ON t JOIN t t734 ON t JOIN t t735 ON t JOIN t t736 ON t +JOIN t t737 ON t JOIN t t738 ON t JOIN t t739 ON t JOIN t t740 ON t +JOIN t t741 ON t JOIN t t742 ON t JOIN t t743 ON t JOIN t t744 ON t +JOIN t t745 ON t JOIN t t746 ON t JOIN t t747 ON t JOIN t t748 ON t +JOIN t t749 ON t JOIN t t750 ON t JOIN t t751 ON t JOIN t t752 ON t +JOIN t t753 ON t JOIN t t754 ON t JOIN t t755 ON t JOIN t t756 ON t +JOIN t t757 ON t JOIN t t758 ON t JOIN t t759 ON t JOIN t t760 ON t +JOIN t t761 ON t JOIN t t762 ON t JOIN t t763 ON t JOIN t t764 ON t +JOIN t t765 ON t JOIN t t766 ON t JOIN t t767 ON t JOIN t t768 ON t +JOIN t t769 ON t JOIN t t770 ON t JOIN t t771 ON t JOIN t t772 ON t +JOIN t t773 ON t JOIN t t774 ON t JOIN t t775 ON t JOIN t t776 ON t +JOIN t t777 ON t JOIN t t778 ON t JOIN t t779 ON t JOIN t t780 ON t +JOIN t t781 ON t JOIN t t782 ON t JOIN t t783 ON t JOIN t t784 ON t +JOIN t t785 ON t JOIN t t786 ON t JOIN t t787 ON t JOIN t t788 ON t +JOIN t t789 ON t JOIN t t790 ON t JOIN t t791 ON t JOIN t t792 ON t +JOIN t t793 ON t JOIN t t794 ON t JOIN t t795 ON t JOIN t t796 ON t +JOIN t t797 ON t JOIN t t798 ON t JOIN t t799 ON t JOIN t t800 ON t +JOIN t t801 ON t JOIN t t802 ON t JOIN t t803 ON t JOIN t t804 ON t +JOIN t t805 ON t JOIN t t806 ON t JOIN t t807 ON t JOIN t t808 ON t +JOIN t t809 ON t JOIN t t810 ON t JOIN t t811 ON t JOIN t t812 ON t +JOIN t t813 ON t JOIN t t814 ON t JOIN t t815 ON t JOIN t t816 ON t +JOIN t t817 ON t JOIN t t818 ON t JOIN t t819 ON t JOIN t t820 ON t +JOIN t t821 ON t JOIN t t822 ON t JOIN t t823 ON t JOIN t t824 ON t +JOIN t t825 ON t JOIN t t826 ON t JOIN t t827 ON t JOIN t t828 ON t +JOIN t t829 ON t JOIN t t830 ON t JOIN t t831 ON t JOIN t t832 ON t +JOIN t t833 ON t JOIN t t834 ON t JOIN t t835 ON t JOIN t t836 ON t +JOIN t t837 ON t JOIN t t838 ON t JOIN t t839 ON t JOIN t t840 ON t +JOIN t t841 ON t JOIN t t842 ON t JOIN t t843 ON t JOIN t t844 ON t +JOIN t t845 ON t JOIN t t846 ON t JOIN t t847 ON t JOIN t t848 ON t +JOIN t t849 ON t JOIN t t850 ON t JOIN t t851 ON t JOIN t t852 ON t +JOIN t t853 ON t JOIN t t854 ON t JOIN t t855 ON t JOIN t t856 ON t +JOIN t t857 ON t JOIN t t858 ON t JOIN t t859 ON t JOIN t t860 ON t +JOIN t t861 ON t JOIN t t862 ON t JOIN t t863 ON t JOIN t t864 ON t +JOIN t t865 ON t JOIN t t866 ON t JOIN t t867 ON t JOIN t t868 ON t +JOIN t t869 ON t JOIN t t870 ON t JOIN t t871 ON t JOIN t t872 ON t +JOIN t t873 ON t JOIN t t874 ON t JOIN t t875 ON t JOIN t t876 ON t +JOIN t t877 ON t JOIN t t878 ON t JOIN t t879 ON t JOIN t t880 ON t +JOIN t t881 ON t JOIN t t882 ON t JOIN t t883 ON t JOIN t t884 ON t +JOIN t t885 ON t JOIN t t886 ON t JOIN t t887 ON t JOIN t t888 ON t +JOIN t t889 ON t JOIN t t890 ON t JOIN t t891 ON t JOIN t t892 ON t +JOIN t t893 ON t JOIN t t894 ON t JOIN t t895 ON t JOIN t t896 ON t +JOIN t t897 ON t JOIN t t898 ON t JOIN t t899 ON t JOIN t t900 ON t +JOIN t t901 ON t JOIN t t902 ON t JOIN t t903 ON t JOIN t t904 ON t +JOIN t t905 ON t JOIN t t906 ON t JOIN t t907 ON t JOIN t t908 ON t +JOIN t t909 ON t JOIN t t910 ON t JOIN t t911 ON t JOIN t t912 ON t +JOIN t t913 ON t JOIN t t914 ON t JOIN t t915 ON t JOIN t t916 ON t +JOIN t t917 ON t JOIN t t918 ON t JOIN t t919 ON t JOIN t t920 ON t +JOIN t t921 ON t JOIN t t922 ON t JOIN t t923 ON t JOIN t t924 ON t +JOIN t t925 ON t JOIN t t926 ON t JOIN t t927 ON t JOIN t t928 ON t +JOIN t t929 ON t JOIN t t930 ON t JOIN t t931 ON t JOIN t t932 ON t +JOIN t t933 ON t JOIN t t934 ON t JOIN t t935 ON t JOIN t t936 ON t +JOIN t t937 ON t JOIN t t938 ON t JOIN t t939 ON t JOIN t t940 ON t +JOIN t t941 ON t JOIN t t942 ON t JOIN t t943 ON t JOIN t t944 ON t +JOIN t t945 ON t JOIN t t946 ON t JOIN t t947 ON t JOIN t t948 ON t +JOIN t t949 ON t JOIN t t950 ON t JOIN t t951 ON t JOIN t t952 ON t +JOIN t t953 ON t JOIN t t954 ON t JOIN t t955 ON t JOIN t t956 ON t +JOIN t t957 ON t JOIN t t958 ON t JOIN t t959 ON t JOIN t t960 ON t +JOIN t t961 ON t JOIN t t962 ON t JOIN t t963 ON t JOIN t t964 ON t +JOIN t t965 ON t JOIN t t966 ON t JOIN t t967 ON t JOIN t t968 ON t +JOIN t t969 ON t JOIN t t970 ON t JOIN t t971 ON t JOIN t t972 ON t +JOIN t t973 ON t JOIN t t974 ON t JOIN t t975 ON t JOIN t t976 ON t +JOIN t t977 ON t JOIN t t978 ON t JOIN t t979 ON t JOIN t t980 ON t +JOIN t t981 ON t JOIN t t982 ON t JOIN t t983 ON t JOIN t t984 ON t +JOIN t t985 ON t JOIN t t986 ON t JOIN t t987 ON t JOIN t t988 ON t +JOIN t t989 ON t JOIN t t990 ON t JOIN t t991 ON t JOIN t t992 ON t +JOIN t t993 ON t JOIN t t994 ON t JOIN t t995 ON t JOIN t t996 ON t +JOIN t t997 ON t JOIN t t998 ON t JOIN t t999 ON t +JOIN t t1000 ON t JOIN t t1001 ON t JOIN t t1002 ON t JOIN t t1003 ON t +JOIN t t1004 ON t JOIN t t1005 ON t JOIN t t1006 ON t JOIN t t1007 ON t +JOIN t t1008 ON t JOIN t t1009 ON t JOIN t t1010 ON t JOIN t t1011 ON t +JOIN t t1012 ON t JOIN t t1013 ON t JOIN t t1014 ON t JOIN t t1015 ON t +JOIN t t1016 ON t JOIN t t1017 ON t JOIN t t1018 ON t JOIN t t1019 ON t +JOIN t t1020 ON t JOIN t t1021 ON t JOIN t t1022 ON t JOIN t t1023 ON t +JOIN t t1024 ON t JOIN t t1025 ON t JOIN t t1026 ON t JOIN t t1027 ON t +JOIN t t1028 ON t JOIN t t1029 ON t JOIN t t1030 ON t JOIN t t1031 ON t +JOIN t t1032 ON t JOIN t t1033 ON t JOIN t t1034 ON t JOIN t t1035 ON t +JOIN t t1036 ON t JOIN t t1037 ON t JOIN t t1038 ON t JOIN t t1039 ON t +JOIN t t1040 ON t JOIN t t1041 ON t JOIN t t1042 ON t JOIN t t1043 ON t +JOIN t t1044 ON t JOIN t t1045 ON t JOIN t t1046 ON t JOIN t t1047 ON t +JOIN t t1048 ON t JOIN t t1049 ON t JOIN t t1050 ON t JOIN t t1051 ON t +JOIN t t1052 ON t JOIN t t1053 ON t JOIN t t1054 ON t JOIN t t1055 ON t +JOIN t t1056 ON t JOIN t t1057 ON t JOIN t t1058 ON t JOIN t t1059 ON t +JOIN t t1060 ON t JOIN t t1061 ON t JOIN t t1062 ON t JOIN t t1063 ON t +JOIN t t1064 ON t JOIN t t1065 ON t JOIN t t1066 ON t JOIN t t1067 ON t +JOIN t t1068 ON t JOIN t t1069 ON t JOIN t t1070 ON t JOIN t t1071 ON t +JOIN t t1072 ON t JOIN t t1073 ON t JOIN t t1074 ON t JOIN t t1075 ON t +JOIN t t1076 ON t JOIN t t1077 ON t JOIN t t1078 ON t JOIN t t1079 ON t +JOIN t t1080 ON t JOIN t t1081 ON t JOIN t t1082 ON t JOIN t t1083 ON t +JOIN t t1084 ON t JOIN t t1085 ON t JOIN t t1086 ON t JOIN t t1087 ON t +JOIN t t1088 ON t JOIN t t1089 ON t JOIN t t1090 ON t JOIN t t1091 ON t +JOIN t t1092 ON t JOIN t t1093 ON t JOIN t t1094 ON t JOIN t t1095 ON t +JOIN t t1096 ON t JOIN t t1097 ON t JOIN t t1098 ON t JOIN t t1099 ON t +JOIN t t1100 ON t JOIN t t1101 ON t JOIN t t1102 ON t JOIN t t1103 ON t +JOIN t t1104 ON t JOIN t t1105 ON t JOIN t t1106 ON t JOIN t t1107 ON t +JOIN t t1108 ON t JOIN t t1109 ON t JOIN t t1110 ON t JOIN t t1111 ON t +JOIN t t1112 ON t JOIN t t1113 ON t JOIN t t1114 ON t JOIN t t1115 ON t +JOIN t t1116 ON t JOIN t t1117 ON t JOIN t t1118 ON t JOIN t t1119 ON t +JOIN t t1120 ON t JOIN t t1121 ON t JOIN t t1122 ON t JOIN t t1123 ON t +JOIN t t1124 ON t JOIN t t1125 ON t JOIN t t1126 ON t JOIN t t1127 ON t +JOIN t t1128 ON t JOIN t t1129 ON t JOIN t t1130 ON t JOIN t t1131 ON t +JOIN t t1132 ON t JOIN t t1133 ON t JOIN t t1134 ON t JOIN t t1135 ON t +JOIN t t1136 ON t JOIN t t1137 ON t JOIN t t1138 ON t JOIN t t1139 ON t +JOIN t t1140 ON t JOIN t t1141 ON t JOIN t t1142 ON t JOIN t t1143 ON t +JOIN t t1144 ON t JOIN t t1145 ON t JOIN t t1146 ON t JOIN t t1147 ON t +JOIN t t1148 ON t JOIN t t1149 ON t JOIN t t1150 ON t JOIN t t1151 ON t +JOIN t t1152 ON t JOIN t t1153 ON t JOIN t t1154 ON t JOIN t t1155 ON t +JOIN t t1156 ON t JOIN t t1157 ON t JOIN t t1158 ON t JOIN t t1159 ON t +JOIN t t1160 ON t JOIN t t1161 ON t JOIN t t1162 ON t JOIN t t1163 ON t +JOIN t t1164 ON t JOIN t t1165 ON t JOIN t t1166 ON t JOIN t t1167 ON t +JOIN t t1168 ON t JOIN t t1169 ON t JOIN t t1170 ON t JOIN t t1171 ON t +JOIN t t1172 ON t JOIN t t1173 ON t JOIN t t1174 ON t JOIN t t1175 ON t +JOIN t t1176 ON t JOIN t t1177 ON t JOIN t t1178 ON t JOIN t t1179 ON t +JOIN t t1180 ON t JOIN t t1181 ON t JOIN t t1182 ON t JOIN t t1183 ON t +JOIN t t1184 ON t JOIN t t1185 ON t JOIN t t1186 ON t JOIN t t1187 ON t +JOIN t t1188 ON t JOIN t t1189 ON t JOIN t t1190 ON t JOIN t t1191 ON t +JOIN t t1192 ON t JOIN t t1193 ON t JOIN t t1194 ON t JOIN t t1195 ON t +JOIN t t1196 ON t JOIN t t1197 ON t JOIN t t1198 ON t JOIN t t1199 ON t +JOIN t t1200 ON t JOIN t t1201 ON t JOIN t t1202 ON t JOIN t t1203 ON t +JOIN t t1204 ON t JOIN t t1205 ON t JOIN t t1206 ON t JOIN t t1207 ON t +JOIN t t1208 ON t JOIN t t1209 ON t JOIN t t1210 ON t JOIN t t1211 ON t +JOIN t t1212 ON t JOIN t t1213 ON t JOIN t t1214 ON t JOIN t t1215 ON t +JOIN t t1216 ON t JOIN t t1217 ON t JOIN t t1218 ON t JOIN t t1219 ON t +JOIN t t1220 ON t JOIN t t1221 ON t JOIN t t1222 ON t JOIN t t1223 ON t +JOIN t t1224 ON t JOIN t t1225 ON t JOIN t t1226 ON t JOIN t t1227 ON t +JOIN t t1228 ON t JOIN t t1229 ON t JOIN t t1230 ON t JOIN t t1231 ON t +JOIN t t1232 ON t JOIN t t1233 ON t JOIN t t1234 ON t JOIN t t1235 ON t +JOIN t t1236 ON t JOIN t t1237 ON t JOIN t t1238 ON t JOIN t t1239 ON t +JOIN t t1240 ON t JOIN t t1241 ON t JOIN t t1242 ON t JOIN t t1243 ON t +JOIN t t1244 ON t JOIN t t1245 ON t JOIN t t1246 ON t JOIN t t1247 ON t +JOIN t t1248 ON t JOIN t t1249 ON t JOIN t t1250 ON t JOIN t t1251 ON t +JOIN t t1252 ON t JOIN t t1253 ON t JOIN t t1254 ON t JOIN t t1255 ON t +JOIN t t1256 ON t JOIN t t1257 ON t JOIN t t1258 ON t JOIN t t1259 ON t +JOIN t t1260 ON t JOIN t t1261 ON t JOIN t t1262 ON t JOIN t t1263 ON t +JOIN t t1264 ON t JOIN t t1265 ON t JOIN t t1266 ON t JOIN t t1267 ON t +JOIN t t1268 ON t JOIN t t1269 ON t JOIN t t1270 ON t JOIN t t1271 ON t +JOIN t t1272 ON t JOIN t t1273 ON t JOIN t t1274 ON t JOIN t t1275 ON t +JOIN t t1276 ON t JOIN t t1277 ON t JOIN t t1278 ON t JOIN t t1279 ON t +JOIN t t1280 ON t JOIN t t1281 ON t JOIN t t1282 ON t JOIN t t1283 ON t +JOIN t t1284 ON t JOIN t t1285 ON t JOIN t t1286 ON t JOIN t t1287 ON t +JOIN t t1288 ON t JOIN t t1289 ON t JOIN t t1290 ON t JOIN t t1291 ON t +JOIN t t1292 ON t JOIN t t1293 ON t JOIN t t1294 ON t JOIN t t1295 ON t +JOIN t t1296 ON t JOIN t t1297 ON t JOIN t t1298 ON t JOIN t t1299 ON t +JOIN t t1300 ON t JOIN t t1301 ON t JOIN t t1302 ON t JOIN t t1303 ON t +JOIN t t1304 ON t JOIN t t1305 ON t JOIN t t1306 ON t JOIN t t1307 ON t +JOIN t t1308 ON t JOIN t t1309 ON t JOIN t t1310 ON t JOIN t t1311 ON t +JOIN t t1312 ON t JOIN t t1313 ON t JOIN t t1314 ON t JOIN t t1315 ON t +JOIN t t1316 ON t JOIN t t1317 ON t JOIN t t1318 ON t JOIN t t1319 ON t +JOIN t t1320 ON t JOIN t t1321 ON t JOIN t t1322 ON t JOIN t t1323 ON t +JOIN t t1324 ON t JOIN t t1325 ON t JOIN t t1326 ON t JOIN t t1327 ON t +JOIN t t1328 ON t JOIN t t1329 ON t JOIN t t1330 ON t JOIN t t1331 ON t +JOIN t t1332 ON t JOIN t t1333 ON t JOIN t t1334 ON t JOIN t t1335 ON t +JOIN t t1336 ON t JOIN t t1337 ON t JOIN t t1338 ON t JOIN t t1339 ON t +JOIN t t1340 ON t JOIN t t1341 ON t JOIN t t1342 ON t JOIN t t1343 ON t +JOIN t t1344 ON t JOIN t t1345 ON t JOIN t t1346 ON t JOIN t t1347 ON t +JOIN t t1348 ON t JOIN t t1349 ON t JOIN t t1350 ON t JOIN t t1351 ON t +JOIN t t1352 ON t JOIN t t1353 ON t JOIN t t1354 ON t JOIN t t1355 ON t +JOIN t t1356 ON t JOIN t t1357 ON t JOIN t t1358 ON t JOIN t t1359 ON t +JOIN t t1360 ON t JOIN t t1361 ON t JOIN t t1362 ON t JOIN t t1363 ON t +JOIN t t1364 ON t JOIN t t1365 ON t JOIN t t1366 ON t JOIN t t1367 ON t +JOIN t t1368 ON t JOIN t t1369 ON t JOIN t t1370 ON t JOIN t t1371 ON t +JOIN t t1372 ON t JOIN t t1373 ON t JOIN t t1374 ON t JOIN t t1375 ON t +JOIN t t1376 ON t JOIN t t1377 ON t JOIN t t1378 ON t JOIN t t1379 ON t +JOIN t t1380 ON t JOIN t t1381 ON t JOIN t t1382 ON t JOIN t t1383 ON t +JOIN t t1384 ON t JOIN t t1385 ON t JOIN t t1386 ON t JOIN t t1387 ON t +JOIN t t1388 ON t JOIN t t1389 ON t JOIN t t1390 ON t JOIN t t1391 ON t +JOIN t t1392 ON t JOIN t t1393 ON t JOIN t t1394 ON t JOIN t t1395 ON t +JOIN t t1396 ON t JOIN t t1397 ON t JOIN t t1398 ON t JOIN t t1399 ON t +JOIN t t1400 ON t JOIN t t1401 ON t JOIN t t1402 ON t JOIN t t1403 ON t +JOIN t t1404 ON t JOIN t t1405 ON t JOIN t t1406 ON t JOIN t t1407 ON t +JOIN t t1408 ON t JOIN t t1409 ON t JOIN t t1410 ON t JOIN t t1411 ON t +JOIN t t1412 ON t JOIN t t1413 ON t JOIN t t1414 ON t JOIN t t1415 ON t +JOIN t t1416 ON t JOIN t t1417 ON t JOIN t t1418 ON t JOIN t t1419 ON t +JOIN t t1420 ON t JOIN t t1421 ON t JOIN t t1422 ON t JOIN t t1423 ON t +JOIN t t1424 ON t JOIN t t1425 ON t JOIN t t1426 ON t JOIN t t1427 ON t +JOIN t t1428 ON t JOIN t t1429 ON t JOIN t t1430 ON t JOIN t t1431 ON t +JOIN t t1432 ON t JOIN t t1433 ON t JOIN t t1434 ON t JOIN t t1435 ON t +JOIN t t1436 ON t JOIN t t1437 ON t JOIN t t1438 ON t JOIN t t1439 ON t +JOIN t t1440 ON t JOIN t t1441 ON t JOIN t t1442 ON t JOIN t t1443 ON t +JOIN t t1444 ON t JOIN t t1445 ON t JOIN t t1446 ON t JOIN t t1447 ON t +JOIN t t1448 ON t JOIN t t1449 ON t JOIN t t1450 ON t JOIN t t1451 ON t +JOIN t t1452 ON t JOIN t t1453 ON t JOIN t t1454 ON t JOIN t t1455 ON t +JOIN t t1456 ON t JOIN t t1457 ON t JOIN t t1458 ON t JOIN t t1459 ON t +JOIN t t1460 ON t JOIN t t1461 ON t JOIN t t1462 ON t JOIN t t1463 ON t +JOIN t t1464 ON t JOIN t t1465 ON t JOIN t t1466 ON t JOIN t t1467 ON t +JOIN t t1468 ON t JOIN t t1469 ON t JOIN t t1470 ON t JOIN t t1471 ON t +JOIN t t1472 ON t JOIN t t1473 ON t JOIN t t1474 ON t JOIN t t1475 ON t +JOIN t t1476 ON t JOIN t t1477 ON t JOIN t t1478 ON t JOIN t t1479 ON t +JOIN t t1480 ON t JOIN t t1481 ON t JOIN t t1482 ON t JOIN t t1483 ON t +JOIN t t1484 ON t JOIN t t1485 ON t JOIN t t1486 ON t JOIN t t1487 ON t +JOIN t t1488 ON t JOIN t t1489 ON t JOIN t t1490 ON t JOIN t t1491 ON t +JOIN t t1492 ON t JOIN t t1493 ON t JOIN t t1494 ON t JOIN t t1495 ON t +JOIN t t1496 ON t JOIN t t1497 ON t JOIN t t1498 ON t JOIN t t1499 ON t +JOIN t t1500 ON t JOIN t t1501 ON t JOIN t t1502 ON t JOIN t t1503 ON t +JOIN t t1504 ON t JOIN t t1505 ON t JOIN t t1506 ON t JOIN t t1507 ON t +JOIN t t1508 ON t JOIN t t1509 ON t JOIN t t1510 ON t JOIN t t1511 ON t +JOIN t t1512 ON t JOIN t t1513 ON t JOIN t t1514 ON t JOIN t t1515 ON t +JOIN t t1516 ON t JOIN t t1517 ON t JOIN t t1518 ON t JOIN t t1519 ON t +JOIN t t1520 ON t JOIN t t1521 ON t JOIN t t1522 ON t JOIN t t1523 ON t +JOIN t t1524 ON t JOIN t t1525 ON t JOIN t t1526 ON t JOIN t t1527 ON t +JOIN t t1528 ON t JOIN t t1529 ON t JOIN t t1530 ON t JOIN t t1531 ON t +JOIN t t1532 ON t JOIN t t1533 ON t JOIN t t1534 ON t JOIN t t1535 ON t +JOIN t t1536 ON t JOIN t t1537 ON t JOIN t t1538 ON t JOIN t t1539 ON t +JOIN t t1540 ON t JOIN t t1541 ON t JOIN t t1542 ON t JOIN t t1543 ON t +JOIN t t1544 ON t JOIN t t1545 ON t JOIN t t1546 ON t JOIN t t1547 ON t +JOIN t t1548 ON t JOIN t t1549 ON t JOIN t t1550 ON t JOIN t t1551 ON t +JOIN t t1552 ON t JOIN t t1553 ON t JOIN t t1554 ON t JOIN t t1555 ON t +JOIN t t1556 ON t JOIN t t1557 ON t JOIN t t1558 ON t JOIN t t1559 ON t +JOIN t t1560 ON t JOIN t t1561 ON t JOIN t t1562 ON t JOIN t t1563 ON t +JOIN t t1564 ON t JOIN t t1565 ON t JOIN t t1566 ON t JOIN t t1567 ON t +JOIN t t1568 ON t JOIN t t1569 ON t JOIN t t1570 ON t JOIN t t1571 ON t +JOIN t t1572 ON t JOIN t t1573 ON t JOIN t t1574 ON t JOIN t t1575 ON t +JOIN t t1576 ON t JOIN t t1577 ON t JOIN t t1578 ON t JOIN t t1579 ON t +JOIN t t1580 ON t JOIN t t1581 ON t JOIN t t1582 ON t JOIN t t1583 ON t +JOIN t t1584 ON t JOIN t t1585 ON t JOIN t t1586 ON t JOIN t t1587 ON t +JOIN t t1588 ON t JOIN t t1589 ON t JOIN t t1590 ON t JOIN t t1591 ON t +JOIN t t1592 ON t JOIN t t1593 ON t JOIN t t1594 ON t JOIN t t1595 ON t +JOIN t t1596 ON t JOIN t t1597 ON t JOIN t t1598 ON t JOIN t t1599 ON t +JOIN t t1600 ON t JOIN t t1601 ON t JOIN t t1602 ON t JOIN t t1603 ON t +JOIN t t1604 ON t JOIN t t1605 ON t JOIN t t1606 ON t JOIN t t1607 ON t +JOIN t t1608 ON t JOIN t t1609 ON t JOIN t t1610 ON t JOIN t t1611 ON t +JOIN t t1612 ON t JOIN t t1613 ON t JOIN t t1614 ON t JOIN t t1615 ON t +JOIN t t1616 ON t JOIN t t1617 ON t JOIN t t1618 ON t JOIN t t1619 ON t +JOIN t t1620 ON t JOIN t t1621 ON t JOIN t t1622 ON t JOIN t t1623 ON t +JOIN t t1624 ON t JOIN t t1625 ON t JOIN t t1626 ON t JOIN t t1627 ON t +JOIN t t1628 ON t JOIN t t1629 ON t JOIN t t1630 ON t JOIN t t1631 ON t +JOIN t t1632 ON t JOIN t t1633 ON t JOIN t t1634 ON t JOIN t t1635 ON t +JOIN t t1636 ON t JOIN t t1637 ON t JOIN t t1638 ON t JOIN t t1639 ON t +JOIN t t1640 ON t JOIN t t1641 ON t JOIN t t1642 ON t JOIN t t1643 ON t +JOIN t t1644 ON t JOIN t t1645 ON t JOIN t t1646 ON t JOIN t t1647 ON t +JOIN t t1648 ON t JOIN t t1649 ON t JOIN t t1650 ON t JOIN t t1651 ON t +JOIN t t1652 ON t JOIN t t1653 ON t JOIN t t1654 ON t JOIN t t1655 ON t +JOIN t t1656 ON t JOIN t t1657 ON t JOIN t t1658 ON t JOIN t t1659 ON t +JOIN t t1660 ON t JOIN t t1661 ON t JOIN t t1662 ON t JOIN t t1663 ON t +JOIN t t1664 ON t JOIN t t1665 ON t JOIN t t1666 ON t JOIN t t1667 ON t +JOIN t t1668 ON t JOIN t t1669 ON t JOIN t t1670 ON t JOIN t t1671 ON t +JOIN t t1672 ON t JOIN t t1673 ON t JOIN t t1674 ON t JOIN t t1675 ON t +JOIN t t1676 ON t JOIN t t1677 ON t JOIN t t1678 ON t JOIN t t1679 ON t +JOIN t t1680 ON t JOIN t t1681 ON t JOIN t t1682 ON t JOIN t t1683 ON t +JOIN t t1684 ON t JOIN t t1685 ON t JOIN t t1686 ON t JOIN t t1687 ON t +JOIN t t1688 ON t JOIN t t1689 ON t JOIN t t1690 ON t JOIN t t1691 ON t +JOIN t t1692 ON t JOIN t t1693 ON t JOIN t t1694 ON t JOIN t t1695 ON t +JOIN t t1696 ON t JOIN t t1697 ON t JOIN t t1698 ON t JOIN t t1699 ON t +JOIN t t1700 ON t JOIN t t1701 ON t JOIN t t1702 ON t JOIN t t1703 ON t +JOIN t t1704 ON t JOIN t t1705 ON t JOIN t t1706 ON t JOIN t t1707 ON t +JOIN t t1708 ON t JOIN t t1709 ON t JOIN t t1710 ON t JOIN t t1711 ON t +JOIN t t1712 ON t JOIN t t1713 ON t JOIN t t1714 ON t JOIN t t1715 ON t +JOIN t t1716 ON t JOIN t t1717 ON t JOIN t t1718 ON t JOIN t t1719 ON t +JOIN t t1720 ON t JOIN t t1721 ON t JOIN t t1722 ON t JOIN t t1723 ON t +JOIN t t1724 ON t JOIN t t1725 ON t JOIN t t1726 ON t JOIN t t1727 ON t +JOIN t t1728 ON t JOIN t t1729 ON t JOIN t t1730 ON t JOIN t t1731 ON t +JOIN t t1732 ON t JOIN t t1733 ON t JOIN t t1734 ON t JOIN t t1735 ON t +JOIN t t1736 ON t JOIN t t1737 ON t JOIN t t1738 ON t JOIN t t1739 ON t +JOIN t t1740 ON t JOIN t t1741 ON t JOIN t t1742 ON t JOIN t t1743 ON t +JOIN t t1744 ON t JOIN t t1745 ON t JOIN t t1746 ON t JOIN t t1747 ON t +JOIN t t1748 ON t JOIN t t1749 ON t JOIN t t1750 ON t JOIN t t1751 ON t +JOIN t t1752 ON t JOIN t t1753 ON t JOIN t t1754 ON t JOIN t t1755 ON t +JOIN t t1756 ON t JOIN t t1757 ON t JOIN t t1758 ON t JOIN t t1759 ON t +JOIN t t1760 ON t JOIN t t1761 ON t JOIN t t1762 ON t JOIN t t1763 ON t +JOIN t t1764 ON t JOIN t t1765 ON t JOIN t t1766 ON t JOIN t t1767 ON t +JOIN t t1768 ON t JOIN t t1769 ON t JOIN t t1770 ON t JOIN t t1771 ON t +JOIN t t1772 ON t JOIN t t1773 ON t JOIN t t1774 ON t JOIN t t1775 ON t +JOIN t t1776 ON t JOIN t t1777 ON t JOIN t t1778 ON t JOIN t t1779 ON t +JOIN t t1780 ON t JOIN t t1781 ON t JOIN t t1782 ON t JOIN t t1783 ON t +JOIN t t1784 ON t JOIN t t1785 ON t JOIN t t1786 ON t JOIN t t1787 ON t +JOIN t t1788 ON t JOIN t t1789 ON t JOIN t t1790 ON t JOIN t t1791 ON t +JOIN t t1792 ON t JOIN t t1793 ON t JOIN t t1794 ON t JOIN t t1795 ON t +JOIN t t1796 ON t JOIN t t1797 ON t JOIN t t1798 ON t JOIN t t1799 ON t +JOIN t t1800 ON t JOIN t t1801 ON t JOIN t t1802 ON t JOIN t t1803 ON t +JOIN t t1804 ON t JOIN t t1805 ON t JOIN t t1806 ON t JOIN t t1807 ON t +JOIN t t1808 ON t JOIN t t1809 ON t JOIN t t1810 ON t JOIN t t1811 ON t +JOIN t t1812 ON t JOIN t t1813 ON t JOIN t t1814 ON t JOIN t t1815 ON t +JOIN t t1816 ON t JOIN t t1817 ON t JOIN t t1818 ON t JOIN t t1819 ON t +JOIN t t1820 ON t JOIN t t1821 ON t JOIN t t1822 ON t JOIN t t1823 ON t +JOIN t t1824 ON t JOIN t t1825 ON t JOIN t t1826 ON t JOIN t t1827 ON t +JOIN t t1828 ON t JOIN t t1829 ON t JOIN t t1830 ON t JOIN t t1831 ON t +JOIN t t1832 ON t JOIN t t1833 ON t JOIN t t1834 ON t JOIN t t1835 ON t +JOIN t t1836 ON t JOIN t t1837 ON t JOIN t t1838 ON t JOIN t t1839 ON t +JOIN t t1840 ON t JOIN t t1841 ON t JOIN t t1842 ON t JOIN t t1843 ON t +JOIN t t1844 ON t JOIN t t1845 ON t JOIN t t1846 ON t JOIN t t1847 ON t +JOIN t t1848 ON t JOIN t t1849 ON t JOIN t t1850 ON t JOIN t t1851 ON t +JOIN t t1852 ON t JOIN t t1853 ON t JOIN t t1854 ON t JOIN t t1855 ON t +JOIN t t1856 ON t JOIN t t1857 ON t JOIN t t1858 ON t JOIN t t1859 ON t +JOIN t t1860 ON t JOIN t t1861 ON t JOIN t t1862 ON t JOIN t t1863 ON t +JOIN t t1864 ON t JOIN t t1865 ON t JOIN t t1866 ON t JOIN t t1867 ON t +JOIN t t1868 ON t JOIN t t1869 ON t JOIN t t1870 ON t JOIN t t1871 ON t +JOIN t t1872 ON t JOIN t t1873 ON t JOIN t t1874 ON t JOIN t t1875 ON t +JOIN t t1876 ON t JOIN t t1877 ON t JOIN t t1878 ON t JOIN t t1879 ON t +JOIN t t1880 ON t JOIN t t1881 ON t JOIN t t1882 ON t JOIN t t1883 ON t +JOIN t t1884 ON t JOIN t t1885 ON t JOIN t t1886 ON t JOIN t t1887 ON t +JOIN t t1888 ON t JOIN t t1889 ON t JOIN t t1890 ON t JOIN t t1891 ON t +JOIN t t1892 ON t JOIN t t1893 ON t JOIN t t1894 ON t JOIN t t1895 ON t +JOIN t t1896 ON t JOIN t t1897 ON t JOIN t t1898 ON t JOIN t t1899 ON t +JOIN t t1900 ON t JOIN t t1901 ON t JOIN t t1902 ON t JOIN t t1903 ON t +JOIN t t1904 ON t JOIN t t1905 ON t JOIN t t1906 ON t JOIN t t1907 ON t +JOIN t t1908 ON t JOIN t t1909 ON t JOIN t t1910 ON t JOIN t t1911 ON t +JOIN t t1912 ON t JOIN t t1913 ON t JOIN t t1914 ON t JOIN t t1915 ON t +JOIN t t1916 ON t JOIN t t1917 ON t JOIN t t1918 ON t JOIN t t1919 ON t +JOIN t t1920 ON t JOIN t t1921 ON t JOIN t t1922 ON t JOIN t t1923 ON t +JOIN t t1924 ON t JOIN t t1925 ON t JOIN t t1926 ON t JOIN t t1927 ON t +JOIN t t1928 ON t JOIN t t1929 ON t JOIN t t1930 ON t JOIN t t1931 ON t +JOIN t t1932 ON t JOIN t t1933 ON t JOIN t t1934 ON t JOIN t t1935 ON t +JOIN t t1936 ON t JOIN t t1937 ON t JOIN t t1938 ON t JOIN t t1939 ON t +JOIN t t1940 ON t JOIN t t1941 ON t JOIN t t1942 ON t JOIN t t1943 ON t +JOIN t t1944 ON t JOIN t t1945 ON t JOIN t t1946 ON t JOIN t t1947 ON t +JOIN t t1948 ON t JOIN t t1949 ON t JOIN t t1950 ON t JOIN t t1951 ON t +JOIN t t1952 ON t JOIN t t1953 ON t JOIN t t1954 ON t JOIN t t1955 ON t +JOIN t t1956 ON t JOIN t t1957 ON t JOIN t t1958 ON t JOIN t t1959 ON t +JOIN t t1960 ON t JOIN t t1961 ON t JOIN t t1962 ON t JOIN t t1963 ON t +JOIN t t1964 ON t JOIN t t1965 ON t JOIN t t1966 ON t JOIN t t1967 ON t +JOIN t t1968 ON t JOIN t t1969 ON t JOIN t t1970 ON t JOIN t t1971 ON t +JOIN t t1972 ON t JOIN t t1973 ON t JOIN t t1974 ON t JOIN t t1975 ON t +JOIN t t1976 ON t JOIN t t1977 ON t JOIN t t1978 ON t JOIN t t1979 ON t +JOIN t t1980 ON t JOIN t t1981 ON t JOIN t t1982 ON t JOIN t t1983 ON t +JOIN t t1984 ON t JOIN t t1985 ON t JOIN t t1986 ON t JOIN t t1987 ON t +JOIN t t1988 ON t JOIN t t1989 ON t JOIN t t1990 ON t JOIN t t1991 ON t +JOIN t t1992 ON t JOIN t t1993 ON t JOIN t t1994 ON t JOIN t t1995 ON t +JOIN t t1996 ON t JOIN t t1997 ON t JOIN t t1998 ON t JOIN t t1999 ON t +JOIN t t2000 ON t JOIN t t2001 ON t JOIN t t2002 ON t JOIN t t2003 ON t +JOIN t t2004 ON t JOIN t t2005 ON t JOIN t t2006 ON t JOIN t t2007 ON t +JOIN t t2008 ON t JOIN t t2009 ON t JOIN t t2010 ON t JOIN t t2011 ON t +JOIN t t2012 ON t JOIN t t2013 ON t JOIN t t2014 ON t JOIN t t2015 ON t +JOIN t t2016 ON t JOIN t t2017 ON t JOIN t t2018 ON t JOIN t t2019 ON t +JOIN t t2020 ON t JOIN t t2021 ON t JOIN t t2022 ON t JOIN t t2023 ON t +JOIN t t2024 ON t JOIN t t2025 ON t JOIN t t2026 ON t JOIN t t2027 ON t +JOIN t t2028 ON t JOIN t t2029 ON t JOIN t t2030 ON t JOIN t t2031 ON t +JOIN t t2032 ON t JOIN t t2033 ON t JOIN t t2034 ON t JOIN t t2035 ON t +JOIN t t2036 ON t JOIN t t2037 ON t JOIN t t2038 ON t JOIN t t2039 ON t +JOIN t t2040 ON t JOIN t t2041 ON t JOIN t t2042 ON t JOIN t t2043 ON t +JOIN t t2044 ON t JOIN t t2045 ON t JOIN t t2046 ON t JOIN t t2047 ON t +JOIN t t2048 ON t JOIN t t2049 ON t JOIN t t2050 ON t JOIN t t2051 ON t +JOIN t t2052 ON t JOIN t t2053 ON t JOIN t t2054 ON t JOIN t t2055 ON t +JOIN t t2056 ON t JOIN t t2057 ON t JOIN t t2058 ON t JOIN t t2059 ON t +JOIN t t2060 ON t JOIN t t2061 ON t JOIN t t2062 ON t JOIN t t2063 ON t +JOIN t t2064 ON t JOIN t t2065 ON t JOIN t t2066 ON t JOIN t t2067 ON t +JOIN t t2068 ON t JOIN t t2069 ON t JOIN t t2070 ON t JOIN t t2071 ON t +JOIN t t2072 ON t JOIN t t2073 ON t JOIN t t2074 ON t JOIN t t2075 ON t +JOIN t t2076 ON t JOIN t t2077 ON t JOIN t t2078 ON t JOIN t t2079 ON t +JOIN t t2080 ON t JOIN t t2081 ON t JOIN t t2082 ON t JOIN t t2083 ON t +JOIN t t2084 ON t JOIN t t2085 ON t JOIN t t2086 ON t JOIN t t2087 ON t +JOIN t t2088 ON t JOIN t t2089 ON t JOIN t t2090 ON t JOIN t t2091 ON t +JOIN t t2092 ON t JOIN t t2093 ON t JOIN t t2094 ON t JOIN t t2095 ON t +JOIN t t2096 ON t JOIN t t2097 ON t JOIN t t2098 ON t JOIN t t2099 ON t +JOIN t t2100 ON t JOIN t t2101 ON t JOIN t t2102 ON t JOIN t t2103 ON t +JOIN t t2104 ON t JOIN t t2105 ON t JOIN t t2106 ON t JOIN t t2107 ON t +JOIN t t2108 ON t JOIN t t2109 ON t JOIN t t2110 ON t JOIN t t2111 ON t +JOIN t t2112 ON t JOIN t t2113 ON t JOIN t t2114 ON t JOIN t t2115 ON t +JOIN t t2116 ON t JOIN t t2117 ON t JOIN t t2118 ON t JOIN t t2119 ON t +JOIN t t2120 ON t JOIN t t2121 ON t JOIN t t2122 ON t JOIN t t2123 ON t +JOIN t t2124 ON t JOIN t t2125 ON t JOIN t t2126 ON t JOIN t t2127 ON t +JOIN t t2128 ON t JOIN t t2129 ON t JOIN t t2130 ON t JOIN t t2131 ON t +JOIN t t2132 ON t JOIN t t2133 ON t JOIN t t2134 ON t JOIN t t2135 ON t +JOIN t t2136 ON t JOIN t t2137 ON t JOIN t t2138 ON t JOIN t t2139 ON t +JOIN t t2140 ON t JOIN t t2141 ON t JOIN t t2142 ON t JOIN t t2143 ON t +JOIN t t2144 ON t JOIN t t2145 ON t JOIN t t2146 ON t JOIN t t2147 ON t +JOIN t t2148 ON t JOIN t t2149 ON t JOIN t t2150 ON t JOIN t t2151 ON t +JOIN t t2152 ON t JOIN t t2153 ON t JOIN t t2154 ON t JOIN t t2155 ON t +JOIN t t2156 ON t JOIN t t2157 ON t JOIN t t2158 ON t JOIN t t2159 ON t +JOIN t t2160 ON t JOIN t t2161 ON t JOIN t t2162 ON t JOIN t t2163 ON t +JOIN t t2164 ON t JOIN t t2165 ON t JOIN t t2166 ON t JOIN t t2167 ON t +JOIN t t2168 ON t JOIN t t2169 ON t JOIN t t2170 ON t JOIN t t2171 ON t +JOIN t t2172 ON t JOIN t t2173 ON t JOIN t t2174 ON t JOIN t t2175 ON t +JOIN t t2176 ON t JOIN t t2177 ON t JOIN t t2178 ON t JOIN t t2179 ON t +JOIN t t2180 ON t JOIN t t2181 ON t JOIN t t2182 ON t JOIN t t2183 ON t +JOIN t t2184 ON t JOIN t t2185 ON t JOIN t t2186 ON t JOIN t t2187 ON t +JOIN t t2188 ON t JOIN t t2189 ON t JOIN t t2190 ON t JOIN t t2191 ON t +JOIN t t2192 ON t JOIN t t2193 ON t JOIN t t2194 ON t JOIN t t2195 ON t +JOIN t t2196 ON t JOIN t t2197 ON t JOIN t t2198 ON t JOIN t t2199 ON t +JOIN t t2200 ON t JOIN t t2201 ON t JOIN t t2202 ON t JOIN t t2203 ON t +JOIN t t2204 ON t JOIN t t2205 ON t JOIN t t2206 ON t JOIN t t2207 ON t +JOIN t t2208 ON t JOIN t t2209 ON t JOIN t t2210 ON t JOIN t t2211 ON t +JOIN t t2212 ON t JOIN t t2213 ON t JOIN t t2214 ON t JOIN t t2215 ON t +JOIN t t2216 ON t JOIN t t2217 ON t JOIN t t2218 ON t JOIN t t2219 ON t +JOIN t t2220 ON t JOIN t t2221 ON t JOIN t t2222 ON t JOIN t t2223 ON t +JOIN t t2224 ON t JOIN t t2225 ON t JOIN t t2226 ON t JOIN t t2227 ON t +JOIN t t2228 ON t JOIN t t2229 ON t JOIN t t2230 ON t JOIN t t2231 ON t +JOIN t t2232 ON t JOIN t t2233 ON t JOIN t t2234 ON t JOIN t t2235 ON t +JOIN t t2236 ON t JOIN t t2237 ON t JOIN t t2238 ON t JOIN t t2239 ON t +JOIN t t2240 ON t JOIN t t2241 ON t JOIN t t2242 ON t JOIN t t2243 ON t +JOIN t t2244 ON t JOIN t t2245 ON t JOIN t t2246 ON t JOIN t t2247 ON t +JOIN t t2248 ON t JOIN t t2249 ON t JOIN t t2250 ON t JOIN t t2251 ON t +JOIN t t2252 ON t JOIN t t2253 ON t JOIN t t2254 ON t JOIN t t2255 ON t +JOIN t t2256 ON t JOIN t t2257 ON t JOIN t t2258 ON t JOIN t t2259 ON t +JOIN t t2260 ON t JOIN t t2261 ON t JOIN t t2262 ON t JOIN t t2263 ON t +JOIN t t2264 ON t JOIN t t2265 ON t JOIN t t2266 ON t JOIN t t2267 ON t +JOIN t t2268 ON t JOIN t t2269 ON t JOIN t t2270 ON t JOIN t t2271 ON t +JOIN t t2272 ON t JOIN t t2273 ON t JOIN t t2274 ON t JOIN t t2275 ON t +JOIN t t2276 ON t JOIN t t2277 ON t JOIN t t2278 ON t JOIN t t2279 ON t +JOIN t t2280 ON t JOIN t t2281 ON t JOIN t t2282 ON t JOIN t t2283 ON t +JOIN t t2284 ON t JOIN t t2285 ON t JOIN t t2286 ON t JOIN t t2287 ON t +JOIN t t2288 ON t JOIN t t2289 ON t JOIN t t2290 ON t JOIN t t2291 ON t +JOIN t t2292 ON t JOIN t t2293 ON t JOIN t t2294 ON t JOIN t t2295 ON t +JOIN t t2296 ON t JOIN t t2297 ON t JOIN t t2298 ON t JOIN t t2299 ON t +JOIN t t2300 ON t JOIN t t2301 ON t JOIN t t2302 ON t JOIN t t2303 ON t +JOIN t t2304 ON t JOIN t t2305 ON t JOIN t t2306 ON t JOIN t t2307 ON t +JOIN t t2308 ON t JOIN t t2309 ON t JOIN t t2310 ON t JOIN t t2311 ON t +JOIN t t2312 ON t JOIN t t2313 ON t JOIN t t2314 ON t JOIN t t2315 ON t +JOIN t t2316 ON t JOIN t t2317 ON t JOIN t t2318 ON t JOIN t t2319 ON t +JOIN t t2320 ON t JOIN t t2321 ON t JOIN t t2322 ON t JOIN t t2323 ON t +JOIN t t2324 ON t JOIN t t2325 ON t JOIN t t2326 ON t JOIN t t2327 ON t +JOIN t t2328 ON t JOIN t t2329 ON t JOIN t t2330 ON t JOIN t t2331 ON t +JOIN t t2332 ON t JOIN t t2333 ON t JOIN t t2334 ON t JOIN t t2335 ON t +JOIN t t2336 ON t JOIN t t2337 ON t JOIN t t2338 ON t JOIN t t2339 ON t +JOIN t t2340 ON t JOIN t t2341 ON t JOIN t t2342 ON t JOIN t t2343 ON t +JOIN t t2344 ON t JOIN t t2345 ON t JOIN t t2346 ON t JOIN t t2347 ON t +JOIN t t2348 ON t JOIN t t2349 ON t JOIN t t2350 ON t JOIN t t2351 ON t +JOIN t t2352 ON t JOIN t t2353 ON t JOIN t t2354 ON t JOIN t t2355 ON t +JOIN t t2356 ON t JOIN t t2357 ON t JOIN t t2358 ON t JOIN t t2359 ON t +JOIN t t2360 ON t JOIN t t2361 ON t JOIN t t2362 ON t JOIN t t2363 ON t +JOIN t t2364 ON t JOIN t t2365 ON t JOIN t t2366 ON t JOIN t t2367 ON t +JOIN t t2368 ON t JOIN t t2369 ON t JOIN t t2370 ON t JOIN t t2371 ON t +JOIN t t2372 ON t JOIN t t2373 ON t JOIN t t2374 ON t JOIN t t2375 ON t +JOIN t t2376 ON t JOIN t t2377 ON t JOIN t t2378 ON t JOIN t t2379 ON t +JOIN t t2380 ON t JOIN t t2381 ON t JOIN t t2382 ON t JOIN t t2383 ON t +JOIN t t2384 ON t JOIN t t2385 ON t JOIN t t2386 ON t JOIN t t2387 ON t +JOIN t t2388 ON t JOIN t t2389 ON t JOIN t t2390 ON t JOIN t t2391 ON t +JOIN t t2392 ON t JOIN t t2393 ON t JOIN t t2394 ON t JOIN t t2395 ON t +JOIN t t2396 ON t JOIN t t2397 ON t JOIN t t2398 ON t JOIN t t2399 ON t +JOIN t t2400 ON t JOIN t t2401 ON t JOIN t t2402 ON t JOIN t t2403 ON t +JOIN t t2404 ON t JOIN t t2405 ON t JOIN t t2406 ON t JOIN t t2407 ON t +JOIN t t2408 ON t JOIN t t2409 ON t JOIN t t2410 ON t JOIN t t2411 ON t +JOIN t t2412 ON t JOIN t t2413 ON t JOIN t t2414 ON t JOIN t t2415 ON t +JOIN t t2416 ON t JOIN t t2417 ON t JOIN t t2418 ON t JOIN t t2419 ON t +JOIN t t2420 ON t JOIN t t2421 ON t JOIN t t2422 ON t JOIN t t2423 ON t +JOIN t t2424 ON t JOIN t t2425 ON t JOIN t t2426 ON t JOIN t t2427 ON t +JOIN t t2428 ON t JOIN t t2429 ON t JOIN t t2430 ON t JOIN t t2431 ON t +JOIN t t2432 ON t JOIN t t2433 ON t JOIN t t2434 ON t JOIN t t2435 ON t +JOIN t t2436 ON t JOIN t t2437 ON t JOIN t t2438 ON t JOIN t t2439 ON t +JOIN t t2440 ON t JOIN t t2441 ON t JOIN t t2442 ON t JOIN t t2443 ON t +JOIN t t2444 ON t JOIN t t2445 ON t JOIN t t2446 ON t JOIN t t2447 ON t +JOIN t t2448 ON t JOIN t t2449 ON t JOIN t t2450 ON t JOIN t t2451 ON t +JOIN t t2452 ON t JOIN t t2453 ON t JOIN t t2454 ON t JOIN t t2455 ON t +JOIN t t2456 ON t JOIN t t2457 ON t JOIN t t2458 ON t JOIN t t2459 ON t +JOIN t t2460 ON t JOIN t t2461 ON t JOIN t t2462 ON t JOIN t t2463 ON t +JOIN t t2464 ON t JOIN t t2465 ON t JOIN t t2466 ON t JOIN t t2467 ON t +JOIN t t2468 ON t JOIN t t2469 ON t JOIN t t2470 ON t JOIN t t2471 ON t +JOIN t t2472 ON t JOIN t t2473 ON t JOIN t t2474 ON t JOIN t t2475 ON t +JOIN t t2476 ON t JOIN t t2477 ON t JOIN t t2478 ON t JOIN t t2479 ON t +JOIN t t2480 ON t JOIN t t2481 ON t JOIN t t2482 ON t JOIN t t2483 ON t +JOIN t t2484 ON t JOIN t t2485 ON t JOIN t t2486 ON t JOIN t t2487 ON t +JOIN t t2488 ON t JOIN t t2489 ON t JOIN t t2490 ON t JOIN t t2491 ON t +JOIN t t2492 ON t JOIN t t2493 ON t JOIN t t2494 ON t JOIN t t2495 ON t +JOIN t t2496 ON t JOIN t t2497 ON t JOIN t t2498 ON t JOIN t t2499 ON t +JOIN t t2500 ON t JOIN t t2501 ON t JOIN t t2502 ON t JOIN t t2503 ON t +JOIN t t2504 ON t JOIN t t2505 ON t JOIN t t2506 ON t JOIN t t2507 ON t +JOIN t t2508 ON t JOIN t t2509 ON t JOIN t t2510 ON t JOIN t t2511 ON t +JOIN t t2512 ON t JOIN t t2513 ON t JOIN t t2514 ON t JOIN t t2515 ON t +JOIN t t2516 ON t JOIN t t2517 ON t JOIN t t2518 ON t JOIN t t2519 ON t +JOIN t t2520 ON t JOIN t t2521 ON t JOIN t t2522 ON t JOIN t t2523 ON t +JOIN t t2524 ON t JOIN t t2525 ON t JOIN t t2526 ON t JOIN t t2527 ON t +JOIN t t2528 ON t JOIN t t2529 ON t JOIN t t2530 ON t JOIN t t2531 ON t +JOIN t t2532 ON t JOIN t t2533 ON t JOIN t t2534 ON t JOIN t t2535 ON t +JOIN t t2536 ON t JOIN t t2537 ON t JOIN t t2538 ON t JOIN t t2539 ON t +JOIN t t2540 ON t JOIN t t2541 ON t JOIN t t2542 ON t JOIN t t2543 ON t +JOIN t t2544 ON t JOIN t t2545 ON t JOIN t t2546 ON t JOIN t t2547 ON t +JOIN t t2548 ON t JOIN t t2549 ON t JOIN t t2550 ON t JOIN t t2551 ON t +JOIN t t2552 ON t JOIN t t2553 ON t JOIN t t2554 ON t JOIN t t2555 ON t +JOIN t t2556 ON t JOIN t t2557 ON t JOIN t t2558 ON t JOIN t t2559 ON t +JOIN t t2560 ON t JOIN t t2561 ON t JOIN t t2562 ON t JOIN t t2563 ON t +JOIN t t2564 ON t JOIN t t2565 ON t JOIN t t2566 ON t JOIN t t2567 ON t +JOIN t t2568 ON t JOIN t t2569 ON t JOIN t t2570 ON t JOIN t t2571 ON t +JOIN t t2572 ON t JOIN t t2573 ON t JOIN t t2574 ON t JOIN t t2575 ON t +JOIN t t2576 ON t JOIN t t2577 ON t JOIN t t2578 ON t JOIN t t2579 ON t +JOIN t t2580 ON t JOIN t t2581 ON t JOIN t t2582 ON t JOIN t t2583 ON t +JOIN t t2584 ON t JOIN t t2585 ON t JOIN t t2586 ON t JOIN t t2587 ON t +JOIN t t2588 ON t JOIN t t2589 ON t JOIN t t2590 ON t JOIN t t2591 ON t +JOIN t t2592 ON t JOIN t t2593 ON t JOIN t t2594 ON t JOIN t t2595 ON t +JOIN t t2596 ON t JOIN t t2597 ON t JOIN t t2598 ON t JOIN t t2599 ON t +JOIN t t2600 ON t JOIN t t2601 ON t JOIN t t2602 ON t JOIN t t2603 ON t +JOIN t t2604 ON t JOIN t t2605 ON t JOIN t t2606 ON t JOIN t t2607 ON t +JOIN t t2608 ON t JOIN t t2609 ON t JOIN t t2610 ON t JOIN t t2611 ON t +JOIN t t2612 ON t JOIN t t2613 ON t JOIN t t2614 ON t JOIN t t2615 ON t +JOIN t t2616 ON t JOIN t t2617 ON t JOIN t t2618 ON t JOIN t t2619 ON t +JOIN t t2620 ON t JOIN t t2621 ON t JOIN t t2622 ON t JOIN t t2623 ON t +JOIN t t2624 ON t JOIN t t2625 ON t JOIN t t2626 ON t JOIN t t2627 ON t +JOIN t t2628 ON t JOIN t t2629 ON t JOIN t t2630 ON t JOIN t t2631 ON t +JOIN t t2632 ON t JOIN t t2633 ON t JOIN t t2634 ON t JOIN t t2635 ON t +JOIN t t2636 ON t JOIN t t2637 ON t JOIN t t2638 ON t JOIN t t2639 ON t +JOIN t t2640 ON t JOIN t t2641 ON t JOIN t t2642 ON t JOIN t t2643 ON t +JOIN t t2644 ON t JOIN t t2645 ON t JOIN t t2646 ON t JOIN t t2647 ON t +JOIN t t2648 ON t JOIN t t2649 ON t JOIN t t2650 ON t JOIN t t2651 ON t +JOIN t t2652 ON t JOIN t t2653 ON t JOIN t t2654 ON t JOIN t t2655 ON t +JOIN t t2656 ON t JOIN t t2657 ON t JOIN t t2658 ON t JOIN t t2659 ON t +JOIN t t2660 ON t JOIN t t2661 ON t JOIN t t2662 ON t JOIN t t2663 ON t +JOIN t t2664 ON t JOIN t t2665 ON t JOIN t t2666 ON t JOIN t t2667 ON t +JOIN t t2668 ON t JOIN t t2669 ON t JOIN t t2670 ON t JOIN t t2671 ON t +JOIN t t2672 ON t JOIN t t2673 ON t JOIN t t2674 ON t JOIN t t2675 ON t +JOIN t t2676 ON t JOIN t t2677 ON t JOIN t t2678 ON t JOIN t t2679 ON t +JOIN t t2680 ON t JOIN t t2681 ON t JOIN t t2682 ON t JOIN t t2683 ON t +JOIN t t2684 ON t JOIN t t2685 ON t JOIN t t2686 ON t JOIN t t2687 ON t +JOIN t t2688 ON t JOIN t t2689 ON t JOIN t t2690 ON t JOIN t t2691 ON t +JOIN t t2692 ON t JOIN t t2693 ON t JOIN t t2694 ON t JOIN t t2695 ON t +JOIN t t2696 ON t JOIN t t2697 ON t JOIN t t2698 ON t JOIN t t2699 ON t +JOIN t t2700 ON t JOIN t t2701 ON t JOIN t t2702 ON t JOIN t t2703 ON t +JOIN t t2704 ON t JOIN t t2705 ON t JOIN t t2706 ON t JOIN t t2707 ON t +JOIN t t2708 ON t JOIN t t2709 ON t JOIN t t2710 ON t JOIN t t2711 ON t +JOIN t t2712 ON t JOIN t t2713 ON t JOIN t t2714 ON t JOIN t t2715 ON t +JOIN t t2716 ON t JOIN t t2717 ON t JOIN t t2718 ON t JOIN t t2719 ON t +JOIN t t2720 ON t JOIN t t2721 ON t JOIN t t2722 ON t JOIN t t2723 ON t +JOIN t t2724 ON t JOIN t t2725 ON t JOIN t t2726 ON t JOIN t t2727 ON t +JOIN t t2728 ON t JOIN t t2729 ON t JOIN t t2730 ON t JOIN t t2731 ON t +JOIN t t2732 ON t JOIN t t2733 ON t JOIN t t2734 ON t JOIN t t2735 ON t +JOIN t t2736 ON t JOIN t t2737 ON t JOIN t t2738 ON t JOIN t t2739 ON t +JOIN t t2740 ON t JOIN t t2741 ON t JOIN t t2742 ON t JOIN t t2743 ON t +JOIN t t2744 ON t JOIN t t2745 ON t JOIN t t2746 ON t JOIN t t2747 ON t +JOIN t t2748 ON t JOIN t t2749 ON t JOIN t t2750 ON t JOIN t t2751 ON t +JOIN t t2752 ON t JOIN t t2753 ON t JOIN t t2754 ON t JOIN t t2755 ON t +JOIN t t2756 ON t JOIN t t2757 ON t JOIN t t2758 ON t JOIN t t2759 ON t +JOIN t t2760 ON t JOIN t t2761 ON t JOIN t t2762 ON t JOIN t t2763 ON t +JOIN t t2764 ON t JOIN t t2765 ON t JOIN t t2766 ON t JOIN t t2767 ON t +JOIN t t2768 ON t JOIN t t2769 ON t JOIN t t2770 ON t JOIN t t2771 ON t +JOIN t t2772 ON t JOIN t t2773 ON t JOIN t t2774 ON t JOIN t t2775 ON t +JOIN t t2776 ON t JOIN t t2777 ON t JOIN t t2778 ON t JOIN t t2779 ON t +JOIN t t2780 ON t JOIN t t2781 ON t JOIN t t2782 ON t JOIN t t2783 ON t +JOIN t t2784 ON t JOIN t t2785 ON t JOIN t t2786 ON t JOIN t t2787 ON t +JOIN t t2788 ON t JOIN t t2789 ON t JOIN t t2790 ON t JOIN t t2791 ON t +JOIN t t2792 ON t JOIN t t2793 ON t JOIN t t2794 ON t JOIN t t2795 ON t +JOIN t t2796 ON t JOIN t t2797 ON t JOIN t t2798 ON t JOIN t t2799 ON t +JOIN t t2800 ON t JOIN t t2801 ON t JOIN t t2802 ON t JOIN t t2803 ON t +JOIN t t2804 ON t JOIN t t2805 ON t JOIN t t2806 ON t JOIN t t2807 ON t +JOIN t t2808 ON t JOIN t t2809 ON t JOIN t t2810 ON t JOIN t t2811 ON t +JOIN t t2812 ON t JOIN t t2813 ON t JOIN t t2814 ON t JOIN t t2815 ON t +JOIN t t2816 ON t JOIN t t2817 ON t JOIN t t2818 ON t JOIN t t2819 ON t +JOIN t t2820 ON t JOIN t t2821 ON t JOIN t t2822 ON t JOIN t t2823 ON t +JOIN t t2824 ON t JOIN t t2825 ON t JOIN t t2826 ON t JOIN t t2827 ON t +JOIN t t2828 ON t JOIN t t2829 ON t JOIN t t2830 ON t JOIN t t2831 ON t +JOIN t t2832 ON t JOIN t t2833 ON t JOIN t t2834 ON t JOIN t t2835 ON t +JOIN t t2836 ON t JOIN t t2837 ON t JOIN t t2838 ON t JOIN t t2839 ON t +JOIN t t2840 ON t JOIN t t2841 ON t JOIN t t2842 ON t JOIN t t2843 ON t +JOIN t t2844 ON t JOIN t t2845 ON t JOIN t t2846 ON t JOIN t t2847 ON t +JOIN t t2848 ON t JOIN t t2849 ON t JOIN t t2850 ON t JOIN t t2851 ON t +JOIN t t2852 ON t JOIN t t2853 ON t JOIN t t2854 ON t JOIN t t2855 ON t +JOIN t t2856 ON t JOIN t t2857 ON t JOIN t t2858 ON t JOIN t t2859 ON t +JOIN t t2860 ON t JOIN t t2861 ON t JOIN t t2862 ON t JOIN t t2863 ON t +JOIN t t2864 ON t JOIN t t2865 ON t JOIN t t2866 ON t JOIN t t2867 ON t +JOIN t t2868 ON t JOIN t t2869 ON t JOIN t t2870 ON t JOIN t t2871 ON t +JOIN t t2872 ON t JOIN t t2873 ON t JOIN t t2874 ON t JOIN t t2875 ON t +JOIN t t2876 ON t JOIN t t2877 ON t JOIN t t2878 ON t JOIN t t2879 ON t +JOIN t t2880 ON t JOIN t t2881 ON t JOIN t t2882 ON t JOIN t t2883 ON t +JOIN t t2884 ON t JOIN t t2885 ON t JOIN t t2886 ON t JOIN t t2887 ON t +JOIN t t2888 ON t JOIN t t2889 ON t JOIN t t2890 ON t JOIN t t2891 ON t +JOIN t t2892 ON t JOIN t t2893 ON t JOIN t t2894 ON t JOIN t t2895 ON t +JOIN t t2896 ON t JOIN t t2897 ON t JOIN t t2898 ON t JOIN t t2899 ON t +JOIN t t2900 ON t JOIN t t2901 ON t JOIN t t2902 ON t JOIN t t2903 ON t +JOIN t t2904 ON t JOIN t t2905 ON t JOIN t t2906 ON t JOIN t t2907 ON t +JOIN t t2908 ON t JOIN t t2909 ON t JOIN t t2910 ON t JOIN t t2911 ON t +JOIN t t2912 ON t JOIN t t2913 ON t JOIN t t2914 ON t JOIN t t2915 ON t +JOIN t t2916 ON t JOIN t t2917 ON t JOIN t t2918 ON t JOIN t t2919 ON t +JOIN t t2920 ON t JOIN t t2921 ON t JOIN t t2922 ON t JOIN t t2923 ON t +JOIN t t2924 ON t JOIN t t2925 ON t JOIN t t2926 ON t JOIN t t2927 ON t +JOIN t t2928 ON t JOIN t t2929 ON t JOIN t t2930 ON t JOIN t t2931 ON t +JOIN t t2932 ON t JOIN t t2933 ON t JOIN t t2934 ON t JOIN t t2935 ON t +JOIN t t2936 ON t JOIN t t2937 ON t JOIN t t2938 ON t JOIN t t2939 ON t +JOIN t t2940 ON t JOIN t t2941 ON t JOIN t t2942 ON t JOIN t t2943 ON t +JOIN t t2944 ON t JOIN t t2945 ON t JOIN t t2946 ON t JOIN t t2947 ON t +JOIN t t2948 ON t JOIN t t2949 ON t JOIN t t2950 ON t JOIN t t2951 ON t +JOIN t t2952 ON t JOIN t t2953 ON t JOIN t t2954 ON t JOIN t t2955 ON t +JOIN t t2956 ON t JOIN t t2957 ON t JOIN t t2958 ON t JOIN t t2959 ON t +JOIN t t2960 ON t JOIN t t2961 ON t JOIN t t2962 ON t JOIN t t2963 ON t +JOIN t t2964 ON t JOIN t t2965 ON t JOIN t t2966 ON t JOIN t t2967 ON t +JOIN t t2968 ON t JOIN t t2969 ON t JOIN t t2970 ON t JOIN t t2971 ON t +JOIN t t2972 ON t JOIN t t2973 ON t JOIN t t2974 ON t JOIN t t2975 ON t +JOIN t t2976 ON t JOIN t t2977 ON t JOIN t t2978 ON t JOIN t t2979 ON t +JOIN t t2980 ON t JOIN t t2981 ON t JOIN t t2982 ON t JOIN t t2983 ON t +JOIN t t2984 ON t JOIN t t2985 ON t JOIN t t2986 ON t JOIN t t2987 ON t +JOIN t t2988 ON t JOIN t t2989 ON t JOIN t t2990 ON t JOIN t t2991 ON t +JOIN t t2992 ON t JOIN t t2993 ON t JOIN t t2994 ON t JOIN t t2995 ON t +JOIN t t2996 ON t JOIN t t2997 ON t JOIN t t2998 ON t JOIN t t2999 ON t +JOIN t t3000 ON t JOIN t t3001 ON t JOIN t t3002 ON t JOIN t t3003 ON t +JOIN t t3004 ON t JOIN t t3005 ON t JOIN t t3006 ON t JOIN t t3007 ON t +JOIN t t3008 ON t JOIN t t3009 ON t JOIN t t3010 ON t JOIN t t3011 ON t +JOIN t t3012 ON t JOIN t t3013 ON t JOIN t t3014 ON t JOIN t t3015 ON t +JOIN t t3016 ON t JOIN t t3017 ON t JOIN t t3018 ON t JOIN t t3019 ON t +JOIN t t3020 ON t JOIN t t3021 ON t JOIN t t3022 ON t JOIN t t3023 ON t +JOIN t t3024 ON t JOIN t t3025 ON t JOIN t t3026 ON t JOIN t t3027 ON t +JOIN t t3028 ON t JOIN t t3029 ON t JOIN t t3030 ON t JOIN t t3031 ON t +JOIN t t3032 ON t JOIN t t3033 ON t JOIN t t3034 ON t JOIN t t3035 ON t +JOIN t t3036 ON t JOIN t t3037 ON t JOIN t t3038 ON t JOIN t t3039 ON t +JOIN t t3040 ON t JOIN t t3041 ON t JOIN t t3042 ON t JOIN t t3043 ON t +JOIN t t3044 ON t JOIN t t3045 ON t JOIN t t3046 ON t JOIN t t3047 ON t +JOIN t t3048 ON t JOIN t t3049 ON t JOIN t t3050 ON t JOIN t t3051 ON t +JOIN t t3052 ON t JOIN t t3053 ON t JOIN t t3054 ON t JOIN t t3055 ON t +JOIN t t3056 ON t JOIN t t3057 ON t JOIN t t3058 ON t JOIN t t3059 ON t +JOIN t t3060 ON t JOIN t t3061 ON t JOIN t t3062 ON t JOIN t t3063 ON t +JOIN t t3064 ON t JOIN t t3065 ON t JOIN t t3066 ON t JOIN t t3067 ON t +JOIN t t3068 ON t JOIN t t3069 ON t JOIN t t3070 ON t JOIN t t3071 ON t +JOIN t t3072 ON t JOIN t t3073 ON t JOIN t t3074 ON t JOIN t t3075 ON t +JOIN t t3076 ON t JOIN t t3077 ON t JOIN t t3078 ON t JOIN t t3079 ON t +JOIN t t3080 ON t JOIN t t3081 ON t JOIN t t3082 ON t JOIN t t3083 ON t +JOIN t t3084 ON t JOIN t t3085 ON t JOIN t t3086 ON t JOIN t t3087 ON t +JOIN t t3088 ON t JOIN t t3089 ON t JOIN t t3090 ON t JOIN t t3091 ON t +JOIN t t3092 ON t JOIN t t3093 ON t JOIN t t3094 ON t JOIN t t3095 ON t +JOIN t t3096 ON t JOIN t t3097 ON t JOIN t t3098 ON t JOIN t t3099 ON t +JOIN t t3100 ON t JOIN t t3101 ON t JOIN t t3102 ON t JOIN t t3103 ON t +JOIN t t3104 ON t JOIN t t3105 ON t JOIN t t3106 ON t JOIN t t3107 ON t +JOIN t t3108 ON t JOIN t t3109 ON t JOIN t t3110 ON t JOIN t t3111 ON t +JOIN t t3112 ON t JOIN t t3113 ON t JOIN t t3114 ON t JOIN t t3115 ON t +JOIN t t3116 ON t JOIN t t3117 ON t JOIN t t3118 ON t JOIN t t3119 ON t +JOIN t t3120 ON t JOIN t t3121 ON t JOIN t t3122 ON t JOIN t t3123 ON t +JOIN t t3124 ON t JOIN t t3125 ON t JOIN t t3126 ON t JOIN t t3127 ON t +JOIN t t3128 ON t JOIN t t3129 ON t JOIN t t3130 ON t JOIN t t3131 ON t +JOIN t t3132 ON t JOIN t t3133 ON t JOIN t t3134 ON t JOIN t t3135 ON t +JOIN t t3136 ON t JOIN t t3137 ON t JOIN t t3138 ON t JOIN t t3139 ON t +JOIN t t3140 ON t JOIN t t3141 ON t JOIN t t3142 ON t JOIN t t3143 ON t +JOIN t t3144 ON t JOIN t t3145 ON t JOIN t t3146 ON t JOIN t t3147 ON t +JOIN t t3148 ON t JOIN t t3149 ON t JOIN t t3150 ON t JOIN t t3151 ON t +JOIN t t3152 ON t JOIN t t3153 ON t JOIN t t3154 ON t JOIN t t3155 ON t +JOIN t t3156 ON t JOIN t t3157 ON t JOIN t t3158 ON t JOIN t t3159 ON t +JOIN t t3160 ON t JOIN t t3161 ON t JOIN t t3162 ON t JOIN t t3163 ON t +JOIN t t3164 ON t JOIN t t3165 ON t JOIN t t3166 ON t JOIN t t3167 ON t +JOIN t t3168 ON t JOIN t t3169 ON t JOIN t t3170 ON t JOIN t t3171 ON t +JOIN t t3172 ON t JOIN t t3173 ON t JOIN t t3174 ON t JOIN t t3175 ON t +JOIN t t3176 ON t JOIN t t3177 ON t JOIN t t3178 ON t JOIN t t3179 ON t +JOIN t t3180 ON t JOIN t t3181 ON t JOIN t t3182 ON t JOIN t t3183 ON t +JOIN t t3184 ON t JOIN t t3185 ON t JOIN t t3186 ON t JOIN t t3187 ON t +JOIN t t3188 ON t JOIN t t3189 ON t JOIN t t3190 ON t JOIN t t3191 ON t +JOIN t t3192 ON t JOIN t t3193 ON t JOIN t t3194 ON t JOIN t t3195 ON t +JOIN t t3196 ON t JOIN t t3197 ON t JOIN t t3198 ON t JOIN t t3199 ON t +JOIN t t3200 ON t JOIN t t3201 ON t JOIN t t3202 ON t JOIN t t3203 ON t +JOIN t t3204 ON t JOIN t t3205 ON t JOIN t t3206 ON t JOIN t t3207 ON t +JOIN t t3208 ON t JOIN t t3209 ON t JOIN t t3210 ON t JOIN t t3211 ON t +JOIN t t3212 ON t JOIN t t3213 ON t JOIN t t3214 ON t JOIN t t3215 ON t +JOIN t t3216 ON t JOIN t t3217 ON t JOIN t t3218 ON t JOIN t t3219 ON t +JOIN t t3220 ON t JOIN t t3221 ON t JOIN t t3222 ON t JOIN t t3223 ON t +JOIN t t3224 ON t JOIN t t3225 ON t JOIN t t3226 ON t JOIN t t3227 ON t +JOIN t t3228 ON t JOIN t t3229 ON t JOIN t t3230 ON t JOIN t t3231 ON t +JOIN t t3232 ON t JOIN t t3233 ON t JOIN t t3234 ON t JOIN t t3235 ON t +JOIN t t3236 ON t JOIN t t3237 ON t JOIN t t3238 ON t JOIN t t3239 ON t +JOIN t t3240 ON t JOIN t t3241 ON t JOIN t t3242 ON t JOIN t t3243 ON t +JOIN t t3244 ON t JOIN t t3245 ON t JOIN t t3246 ON t JOIN t t3247 ON t +JOIN t t3248 ON t JOIN t t3249 ON t JOIN t t3250 ON t JOIN t t3251 ON t +JOIN t t3252 ON t JOIN t t3253 ON t JOIN t t3254 ON t JOIN t t3255 ON t +JOIN t t3256 ON t JOIN t t3257 ON t JOIN t t3258 ON t JOIN t t3259 ON t +JOIN t t3260 ON t JOIN t t3261 ON t JOIN t t3262 ON t JOIN t t3263 ON t +JOIN t t3264 ON t JOIN t t3265 ON t JOIN t t3266 ON t JOIN t t3267 ON t +JOIN t t3268 ON t JOIN t t3269 ON t JOIN t t3270 ON t JOIN t t3271 ON t +JOIN t t3272 ON t JOIN t t3273 ON t JOIN t t3274 ON t JOIN t t3275 ON t +JOIN t t3276 ON t JOIN t t3277 ON t JOIN t t3278 ON t JOIN t t3279 ON t +JOIN t t3280 ON t JOIN t t3281 ON t JOIN t t3282 ON t JOIN t t3283 ON t +JOIN t t3284 ON t JOIN t t3285 ON t JOIN t t3286 ON t JOIN t t3287 ON t +JOIN t t3288 ON t JOIN t t3289 ON t JOIN t t3290 ON t JOIN t t3291 ON t +JOIN t t3292 ON t JOIN t t3293 ON t JOIN t t3294 ON t JOIN t t3295 ON t +JOIN t t3296 ON t JOIN t t3297 ON t JOIN t t3298 ON t JOIN t t3299 ON t +JOIN t t3300 ON t JOIN t t3301 ON t JOIN t t3302 ON t JOIN t t3303 ON t +JOIN t t3304 ON t JOIN t t3305 ON t JOIN t t3306 ON t JOIN t t3307 ON t +JOIN t t3308 ON t JOIN t t3309 ON t JOIN t t3310 ON t JOIN t t3311 ON t +JOIN t t3312 ON t JOIN t t3313 ON t JOIN t t3314 ON t JOIN t t3315 ON t +JOIN t t3316 ON t JOIN t t3317 ON t JOIN t t3318 ON t JOIN t t3319 ON t +JOIN t t3320 ON t JOIN t t3321 ON t JOIN t t3322 ON t JOIN t t3323 ON t +JOIN t t3324 ON t JOIN t t3325 ON t JOIN t t3326 ON t JOIN t t3327 ON t +JOIN t t3328 ON t JOIN t t3329 ON t JOIN t t3330 ON t JOIN t t3331 ON t +JOIN t t3332 ON t JOIN t t3333 ON t JOIN t t3334 ON t JOIN t t3335 ON t +JOIN t t3336 ON t JOIN t t3337 ON t JOIN t t3338 ON t JOIN t t3339 ON t +JOIN t t3340 ON t JOIN t t3341 ON t JOIN t t3342 ON t JOIN t t3343 ON t +JOIN t t3344 ON t JOIN t t3345 ON t JOIN t t3346 ON t JOIN t t3347 ON t +JOIN t t3348 ON t JOIN t t3349 ON t JOIN t t3350 ON t JOIN t t3351 ON t +JOIN t t3352 ON t JOIN t t3353 ON t JOIN t t3354 ON t JOIN t t3355 ON t +JOIN t t3356 ON t JOIN t t3357 ON t JOIN t t3358 ON t JOIN t t3359 ON t +JOIN t t3360 ON t JOIN t t3361 ON t JOIN t t3362 ON t JOIN t t3363 ON t +JOIN t t3364 ON t JOIN t t3365 ON t JOIN t t3366 ON t JOIN t t3367 ON t +JOIN t t3368 ON t JOIN t t3369 ON t JOIN t t3370 ON t JOIN t t3371 ON t +JOIN t t3372 ON t JOIN t t3373 ON t JOIN t t3374 ON t JOIN t t3375 ON t +JOIN t t3376 ON t JOIN t t3377 ON t JOIN t t3378 ON t JOIN t t3379 ON t +JOIN t t3380 ON t JOIN t t3381 ON t JOIN t t3382 ON t JOIN t t3383 ON t +JOIN t t3384 ON t JOIN t t3385 ON t JOIN t t3386 ON t JOIN t t3387 ON t +JOIN t t3388 ON t JOIN t t3389 ON t JOIN t t3390 ON t JOIN t t3391 ON t +JOIN t t3392 ON t JOIN t t3393 ON t JOIN t t3394 ON t JOIN t t3395 ON t +JOIN t t3396 ON t JOIN t t3397 ON t JOIN t t3398 ON t JOIN t t3399 ON t +JOIN t t3400 ON t JOIN t t3401 ON t JOIN t t3402 ON t JOIN t t3403 ON t +JOIN t t3404 ON t JOIN t t3405 ON t JOIN t t3406 ON t JOIN t t3407 ON t +JOIN t t3408 ON t JOIN t t3409 ON t JOIN t t3410 ON t JOIN t t3411 ON t +JOIN t t3412 ON t JOIN t t3413 ON t JOIN t t3414 ON t JOIN t t3415 ON t +JOIN t t3416 ON t JOIN t t3417 ON t JOIN t t3418 ON t JOIN t t3419 ON t +JOIN t t3420 ON t JOIN t t3421 ON t JOIN t t3422 ON t JOIN t t3423 ON t +JOIN t t3424 ON t JOIN t t3425 ON t JOIN t t3426 ON t JOIN t t3427 ON t +JOIN t t3428 ON t JOIN t t3429 ON t JOIN t t3430 ON t JOIN t t3431 ON t +JOIN t t3432 ON t JOIN t t3433 ON t JOIN t t3434 ON t JOIN t t3435 ON t +JOIN t t3436 ON t JOIN t t3437 ON t JOIN t t3438 ON t JOIN t t3439 ON t +JOIN t t3440 ON t JOIN t t3441 ON t JOIN t t3442 ON t JOIN t t3443 ON t +JOIN t t3444 ON t JOIN t t3445 ON t JOIN t t3446 ON t JOIN t t3447 ON t +JOIN t t3448 ON t JOIN t t3449 ON t JOIN t t3450 ON t JOIN t t3451 ON t +JOIN t t3452 ON t JOIN t t3453 ON t JOIN t t3454 ON t JOIN t t3455 ON t +JOIN t t3456 ON t JOIN t t3457 ON t JOIN t t3458 ON t JOIN t t3459 ON t +JOIN t t3460 ON t JOIN t t3461 ON t JOIN t t3462 ON t JOIN t t3463 ON t +JOIN t t3464 ON t JOIN t t3465 ON t JOIN t t3466 ON t JOIN t t3467 ON t +JOIN t t3468 ON t JOIN t t3469 ON t JOIN t t3470 ON t JOIN t t3471 ON t +JOIN t t3472 ON t JOIN t t3473 ON t JOIN t t3474 ON t JOIN t t3475 ON t +JOIN t t3476 ON t JOIN t t3477 ON t JOIN t t3478 ON t JOIN t t3479 ON t +JOIN t t3480 ON t JOIN t t3481 ON t JOIN t t3482 ON t JOIN t t3483 ON t +JOIN t t3484 ON t JOIN t t3485 ON t JOIN t t3486 ON t JOIN t t3487 ON t +JOIN t t3488 ON t JOIN t t3489 ON t JOIN t t3490 ON t JOIN t t3491 ON t +JOIN t t3492 ON t JOIN t t3493 ON t JOIN t t3494 ON t JOIN t t3495 ON t +JOIN t t3496 ON t JOIN t t3497 ON t JOIN t t3498 ON t JOIN t t3499 ON t +JOIN t t3500 ON t JOIN t t3501 ON t JOIN t t3502 ON t JOIN t t3503 ON t +JOIN t t3504 ON t JOIN t t3505 ON t JOIN t t3506 ON t JOIN t t3507 ON t +JOIN t t3508 ON t JOIN t t3509 ON t JOIN t t3510 ON t JOIN t t3511 ON t +JOIN t t3512 ON t JOIN t t3513 ON t JOIN t t3514 ON t JOIN t t3515 ON t +JOIN t t3516 ON t JOIN t t3517 ON t JOIN t t3518 ON t JOIN t t3519 ON t +JOIN t t3520 ON t JOIN t t3521 ON t JOIN t t3522 ON t JOIN t t3523 ON t +JOIN t t3524 ON t JOIN t t3525 ON t JOIN t t3526 ON t JOIN t t3527 ON t +JOIN t t3528 ON t JOIN t t3529 ON t JOIN t t3530 ON t JOIN t t3531 ON t +JOIN t t3532 ON t JOIN t t3533 ON t JOIN t t3534 ON t JOIN t t3535 ON t +JOIN t t3536 ON t JOIN t t3537 ON t JOIN t t3538 ON t JOIN t t3539 ON t +JOIN t t3540 ON t JOIN t t3541 ON t JOIN t t3542 ON t JOIN t t3543 ON t +JOIN t t3544 ON t JOIN t t3545 ON t JOIN t t3546 ON t JOIN t t3547 ON t +JOIN t t3548 ON t JOIN t t3549 ON t JOIN t t3550 ON t JOIN t t3551 ON t +JOIN t t3552 ON t JOIN t t3553 ON t JOIN t t3554 ON t JOIN t t3555 ON t +JOIN t t3556 ON t JOIN t t3557 ON t JOIN t t3558 ON t JOIN t t3559 ON t +JOIN t t3560 ON t JOIN t t3561 ON t JOIN t t3562 ON t JOIN t t3563 ON t +JOIN t t3564 ON t JOIN t t3565 ON t JOIN t t3566 ON t JOIN t t3567 ON t +JOIN t t3568 ON t JOIN t t3569 ON t JOIN t t3570 ON t JOIN t t3571 ON t +JOIN t t3572 ON t JOIN t t3573 ON t JOIN t t3574 ON t JOIN t t3575 ON t +JOIN t t3576 ON t JOIN t t3577 ON t JOIN t t3578 ON t JOIN t t3579 ON t +JOIN t t3580 ON t JOIN t t3581 ON t JOIN t t3582 ON t JOIN t t3583 ON t +JOIN t t3584 ON t JOIN t t3585 ON t JOIN t t3586 ON t JOIN t t3587 ON t +JOIN t t3588 ON t JOIN t t3589 ON t JOIN t t3590 ON t JOIN t t3591 ON t +JOIN t t3592 ON t JOIN t t3593 ON t JOIN t t3594 ON t JOIN t t3595 ON t +JOIN t t3596 ON t JOIN t t3597 ON t JOIN t t3598 ON t JOIN t t3599 ON t +JOIN t t3600 ON t JOIN t t3601 ON t JOIN t t3602 ON t JOIN t t3603 ON t +JOIN t t3604 ON t JOIN t t3605 ON t JOIN t t3606 ON t JOIN t t3607 ON t +JOIN t t3608 ON t JOIN t t3609 ON t JOIN t t3610 ON t JOIN t t3611 ON t +JOIN t t3612 ON t JOIN t t3613 ON t JOIN t t3614 ON t JOIN t t3615 ON t +JOIN t t3616 ON t JOIN t t3617 ON t JOIN t t3618 ON t JOIN t t3619 ON t +JOIN t t3620 ON t JOIN t t3621 ON t JOIN t t3622 ON t JOIN t t3623 ON t +JOIN t t3624 ON t JOIN t t3625 ON t JOIN t t3626 ON t JOIN t t3627 ON t +JOIN t t3628 ON t JOIN t t3629 ON t JOIN t t3630 ON t JOIN t t3631 ON t +JOIN t t3632 ON t JOIN t t3633 ON t JOIN t t3634 ON t JOIN t t3635 ON t +JOIN t t3636 ON t JOIN t t3637 ON t JOIN t t3638 ON t JOIN t t3639 ON t +JOIN t t3640 ON t JOIN t t3641 ON t JOIN t t3642 ON t JOIN t t3643 ON t +JOIN t t3644 ON t JOIN t t3645 ON t JOIN t t3646 ON t JOIN t t3647 ON t +JOIN t t3648 ON t JOIN t t3649 ON t JOIN t t3650 ON t JOIN t t3651 ON t +JOIN t t3652 ON t JOIN t t3653 ON t JOIN t t3654 ON t JOIN t t3655 ON t +JOIN t t3656 ON t JOIN t t3657 ON t JOIN t t3658 ON t JOIN t t3659 ON t +JOIN t t3660 ON t JOIN t t3661 ON t JOIN t t3662 ON t JOIN t t3663 ON t +JOIN t t3664 ON t JOIN t t3665 ON t JOIN t t3666 ON t JOIN t t3667 ON t +JOIN t t3668 ON t JOIN t t3669 ON t JOIN t t3670 ON t JOIN t t3671 ON t +JOIN t t3672 ON t JOIN t t3673 ON t JOIN t t3674 ON t JOIN t t3675 ON t +JOIN t t3676 ON t JOIN t t3677 ON t JOIN t t3678 ON t JOIN t t3679 ON t +JOIN t t3680 ON t JOIN t t3681 ON t JOIN t t3682 ON t JOIN t t3683 ON t +JOIN t t3684 ON t JOIN t t3685 ON t JOIN t t3686 ON t JOIN t t3687 ON t +JOIN t t3688 ON t JOIN t t3689 ON t JOIN t t3690 ON t JOIN t t3691 ON t +JOIN t t3692 ON t JOIN t t3693 ON t JOIN t t3694 ON t JOIN t t3695 ON t +JOIN t t3696 ON t JOIN t t3697 ON t JOIN t t3698 ON t JOIN t t3699 ON t +JOIN t t3700 ON t JOIN t t3701 ON t JOIN t t3702 ON t JOIN t t3703 ON t +JOIN t t3704 ON t JOIN t t3705 ON t JOIN t t3706 ON t JOIN t t3707 ON t +JOIN t t3708 ON t JOIN t t3709 ON t JOIN t t3710 ON t JOIN t t3711 ON t +JOIN t t3712 ON t JOIN t t3713 ON t JOIN t t3714 ON t JOIN t t3715 ON t +JOIN t t3716 ON t JOIN t t3717 ON t JOIN t t3718 ON t JOIN t t3719 ON t +JOIN t t3720 ON t JOIN t t3721 ON t JOIN t t3722 ON t JOIN t t3723 ON t +JOIN t t3724 ON t JOIN t t3725 ON t JOIN t t3726 ON t JOIN t t3727 ON t +JOIN t t3728 ON t JOIN t t3729 ON t JOIN t t3730 ON t JOIN t t3731 ON t +JOIN t t3732 ON t JOIN t t3733 ON t JOIN t t3734 ON t JOIN t t3735 ON t +JOIN t t3736 ON t JOIN t t3737 ON t JOIN t t3738 ON t JOIN t t3739 ON t +JOIN t t3740 ON t JOIN t t3741 ON t JOIN t t3742 ON t JOIN t t3743 ON t +JOIN t t3744 ON t JOIN t t3745 ON t JOIN t t3746 ON t JOIN t t3747 ON t +JOIN t t3748 ON t JOIN t t3749 ON t JOIN t t3750 ON t JOIN t t3751 ON t +JOIN t t3752 ON t JOIN t t3753 ON t JOIN t t3754 ON t JOIN t t3755 ON t +JOIN t t3756 ON t JOIN t t3757 ON t JOIN t t3758 ON t JOIN t t3759 ON t +JOIN t t3760 ON t JOIN t t3761 ON t JOIN t t3762 ON t JOIN t t3763 ON t +JOIN t t3764 ON t JOIN t t3765 ON t JOIN t t3766 ON t JOIN t t3767 ON t +JOIN t t3768 ON t JOIN t t3769 ON t JOIN t t3770 ON t JOIN t t3771 ON t +JOIN t t3772 ON t JOIN t t3773 ON t JOIN t t3774 ON t JOIN t t3775 ON t +JOIN t t3776 ON t JOIN t t3777 ON t JOIN t t3778 ON t JOIN t t3779 ON t +JOIN t t3780 ON t JOIN t t3781 ON t JOIN t t3782 ON t JOIN t t3783 ON t +JOIN t t3784 ON t JOIN t t3785 ON t JOIN t t3786 ON t JOIN t t3787 ON t +JOIN t t3788 ON t JOIN t t3789 ON t JOIN t t3790 ON t JOIN t t3791 ON t +JOIN t t3792 ON t JOIN t t3793 ON t JOIN t t3794 ON t JOIN t t3795 ON t +JOIN t t3796 ON t JOIN t t3797 ON t JOIN t t3798 ON t JOIN t t3799 ON t +JOIN t t3800 ON t JOIN t t3801 ON t JOIN t t3802 ON t JOIN t t3803 ON t +JOIN t t3804 ON t JOIN t t3805 ON t JOIN t t3806 ON t JOIN t t3807 ON t +JOIN t t3808 ON t JOIN t t3809 ON t JOIN t t3810 ON t JOIN t t3811 ON t +JOIN t t3812 ON t JOIN t t3813 ON t JOIN t t3814 ON t JOIN t t3815 ON t +JOIN t t3816 ON t JOIN t t3817 ON t JOIN t t3818 ON t JOIN t t3819 ON t +JOIN t t3820 ON t JOIN t t3821 ON t JOIN t t3822 ON t JOIN t t3823 ON t +JOIN t t3824 ON t JOIN t t3825 ON t JOIN t t3826 ON t JOIN t t3827 ON t +JOIN t t3828 ON t JOIN t t3829 ON t JOIN t t3830 ON t JOIN t t3831 ON t +JOIN t t3832 ON t JOIN t t3833 ON t JOIN t t3834 ON t JOIN t t3835 ON t +JOIN t t3836 ON t JOIN t t3837 ON t JOIN t t3838 ON t JOIN t t3839 ON t +JOIN t t3840 ON t JOIN t t3841 ON t JOIN t t3842 ON t JOIN t t3843 ON t +JOIN t t3844 ON t JOIN t t3845 ON t JOIN t t3846 ON t JOIN t t3847 ON t +JOIN t t3848 ON t JOIN t t3849 ON t JOIN t t3850 ON t JOIN t t3851 ON t +JOIN t t3852 ON t JOIN t t3853 ON t JOIN t t3854 ON t JOIN t t3855 ON t +JOIN t t3856 ON t JOIN t t3857 ON t JOIN t t3858 ON t JOIN t t3859 ON t +JOIN t t3860 ON t JOIN t t3861 ON t JOIN t t3862 ON t JOIN t t3863 ON t +JOIN t t3864 ON t JOIN t t3865 ON t JOIN t t3866 ON t JOIN t t3867 ON t +JOIN t t3868 ON t JOIN t t3869 ON t JOIN t t3870 ON t JOIN t t3871 ON t +JOIN t t3872 ON t JOIN t t3873 ON t JOIN t t3874 ON t JOIN t t3875 ON t +JOIN t t3876 ON t JOIN t t3877 ON t JOIN t t3878 ON t JOIN t t3879 ON t +JOIN t t3880 ON t JOIN t t3881 ON t JOIN t t3882 ON t JOIN t t3883 ON t +JOIN t t3884 ON t JOIN t t3885 ON t JOIN t t3886 ON t JOIN t t3887 ON t +JOIN t t3888 ON t JOIN t t3889 ON t JOIN t t3890 ON t JOIN t t3891 ON t +JOIN t t3892 ON t JOIN t t3893 ON t JOIN t t3894 ON t JOIN t t3895 ON t +JOIN t t3896 ON t JOIN t t3897 ON t JOIN t t3898 ON t JOIN t t3899 ON t +JOIN t t3900 ON t JOIN t t3901 ON t JOIN t t3902 ON t JOIN t t3903 ON t +JOIN t t3904 ON t JOIN t t3905 ON t JOIN t t3906 ON t JOIN t t3907 ON t +JOIN t t3908 ON t JOIN t t3909 ON t JOIN t t3910 ON t JOIN t t3911 ON t +JOIN t t3912 ON t JOIN t t3913 ON t JOIN t t3914 ON t JOIN t t3915 ON t +JOIN t t3916 ON t JOIN t t3917 ON t JOIN t t3918 ON t JOIN t t3919 ON t +JOIN t t3920 ON t JOIN t t3921 ON t JOIN t t3922 ON t JOIN t t3923 ON t +JOIN t t3924 ON t JOIN t t3925 ON t JOIN t t3926 ON t JOIN t t3927 ON t +JOIN t t3928 ON t JOIN t t3929 ON t JOIN t t3930 ON t JOIN t t3931 ON t +JOIN t t3932 ON t JOIN t t3933 ON t JOIN t t3934 ON t JOIN t t3935 ON t +JOIN t t3936 ON t JOIN t t3937 ON t JOIN t t3938 ON t JOIN t t3939 ON t +JOIN t t3940 ON t JOIN t t3941 ON t JOIN t t3942 ON t JOIN t t3943 ON t +JOIN t t3944 ON t JOIN t t3945 ON t JOIN t t3946 ON t JOIN t t3947 ON t +JOIN t t3948 ON t JOIN t t3949 ON t JOIN t t3950 ON t JOIN t t3951 ON t +JOIN t t3952 ON t JOIN t t3953 ON t JOIN t t3954 ON t JOIN t t3955 ON t +JOIN t t3956 ON t JOIN t t3957 ON t JOIN t t3958 ON t JOIN t t3959 ON t +JOIN t t3960 ON t JOIN t t3961 ON t JOIN t t3962 ON t JOIN t t3963 ON t +JOIN t t3964 ON t JOIN t t3965 ON t JOIN t t3966 ON t JOIN t t3967 ON t +JOIN t t3968 ON t JOIN t t3969 ON t JOIN t t3970 ON t JOIN t t3971 ON t +JOIN t t3972 ON t JOIN t t3973 ON t JOIN t t3974 ON t JOIN t t3975 ON t +JOIN t t3976 ON t JOIN t t3977 ON t JOIN t t3978 ON t JOIN t t3979 ON t +JOIN t t3980 ON t JOIN t t3981 ON t JOIN t t3982 ON t JOIN t t3983 ON t +JOIN t t3984 ON t JOIN t t3985 ON t JOIN t t3986 ON t JOIN t t3987 ON t +JOIN t t3988 ON t JOIN t t3989 ON t JOIN t t3990 ON t JOIN t t3991 ON t +JOIN t t3992 ON t JOIN t t3993 ON t JOIN t t3994 ON t JOIN t t3995 ON t +JOIN t t3996 ON t JOIN t t3997 ON t JOIN t t3998 ON t JOIN t t3999 ON t +JOIN t t4000 ON t" "CREATE TABLE t1 (k SERIAL, i INT) ENGINE=InnoDB" "INSERT INTO t1 (i) VALUES (10), (2), (30), (4), (50)" "(SELECT * FROM t1) LIMIT 4" @@ -64402,6 +71815,18 @@ t AS t56, t AS t57, t AS t58, t AS t59, t AS t60) AS d2" "(SELECT * FROM t1 ORDER BY i DESC LIMIT 3) ORDER BY i" "(SELECT * FROM t1 ORDER BY i DESC LIMIT 3) ORDER BY i LIMIT 4" "((SELECT * FROM t1 ORDER BY i) ORDER BY i) ORDER BY i" +"((SELECT * FROM t1 LIMIT 1) LIMIT 2) LIMIT 3" +"create logfile group ndb_lg1 add undofile 'ndb_undo1.dat' initial_size=32M engine=myisam" +"create logfile group ndb_lg1 add undofile 'ndb_undo1.dat' engine=myisam" +"create logfile group ndb_lg1 add undofile 'ndb_undo1.dat'" +"create tablespace ndb_ts1 add datafile 'ndb_ts1.dat' use logfile group ndb_lg1 engine=myisam initial_size=32M" +"create tablespace ndb_ts1 add datafile 'ndb_ts1.dat' use logfile group ndb_lg1 engine=myisam" +"alter logfile group ndb_lg1 add undofile 'ndb_undo1.dat' wait engine=myisam" +"alter logfile group ndb_lg1 add undofile 'ndb_undo1.dat' engine=myisam" +"alter tablespace ndb_ts1 add datafile 'ndb_ts1.dat' initial_size=32M engine=myisam" +"alter tablespace ndb_ts1 add datafile 'ndb_ts1.dat' engine=myisam" +"drop logfile group ndb_lg1 engine=myisam" +"drop tablespace ndb_ts1" "drop table if exists t1_30237_bool" "create table t1_30237_bool(A boolean, B boolean, C boolean)" "insert into t1_30237_bool values @@ -64483,6 +71908,12 @@ where (A OR (B XOR C)) != (A OR B XOR C)" "select (NOT TRUE) IS NOT UNKNOWN, NOT (TRUE IS NOT UNKNOWN), NOT TRUE IS NOT UNKNOWN" "select (NOT TRUE) IS NULL, NOT (TRUE IS NULL), NOT TRUE IS NULL" "select (NOT TRUE) IS NOT NULL, NOT (TRUE IS NOT NULL), NOT TRUE IS NOT NULL" +"select TRUE IS TRUE IS TRUE IS TRUE",,syntax_error +"select FALSE IS NOT TRUE IS NOT TRUE IS NOT TRUE",,syntax_error +"select NULL IS FALSE IS FALSE IS FALSE",,syntax_error +"select TRUE IS NOT FALSE IS NOT FALSE IS NOT FALSE",,syntax_error +"select FALSE IS UNKNOWN IS UNKNOWN IS UNKNOWN",,syntax_error +"select TRUE IS NOT UNKNOWN IS NOT UNKNOWN IS NOT UNKNOWN",,syntax_error "select FALSE IS NULL IS NULL IS NULL" "select TRUE IS NOT NULL IS NOT NULL IS NOT NULL" "select 1 <=> 2 <=> 2, (1 <=> 2) <=> 2, 1 <=> (2 <=> 2)" @@ -64722,6 +72153,8 @@ partition p1 values in (2))" partition by hash (a)" "create index i2 on t1 (a)" "CREATE TABLE t0 (a INT PRIMARY KEY)" +"CREATE TABLE t1 (a INT, FOREIGN KEY (a) REFERENCES t0 (a)) +PARTITION BY HASH (a)" "CREATE TABLE t1 ( pk INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (pk) @@ -64839,6 +72272,8 @@ PARTITION b VALUES LESS THAN MAXVALUE ) */" "SELECT c1 FROM t1 WHERE (c1 > 12 AND c1 < 15)" "EXPLAIN SELECT c1 FROM t2 WHERE (c1 > 12 AND c1 < 15)" "SELECT c1 FROM t2 WHERE (c1 > 12 AND c1 < 15)" +"create table t1 (a int) partition by list ((a/3)*10 div 1) +(partition p0 values in (0), partition p1 values in (1))" "CREATE TABLE t1 ( d DATE NOT NULL ) @@ -64860,12 +72295,32 @@ partition p0 values less than (3), partition p1 values less than maxvalue )" "create table t1 (a int) +partition by key(a) +partitions 0.2+e1",,syntax_error +"create table t1 (a int) +partition by key(a) +partitions -1",,syntax_error +"create table t1 (a int) +partition by key(a) +partitions 1.5",,syntax_error +"create table t1 (a int) +partition by key(a) +partitions 1e+300",,syntax_error +"create table t1 (a int) partition by list (a) (partition p0 values in (1))" "create procedure pz() alter table t1" "call pz()" "drop procedure pz" +"create table t1 (a bigint) +partition by range (a) +(partition p0 values less than (0xFFFFFFFFFFFFFFFF), +partition p1 values less than (10))" +"create table t1 (a bigint) +partition by list (a) +(partition p0 values in (0xFFFFFFFFFFFFFFFF), +partition p1 values in (10))" "create table t1 (a bigint unsigned) partition by range (a) (partition p0 values less than (100), @@ -65003,6 +72458,7 @@ PARTITIONS 1 "CREATE TABLE t1 (a int, unique(a)) PARTITION BY LIST (a) (PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20))" +"REPLACE t1 SET a = 4" "CREATE TABLE t1 (a int) PARTITION BY LIST (a) (PARTITION x1 VALUES IN (2), PARTITION x2 VALUES IN (3))" @@ -65013,6 +72469,7 @@ PARTITIONS 5" "CREATE TABLE t1 (a int) PARTITION BY RANGE (a) (PARTITION x1 VALUES LESS THAN (2))" +"update t1 set a = 5" "CREATE TABLE t1 (a int) PARTITION BY LIST (a) (PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20))" @@ -65158,15 +72615,26 @@ from information_schema.partitions where table_schema ='test'" "create table t1 (a int,b int, c int) partition by list(a) partitions 2 +(partition x123 values in (11,12), +partition x234 values in (1 ,NULL, NULL))" +"create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 +(partition x123 values in (11, NULL), +partition x234 values in (1 ,NULL))" +"create table t1 (a int,b int, c int) +partition by list(a) +partitions 2 (partition x123 values in (11, 12), partition x234 values in (5, 1))" +"insert into t1 values (NULL,1,1)" "create table t1 (a int,b int, c int) partition by list(a) partitions 2 (partition x123 values in (11, 12), partition x234 values in (NULL, 1))" "insert into t1 values (11,1,6)" -"insert into t1 values (NULL,1,1)" +"alter table t1 rebuild partition",,syntax_error "create table t1 (a int) partition by list (a) (partition p0 values in (5))" @@ -65178,9 +72646,28 @@ partition by range (a) subpartition by hash (a) "create table t1 (a int) partition by key (a)" "alter table t1 add partition (partition p1)" +"create table t1 (a int, b int) +partition by range (a) +subpartition by hash(a) +(partition p0 values less than (0) (subpartition sp0), +partition p1 values less than (1))",,syntax_error +"create table t1 (a int, b int) +partition by range (a) +subpartition by hash(a) +(partition p0 values less than (0), +partition p1 values less than (1) (subpartition sp0))",,syntax_error +"create table t1 (a int, b int) +partition by list (a) +subpartition by hash(a) +(partition p0 values in (0), +partition p1 values in (1) (subpartition sp0))",,syntax_error +"create table t1 (a int) +partition by hash (a) +(partition p0 (subpartition sp0))" "create table t1 (a int) partition by range (a) (partition p0 values less than (1))" +"alter table t1 add partition (partition p1 values in (2))" "create table t1 (a int) partition by hash (a) (partition p0)" @@ -65190,8 +72677,10 @@ partition by hash (a) "update t2 set s1 = s1 + 1 order by s1 desc" "select * from t2 where s1 < 3" "select * from t2 where s1 = 2" +"create temporary table t1 (a int) partition by hash(a)" "create table t1 (a int, b int) partition by list (a) (partition p1 values in (1), partition p2 values in (2))" +"alter table t1 add primary key (b)" "create table t1 (a int unsigned not null auto_increment primary key) partition by key(a)" "alter table t1 rename t2, add c char(10), comment ""no comment""" @@ -65264,17 +72753,31 @@ PARTITION BY RANGE(id) PARTITION p1 VALUES LESS THAN (20), PARTITION p2 VALUES LESS THAN (30))" "create table t1 (a bigint unsigned) +partition by list (a) +(partition p0 values in (0-1))" +"create table t1 (a bigint unsigned) partition by range (a) (partition p0 values less than (10))" +"insert into t1 values (0xFFFFFFFFFFFFFFFF)" "create table t1 (a int) partition by list (a) (partition `s1 s2` values in (0))" "create table t1 (a int) partition by list (a) (partition `7` values in (0))" +"create table t1 (a int) +partition by list (a) +(partition `s1 s2 ` values in (0))" +"create table t1 (a int) +partition by list (a) +subpartition by hash (a) +(partition p1 values in (0) (subpartition `p1 p2 `))" "CREATE TABLE t1 (a int) PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL))" +"CREATE TABLE t1 (a int) +PARTITION BY RANGE(a) +(PARTITION p0 VALUES LESS THAN (NULL))" "create table t1 (s1 int auto_increment primary key) partition by list (s1) (partition p1 values in (1), @@ -65284,6 +72787,9 @@ partition p3 values in (3))" "create table t1 (a int) partition by key(a)" "create index inx1 on t1(a)" +"create table t1 (a int) +partition by key (a) +(partition p0 engine = MERGE)" "create table t1 (a varchar(1)) partition by key (a) as select 'a'" @@ -65415,6 +72921,11 @@ PARTITION BY RANGE(a) ( PARTITION p0 VALUES LESS THAN (32))" "create table t (s1 int) partition by key (s1)" "create trigger t_ad after delete on t for each row insert into t values (old.s1)" "insert into t values (1)" +"create table t1 (b int) +PARTITION BY RANGE (t2.b) ( +PARTITION p1 VALUES LESS THAN (10), +PARTITION p2 VALUES LESS THAN (20) +) select * from t2" "create table t1 (a int) PARTITION BY RANGE (b) ( PARTITION p1 VALUES LESS THAN (10), @@ -65423,7 +72934,6 @@ PARTITION p2 VALUES LESS THAN (20) "create table t1 (s1 timestamp on update current_timestamp, s2 int) partition by key(s1) partitions 3" -"insert into t1 values (null,null)" "create table t1 ( c0 int, c1 bigint, @@ -65439,6 +72949,8 @@ PARTITION BY RANGE (a) ( PARTITION p1 VALUES LESS THAN (10), PARTITION p2 VALUES LESS THAN (20) )" +"ALTER TABLE t1 OPTIMIZE PARTITION p1 EXTENDED",,syntax_error +"ALTER TABLE t1 ANALYZE PARTITION p1 EXTENDED",,syntax_error "ALTER TABLE t1 ANALYZE PARTITION p1" "ALTER TABLE t1 CHECK PARTITION p1" "ALTER TABLE t1 REPAIR PARTITION p1" @@ -65450,6 +72962,7 @@ PARTITION p1 VALUES LESS THAN (1), PARTITION p2 VALUES LESS THAN (18446744073709551615) )" "INSERT INTO t1 VALUES (0), (18446744073709551614)" +"INSERT INTO t1 VALUES (18446744073709551615)" "CREATE TABLE t1 (s1 BIGINT UNSIGNED) PARTITION BY RANGE (s1) ( PARTITION p0 VALUES LESS THAN (0), @@ -65521,6 +73034,7 @@ PARTITION BY LIST(1 DIV c1) ( PARTITION p0 VALUES IN (NULL), PARTITION p1 VALUES IN (1) )" +"INSERT INTO t1 VALUES (NULL), (0), (1), (2)" "SET SQL_MODE= @orig_sql_mode" "create table t1 (s1 int) partition by hash(s1) partitions 2" "insert into t1 select s1 from t1" @@ -65576,6 +73090,7 @@ PARTITION BY HASH(id) PARTITIONS 2" "CREATE TABLE t1 (s1 INT PRIMARY KEY) PARTITION BY HASH(s1)" "LOCK TABLES t1 WRITE, t1 b READ" "CREATE TABLE t1 (s1 VARCHAR(5) PRIMARY KEY) PARTITION BY KEY(s1)" +"ALTER TABLE t1 ADD COLUMN (s3 VARCHAR(5) UNIQUE)" "CREATE TABLE t1(a INT) PARTITION BY HASH(a) PARTITIONS 1" "CREATE TABLE t1_part ( partkey int, @@ -65584,6 +73099,10 @@ nokey int "INSERT INTO t1_part VALUES (1, 1) , (10, 10)" "CREATE VIEW v1 AS SELECT * FROM t1_part" "SELECT * FROM t1_part" +"UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.partkey = 2, B.nokey = 3" +"UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.nokey = 2, B.partkey = 3" +"UPDATE t1_part AS A NATURAL JOIN v1 as B SET A.nokey = 2 , B.partkey = 3" +"UPDATE v1 AS A NATURAL JOIN t1_part as B SET A.nokey = 2 , B.partkey = 3" "UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.nokey = 2 , B.nokey = 3" "DROP TABLE t1_part" "create table t1 (i int) partition by list (i) @@ -65603,6 +73122,12 @@ d INT, KEY (c,d) ) PARTITION BY KEY () PARTITIONS 1" "INSERT INTO t1 VALUES (1,1,'a',1), (2,2,'a',1)" +"SELECT 1 FROM t1 WHERE 1 IN +(SELECT group_concat(b) +FROM t1 +WHERE c > ST_geomfromtext('point(1 1)') +GROUP BY b +)" "CREATE TABLE t1 (c1 int(11) DEFAULT NULL, KEY c1 (c1)) PARTITION BY RANGE (c1) (PARTITION a VALUES LESS THAN (10), @@ -65610,8 +73135,13 @@ PARTITION b VALUES LESS THAN (100), PARTITION c VALUES LESS THAN MAXVALUE)" "INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20)" "SET sql_mode= 'STRICT_TRANS_TABLES'" +"CREATE TABLE t1 (d TIME) +PARTITION BY RANGE COLUMNS (d) +(PARTITION p0 VALUES LESS THAN ('2000-01-01'), +PARTITION p1 VALUES LESS THAN ('2040-01-01'))" "CREATE TABLE t1 (a int PRIMARY KEY) PARTITION BY LINEAR KEY(a) PARTITIONS 2" +"SELECT 1 FROM t1 WHERE EXP(10000)" "CALL mtr.add_suppression("".ERROR. Operating system error number"")" "CALL mtr.add_suppression("".ERROR. The error means mysqld does not have the access"")" "set innodb_strict_mode=off" @@ -65684,27 +73214,36 @@ SUBPARTITION p33))" "SELECT MBRTOUCHES(a.c1, b.c2) FROM t1 AS a JOIN t1 AS b" "CREATE TABLE t1 (i INT, j INT) PARTITION BY RANGE(i) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" "INSERT INTO t1 (i, j) VALUES (-1, 1)" +"ALTER TABLE t1 CHANGE COLUMN i j INT, CHANGE COLUMN j i INT" "SELECT i, j FROM t1 PARTITION (p0)" "SELECT i, j FROM t1 PARTITION (p1)" +"ALTER TABLE t1 DROP COLUMN i, ADD COLUMN i INT DEFAULT 1" "CREATE TABLE t1 (i INT, j INT) PARTITION BY RANGE(i+1) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" +"ALTER TABLE t1 RENAME COLUMN i TO k" +"ALTER TABLE t1 CHANGE COLUMN i k INT" +"ALTER TABLE t1 RENAME COLUMN i TO j, RENAME COLUMN j TO i" "CREATE TABLE t1 (i INT) PARTITION BY LIST COLUMNS (i) (PARTITION p0 VALUES IN (-2,-1), PARTITION p1 VALUES IN (0, 1, 2))" "ALTER TABLE t1 RENAME COLUMN i TO k REMOVE PARTITIONING" "ALTER TABLE t1 RENAME COLUMN i TO k PARTITION BY RANGE(k) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" +"ALTER TABLE t1 RENAME COLUMN k TO l PARTITION BY RANGE(m) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" "SELECT k, j FROM t1 PARTITION (p0)" "SELECT k, j FROM t1 PARTITION (p1)" "ALTER TABLE t1 RENAME COLUMN k TO j, RENAME COLUMN j TO k PARTITION BY RANGE(k) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" +"ALTER TABLE t1 RENAME COLUMN k TO j, RENAME COLUMN j TO k, ALGORITHM=INPLACE PARTITION BY RANGE(k) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" "CREATE TABLE t1 (i INT, j INT, PRIMARY KEY (i)) PARTITION BY KEY () PARTITIONS 2 (PARTITION p0, PARTITION p1)" -"ALTER TABLE t1 RENAME COLUMN i TO j, RENAME COLUMN j TO i" "CREATE TABLE t1 (i INT, j INT, PRIMARY KEY (i, j)) PARTITION BY KEY (i) PARTITIONS 2 (PARTITION p0, PARTITION p1)" "ALTER TABLE t1 RENAME COLUMN i TO j, RENAME COLUMN j TO i PARTITION BY KEY (i) PARTITIONS 2 (PARTITION p0, PARTITION p1)" +"ALTER TABLE t1 DROP COLUMN i, ADD COLUMN i INT" "ALTER TABLE t1 DROP COLUMN i, ADD COLUMN i INT REMOVE PARTITIONING" "ALTER TABLE t1 DROP COLUMN i, ADD COLUMN i INT PARTITION BY RANGE(i) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" +"ALTER TABLE t1 DROP COLUMN i, ADD COLUMN i INT PARTITION BY RANGE(k) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" "ALTER TABLE t1 DROP COLUMN i, ADD COLUMN i INT DEFAULT 1 PARTITION BY RANGE(i) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" +"ALTER TABLE t1 DROP COLUMN i, ADD COLUMN i INT DEFAULT 2, ALGORITHM=INPLACE PARTITION BY RANGE(i) (PARTITION p0 VALUES LESS THAN (0), PARTITION p1 VALUES LESS THAN MAXVALUE)" "CREATE TABLE t1 (i INT, j INT, PRIMARY KEY (i, j)) PARTITION BY KEY () PARTITIONS 2 (PARTITION p0, PARTITION p1)" "INSERT INTO t1 (i, j) VALUES (1, 2)" -"ALTER TABLE t1 DROP COLUMN i" "SELECT j FROM t1 PARTITION (p0)" "SELECT j FROM t1 PARTITION (p1)" +"ALTER TABLE t1 ADD COLUMN k INT, DROP COLUMN j" "ALTER TABLE t1 DROP COLUMN i, ADD COLUMN i INT DEFAULT 0" "CREATE TABLE t( id int unsigned NOT NULL, data varchar(2) DEFAULT NULL, @@ -65719,15 +73258,21 @@ PARTITION p20 VALUES LESS THAN (20) ) */" "CREATE TABLE t2 (c1 INT, c2 CHAR(32) DEFAULT (RANDOM_BYTES(32))) PARTITION BY RANGE(c1) (PARTITION p1 VALUES LESS THAN(100))" "CREATE TABLE t (c1 INT, c2 INT) PARTITION BY RANGE(c1) (PARTITION p1 VALUES LESS THAN(100))" "ALTER TABLE t MODIFY COLUMN c2 CHAR(32) DEFAULT (RANDOM_BYTES(32))" +"CREATE TABLE t1 (c1 INT, c2 CHAR(32) GENERATED ALWAYS AS (RANDOM_BYTES(32))) PARTITION BY HASH(c1)" +"CREATE TABLE t2 (c1 INT, c2 CHAR(32) GENERATED ALWAYS AS (RANDOM_BYTES(32))) PARTITION BY RANGE(c1) (PARTITION p1 VALUES LESS THAN(100))" +"ALTER TABLE t MODIFY COLUMN c2 CHAR(32) GENERATED ALWAYS AS (RANDOM_BYTES(32)) STORED" +"ALTER TABLE t ADD COLUMN c3 CHAR(32) GENERATED ALWAYS AS (RANDOM_BYTES(32))" "CREATE TABLE v0 ( c1 SERIAL ) PARTITION BY RANGE ( c1 ) SUBPARTITION BY LINEAR HASH ( c1 DIV - c1 ) ( PARTITION p2 VALUES LESS THAN MAXVALUE ) " +"INSERT v0 SET c1 = 0" "CREATE TABLE t1(id INT) PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS THAN (100), PARTITION pmax VALUES LESS THAN (MAXVALUE))" "INSERT INTO t1 VALUES (1), (10), (100), (1000)" +"ALTER TABLE t1 TRUNCATE PARTITION p1" "ALTER TABLE t1 ANALYZE PARTITION p0" "ALTER TABLE t1 CHECK PARTITION p0" "ALTER TABLE t1 REPAIR PARTITION p0" @@ -65741,19 +73286,159 @@ PARTITION BY HASH(id) PARTITIONS 2" "create table t1 (col1 datetime) partition by range(datediff(col1,col1)) (partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(greatest(col1,10)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(isnull(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(least(col1,12)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(case when col1>0 then 10 else 20 end) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(ifnull(col1,5)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(nullif(col1,5)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(bit_length(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(bit_length(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(char_length(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(char_length(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(character_length(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(find_in_set(col1,1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(find_in_set(col1,'1')) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(instr(col1,3)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(instr(col1,'3')) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(length(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(locate(1,col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(locate(1,col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(octet_length(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(position(1 in col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(position(1 in col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 char(5)) +partition by range(strcmp(col1,2)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(strcmp(col1,2)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(crc32(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(round(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 int) +partition by range(sign(col1)) +(partition p0 values less than (2), partition p1 values less than (6))" +"create table t1 (col1 datetime) +partition by range(period_add(col1,5)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 datetime, col2 datetime) +partition by range(period_diff(col1,col2)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int, col2 int) +partition by range(period_diff(col1,col2)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 datetime) +partition by range(timestampdiff(day,5,col1)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 date) +partition by range(unix_timestamp(col1)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 datetime) +partition by range(week(col1)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 varchar(25)) +partition by range(cast(col1 as signed)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 varchar(25)) +partition by range(convert(col1,unsigned)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(col1 | 20) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(col1 & 20) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(col1 ^ 20) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(col1 << 20) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(col1 >> 20) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(~col1) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(bit_count(col1)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (col1 int) +partition by range(inet_aton(col1)) +(partition p0 values less than (10), partition p1 values less than (30))" +"create table t1 (s1 int) +partition by list (s1) +(partition c values in (1), +partition Ç values in (3))" "create table t1 (s1 int) partition by list (s1) (partition c values in (1), partition d values in (3))" "insert into t1 values (1),(3)" +"create table t1 (a varchar(1), primary key (a)) +partition by list (ascii(a)) +(partition p1 values in (65))" "CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB" "CREATE TABLE t2 (c1 INT, PRIMARY KEY (c1), FOREIGN KEY (c1) REFERENCES t1 (c1) ON DELETE CASCADE) ENGINE=INNODB" +"ALTER TABLE t1 PARTITION BY HASH(c1) PARTITIONS 5" +"ALTER TABLE t2 PARTITION BY HASH(c1) PARTITIONS 5" "create table t1 (int_column int, char_column char(5)) PARTITION BY RANGE (int_column) subpartition by key (char_column) subpartitions 2 (PARTITION p1 VALUES LESS THAN (5) ENGINE = InnoDB)" +"alter table t1 +ENGINE = MyISAM +PARTITION BY RANGE (int_column) +subpartition by key (char_column) subpartitions 2 +(PARTITION p1 VALUES LESS THAN (5))" "CREATE TABLE t1 ( id INT NOT NULL, name VARCHAR(255), @@ -65766,11 +73451,51 @@ PARTITION second_office VALUES IN (('dep2', 'Russia')) "INSERT INTO t1 VALUES(1, 'Ann', 'dep1', 'Russia')" "INSERT INTO t1 VALUES(2, 'Bob', 'dep1', 'Croatia')" "INSERT INTO t1 VALUES(3, 'Cecil', 'dep2', 'Russia')" +"INSERT INTO t1 VALUES(3, 'Dan', 'dep2', 'Croatia')" "SELECT PARTITION_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 't1'" "SELECT * FROM t1 WHERE department = 'dep2' and country = 'Croatia'" "SELECT * FROM t1 WHERE department = 'dep1' and country = 'Croatia'" +"CREATE TABLE t1 (a DECIMAL) +PARTITION BY RANGE COLUMNS (a) +(PARTITION p0 VALUES LESS THAN (0))" +"CREATE TABLE t1 (a BLOB) +PARTITION BY RANGE COLUMNS (a) +(PARTITION p0 VALUES LESS THAN (""X""))" +"CREATE TABLE t1 (a TEXT) +PARTITION BY RANGE COLUMNS (a) +(PARTITION p0 VALUES LESS THAN (""X""))" +"CREATE TABLE t1 (a FLOAT) +PARTITION BY RANGE COLUMNS (a) +(PARTITION p0 VALUES LESS THAN (0.0))" +"CREATE TABLE t1 (a DOUBLE) +PARTITION BY RANGE COLUMNS (a) +(PARTITION p0 VALUES LESS THAN (0.0))" +"CREATE TABLE t1 (d TIMESTAMP) +PARTITION BY RANGE COLUMNS(d) +(PARTITION p0 VALUES LESS THAN ('2000-01-01'), +PARTITION p1 VALUES LESS THAN ('2040-01-01'))" +"CREATE TABLE t1 (d BIT(1)) +PARTITION BY RANGE COLUMNS(d) +(PARTITION p0 VALUES LESS THAN (0), +PARTITION p1 VALUES LESS THAN (1))" +"CREATE TABLE t1 (d ENUM(""YES"",""NO"")) +PARTITION BY RANGE COLUMNS(d) +(PARTITION p0 VALUES LESS THAN (""NO""), +PARTITION p1 VALUES LESS THAN (MAXVALUE))" +"CREATE TABLE t1 (d SET(""Car"",""MC"")) +PARTITION BY RANGE COLUMNS(d) +(PARTITION p0 VALUES LESS THAN (""MC""), +PARTITION p1 VALUES LESS THAN (MAXVALUE))" +"create table t1 (a int, b int) +partition by range columns (a,b) +( partition p0 values less than (maxvalue, 10), +partition p1 values less than (maxvalue, maxvalue))" +"create table t1 (a int, b int, c int) +partition by range columns (a,b,c) +( partition p0 values less than (1, maxvalue, 10), +partition p1 values less than (1, maxvalue, maxvalue))" "create table t1 (a varchar(5) character set ucs2 collate ucs2_bin) partition by range columns (a) (partition p0 values less than (0x0041))" @@ -65799,6 +73524,20 @@ partition by list columns(a) partition p1 values in ('\\'), partition p2 values in ('\0'))" "set @@sql_mode=allow_invalid_dates" +"create table t1 (a char, b char, c date) +partition by range columns (a,b,c) +( partition p0 values less than (0,0,to_days('3000-11-31')))" +"create table t1 (a char, b char, c date) +partition by range columns (a,b,c) +( partition p0 values less than (0,0,'3000-11-31'))" +"create table t1 (a int, b char(10), c varchar(25), d datetime) +partition by range columns(a,b,c,d) +subpartition by hash (to_seconds(d)) +subpartitions 4 +( partition p0 values less than (1, 0, MAXVALUE, '1900-01-01'), +partition p1 values less than (1, 'a', MAXVALUE, '1999-01-01'), +partition p2 values less than (1, 'a', MAXVALUE, MAXVALUE), +partition p3 values less than (1, MAXVALUE, MAXVALUE, MAXVALUE))" "create table t1 (a int, b char(10), c varchar(25), d datetime) partition by range columns(a,b,c,d) subpartition by hash (to_seconds(d)) @@ -65810,8 +73549,21 @@ partition p3 values less than (1, MAXVALUE, MAXVALUE, MAXVALUE))" "select partition_method, partition_expression, partition_description from information_schema.partitions where table_name = ""t1""" "create table t1 (a int, b int) +partition by range columns (a,b) +(partition p0 values less than (NULL, maxvalue))" +"create table t1 (a int, b int) +partition by list columns(a,b) +( partition p0 values in ((maxvalue, 0)))",,syntax_error +"create table t1 (a int, b int) partition by list columns (a,b) ( partition p0 values in ((0,0)))" +"alter table t1 add partition +(partition p1 values in (maxvalue, maxvalue))",,syntax_error +"create table t1 (a int, b int) +partition by key (a,a)" +"create table t1 (a int, b int) +partition by list columns(a,a) +( partition p values in ((1,1)))" "create table t1 (a int signed) partition by list (a) ( partition p0 values in (1, 3, 5, 7, 9, NULL), @@ -65832,7 +73584,6 @@ partition p1 values in ((1,1), (2,2)), partition p2 values in ((3, NULL), (NULL, 1)))" "insert into t1 values (3, NULL)" "insert into t1 values (NULL, 1)" -"insert into t1 values (NULL, NULL)" "insert into t1 values (1, NULL)" "insert into t1 values (2, NULL)" "select * from t1 where a = 1" @@ -65841,11 +73592,19 @@ partition p2 values in ((3, NULL), (NULL, 1)))" "select * from t1 where a not between 8 and 8" "create table t1 (a int) partition by list (a) +( partition p0 values in (1), +partition p1 values in (1))" +"create table t1 (a int) +partition by list (a) ( partition p0 values in (2, 1), partition p1 values in (4, NULL, 3))" "create table t1 (a int) partition by list columns(a) ( partition p0 values in (2, 1), +partition p1 values in ((4), (NULL), (3)))",,syntax_error +"create table t1 (a int) +partition by list columns(a) +( partition p0 values in (2, 1), partition p1 values in (4, NULL, 3))" "create table t1 (a int, b char(10), c varchar(5), d int) partition by range columns(a,b,c) @@ -65873,6 +73632,10 @@ partition by list columns(a) ( partition p0 values in ('a'))" "insert into t1 (a) values ('a')" "select * from t1 where a = 'a'" +"create table t1 (d time) +partition by range columns(d) +( partition p0 values less than ('2000-01-01'), +partition p1 values less than ('2040-01-01'))" "create table t1 (a int, b int) partition by range columns(a,b) (partition p0 values less than (maxvalue, 10))" @@ -65898,6 +73661,9 @@ partition p1 values less than (99,999))" "select data_type from information_schema.columns where column_name='to_seconds'" "create table t1 (a int, b int) +partition by list columns(a,b) +(partition p0 values in ((maxvalue,maxvalue)))",,syntax_error +"create table t1 (a int, b int) partition by range columns(a,b) (partition p0 values less than (maxvalue,maxvalue))" "create table t1 (a int) @@ -65909,12 +73675,27 @@ partition by range columns(a) (partition p0 values less than ('H23456'), partition p1 values less than ('M23456'))" "insert into t1 values ('F23456')" +"create table t1 (a char(6)) +partition by range columns(a) +(partition p0 values less than (H23456), +partition p1 values less than (M23456))" +"create table t1 (a char(6)) +partition by range columns(a) +(partition p0 values less than (23456), +partition p1 values less than (23456))" +"create table t1 (a int, b int) +partition by range columns(a,b) +(partition p0 values less than (10))",,syntax_error +"create table t1 (a int, b int) +partition by range columns(a,b) +(partition p0 values less than (1,1,1))" "create table t1 (a int, b int) partition by range columns(a,b) (partition p0 values less than (1, 0), partition p1 values less than (2, maxvalue), partition p2 values less than (3, 3), partition p3 values less than (10, maxvalue))" +"insert into t1 values (11,0)" "insert into t1 values (0,1),(1,1),(2,1),(3,1),(3,4),(4,9),(9,1)" "alter table t1 partition by range columns(b,a) @@ -65928,6 +73709,13 @@ partition p2 values less than (9,5))" "alter table t1 reorganize partition p1 into (partition p11 values less than (2,2), partition p12 values less than (3,3))" +"alter table t1 reorganize partition p0 into +(partition p01 values less than (0,3), +partition p02 values less than (1,1))" +"alter table t1 reorganize partition p2 into +(partition p2 values less than(9,6,1))" +"alter table t1 reorganize partition p2 into +(partition p2 values less than (10))" "alter table t1 reorganize partition p2 into (partition p21 values less than (4,7), partition p22 values less than (9,5))" @@ -66057,6 +73845,10 @@ partition p23 values less than (6,30) "select * from t1 where a = 'bbbb'" "create table t1 (a varchar(3069)) charset latin1 partition by key (a)" "create table t1 (a varchar(3070) not null) charset latin1 partition by key (a)" +"create table t1 (a varchar(3070)) partition by key (a)" +"create table t1 (a varchar(65533)) charset latin1 partition by key (a)" +"create table t1 (a varchar(65534) not null) charset latin1 partition by key (a)" +"create table t1 (a varchar(65535)) charset latin1 partition by key (a)" "create table t1 (a bit(27), primary key (a)) partition by hash (a) (partition p0, partition p1, partition p2)" @@ -66244,8 +74036,8 @@ PARTITION BY HASH (a) PARTITIONS 3" "INSERT INTO t1 VALUES (1, ""1""), (2, ""2""), (3, ""3""), (4, ""Four""), (5, ""Five""), (6, ""Six""), (7, ""Seven""), (8, ""Eight""), (9, ""Nine"")" "SET SESSION debug=""+d,partition_fail_index_init""" -"SET SESSION debug=""-d,partition_fail_index_init""" "SELECT * FROM t1 WHERE b = ""Seven""" +"SET SESSION debug=""-d,partition_fail_index_init""" "CREATE TABLE t1_part_table ( f1 INT PRIMARY KEY, f2 iNT , f3 INT, KEY `IDX_F2` (f2), @@ -66285,6 +74077,7 @@ WHERE t.NAME='t1_normal_table' ORDER BY i.ORDINAL_POSITION" "DROP TABLE t1_normal_table" "CREATE TABLE t1(a int) PARTITION BY LIST (a) (PARTITION x1 VALUES IN (2),PARTITION x2 VALUES IN (3))" +"SELECT COUNT(*)FROM t1" "CREATE TABLE t1 ( LogTime TIMESTAMP NOT NULL DEFAULT '2000-01-01 00:00:00', UserAgent VARCHAR(256) COLLATE utf8mb4_bin DEFAULT NULL, @@ -66348,8 +74141,25 @@ PARTITION BY KEY ALGORITHM = 1 () PARTITIONS 3" "call mtr.add_suppression(""\\[Warning\\] \\[[^]]*\\] \\[[^]]*\\] Unsafe statement written .* = STATEMENT."")" "SET DEBUG_SYNC=""release_auto_increment SIGNAL auto_inc_held WAIT_FOR release TIMEOUT 2""" "CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1" +"ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE v1" +"CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b)) +PARTITION BY KEY(a, b, a)" "CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b)) PARTITION BY KEY(A, b)" +"CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b)) +PARTITION BY KEY(a, b, A)" +"CREATE TABLE t1 (a VARBINARY(10)) +PARTITION BY RANGE (DAYOFWEEK(a)) +(PARTITION a1 VALUES LESS THAN (60))" +"CREATE TABLE t1 (a CHAR(10)) +PARTITION BY RANGE (DAYOFWEEK(a)) +(PARTITION a1 VALUES LESS THAN (60))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY RANGE (DAYOFWEEK(a)) +(PARTITION a1 VALUES LESS THAN (60))" +"CREATE TABLE t1 (a TIMESTAMP) +PARTITION BY RANGE (DAYOFWEEK(a)) +(PARTITION a1 VALUES LESS THAN (60))" "CREATE TABLE t1 (a DATE) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60))" @@ -66357,58 +74167,163 @@ PARTITION BY RANGE (DAYOFWEEK(a)) "CREATE TABLE t1 (a DATETIME) PARTITION BY RANGE (DAYOFWEEK(a)) (PARTITION a1 VALUES LESS THAN (60))" +"CREATE TABLE t1 (a TIME) +PARTITION BY RANGE (DAYOFWEEK(a)) +(PARTITION a1 VALUES LESS THAN (60))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (TO_DAYS(a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (TO_DAYS(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (TO_DAYS(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (TO_DAYS(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (TO_DAYS(a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (DAYOFMONTH(a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (DAYOFMONTH(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (DAYOFMONTH(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (DAYOFMONTH(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (DAYOFMONTH(a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (MONTH(a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (MONTH(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (MONTH(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (MONTH(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (MONTH(a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (DAYOFYEAR(a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (DAYOFYEAR(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (DAYOFYEAR(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (DAYOFYEAR(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (DAYOFYEAR(a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (HOUR(a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (HOUR(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (HOUR(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (HOUR(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (HOUR(a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (MINUTE(a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (MINUTE(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (MINUTE(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (MINUTE(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (MINUTE(a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (QUARTER(a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (QUARTER(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (QUARTER(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (QUARTER(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (QUARTER(a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (SECOND(a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (SECOND(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (SECOND(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (SECOND(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (SECOND(a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (YEARWEEK(a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (YEARWEEK(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (YEARWEEK(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (YEARWEEK(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (YEARWEEK(a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (WEEKDAY(a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (WEEKDAY(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (WEEKDAY(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (WEEKDAY(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (WEEKDAY(a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (TO_SECONDS(a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (TO_SECONDS(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (TO_SECONDS(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (TO_SECONDS(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (TO_SECONDS(a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (TIME_TO_SEC(a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (TIME_TO_SEC(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (TIME_TO_SEC(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (TIME_TO_SEC(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (TIME_TO_SEC(a))" "CREATE TABLE t1 (a TIME) +PARTITION BY HASH (FROM_DAYS(a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (FROM_DAYS(a))" +"CREATE TABLE t1 (a DATETIME) +PARTITION BY HASH (FROM_DAYS(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (TO_DAYS(FROM_DAYS(a)))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (FROM_DAYS(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (TO_DAYS(FROM_DAYS(a)))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (FROM_DAYS(a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (MICROSECOND(a))" +"CREATE TABLE t1 (a DATE) PARTITION BY HASH (MICROSECOND(a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (MICROSECOND(a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (MICROSECOND(a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (MICROSECOND(a))" +"CREATE TABLE t1 +(`date` date, +`extracted_week` int, +`yearweek` int, +`week` int, +`default_week_format` int) +PARTITION BY LIST (EXTRACT(WEEK FROM date) % 3) +(PARTITION p0 VALUES IN (0), +PARTITION p1 VALUES IN (1), +PARTITION p2 VALUES IN (2))" "CREATE TABLE t1 (`date` date, `extracted_week` int, @@ -66426,84 +74341,248 @@ PARTITION BY HASH (MICROSECOND(a))" "SET default_week_format = 6" "SET default_week_format = 7" "SET default_week_format = @old_default_week_format" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(YEAR FROM a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(YEAR FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(YEAR FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(YEAR FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(YEAR FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(QUARTER FROM a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(QUARTER FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(QUARTER FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(QUARTER FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(QUARTER FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(MONTH FROM a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(MONTH FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MONTH FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(MONTH FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(MONTH FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(WEEK FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(WEEK FROM a))" +"CREATE TABLE t1 (a DATETIME) +PARTITION BY HASH (EXTRACT(WEEK FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(WEEK FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(WEEK FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(DAY FROM a))" "CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(DAY FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(DAY FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(HOUR FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(HOUR FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(HOUR FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(HOUR FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(HOUR FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MINUTE FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(MINUTE FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MINUTE FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(MINUTE FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(MINUTE FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(SECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(SECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(SECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(SECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(SECOND FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MICROSECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(MICROSECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MICROSECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(MICROSECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(MICROSECOND FROM a))" +"CREATE TABLE t1 (a TIME) +PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a))" "CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a))" +"CREATE TABLE t1 (a DATE) +PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a))" "CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a))" +"CREATE TABLE t1 (a VARCHAR(10)) +PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a))" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a))" +"CREATE TABLE t1 (a TIME, b DATE) +PARTITION BY HASH (DATEDIFF(a, b))" "CREATE TABLE t1 (a DATE, b DATETIME) PARTITION BY HASH (DATEDIFF(a, b))" "CREATE TABLE t1 (a DATETIME, b DATE) PARTITION BY HASH (DATEDIFF(a, b))" +"CREATE TABLE t1 (a DATE, b VARCHAR(10)) +PARTITION BY HASH (DATEDIFF(a, b))" +"CREATE TABLE t1 (a INT, b DATETIME) +PARTITION BY HASH (DATEDIFF(a, b))" +"CREATE TABLE t1 (c TIMESTAMP) +PARTITION BY RANGE (TO_DAYS(c)) +(PARTITION p0 VALUES LESS THAN (10000), +PARTITION p1 VALUES LESS THAN (MAXVALUE))" "CREATE TABLE t2 (c TIMESTAMP)" +"ALTER TABLE t2 +PARTITION BY RANGE (TO_DAYS(c)) +(PARTITION p0 VALUES LESS THAN (10000), +PARTITION p1 VALUES LESS THAN (MAXVALUE))" +"CREATE TABLE t1 (c TIMESTAMP) +PARTITION BY RANGE COLUMNS(c) +(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'), +PARTITION p1 VALUES LESS THAN (MAXVALUE))" +"ALTER TABLE t2 PARTITION BY RANGE COLUMNS(c) +(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'), +PARTITION p1 VALUES LESS THAN (MAXVALUE))" +"CREATE TABLE t1 (c TIMESTAMP) +PARTITION BY RANGE (c) +(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'), +PARTITION p1 VALUES LESS THAN (MAXVALUE))" +"CREATE TABLE t1 (c TIMESTAMP) +PARTITION BY RANGE (UNIX_TIMESTAMP(c)) +(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'), +PARTITION p1 VALUES LESS THAN (MAXVALUE))" "CREATE TABLE t1 (c TIMESTAMP) PARTITION BY RANGE (UNIX_TIMESTAMP(c)) (PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')), PARTITION p1 VALUES LESS THAN (MAXVALUE))" +"CREATE TABLE t1 (c TIMESTAMP) +PARTITION BY HASH (c) PARTITIONS 4" "CREATE TABLE t1 (a INT) PARTITION BY HASH(a)" +"CREATE TEMPORARY TABLE tmp_t1 LIKE t1" "CREATE TABLE t1 (id INT, purchased DATE) PARTITION BY RANGE(YEAR(purchased)) SUBPARTITION BY HASH(TO_DAYS(purchased)) @@ -66529,17 +74608,733 @@ INDEX DIRECTORY = '/tmp/not-existing')" "CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a)) PARTITION BY KEY (a) PARTITIONS 2" "CREATE TABLESPACE ts3 ADD DATAFILE 'ts3.ibd'" +"CREATE TABLE t1 ( +a int +) +PARTITION BY RANGE (a) +( +PARTITION p0 VALUES LESS THAN (1), +PARTITION p1 VALU ES LESS THAN (2) +)",,syntax_error +"partition by list (a) +partitions 3 +(partition x1 values in (1,2,9,4) tablespace ts1, +partition x2 values in (3, 11, 5, 7) tablespace ts2, +partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (sin(a)) +partitions 3 +(partition x1 values in (1,2,9,4) tablespace ts1, +partition x2 values in (3, 11, 5, 7) tablespace ts2, +partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a+2) +partitions 3 +(partition x1 tablespace ts1, +partition x2 tablespace ts2, +partition x3 tablespace ts3)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition tablespace ts1, +partition x2 tablespace ts2, +partition x3 tablespace ts3)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range columns (a,d) +(partition x1 VALUES LESS THAN (1,1), +partition x2 VALUES LESS THAN (2,2), +partition x3 VALUES LESS THAN (3,3))" "select load_file('$MYSQLD_DATADIR/test/t1.par')" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a,d) +partitions 3 +(partition x1 tablespace ts1, +partition x2 tablespace ts2, +partition x3 tablespace ts3)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by hash (a + d) +partitions 3 +(partition x1 tablespace ts1, +partition x2 tablespace ts2, +partition x3 tablespace ts3)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by hash (sin(a)) +partitions 3 +(partition x1 tablespace ts1, +partition x2 tablespace ts2, +partition x3 tablespace ts3)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by key (a) +partitions 3 +(partition x1, partition x2)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by hash (rand(a)) +partitions 2 +(partition x1, partition x2)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (rand(a)) +partitions 2 +(partition x1 values less than (0), partition x2 values less than (2))",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (rand(a)) +partitions 2 +(partition x1 values in (1), partition x2 values in (2))",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by hash (a) +partitions 2 +(partition x1 values less than (4), +partition x2 values less than (5))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by hash (a) +partitions 2 +(partition x1 values in (4), +partition x2 values in (5))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by hash (a) +partitions 2 +(partition x1 values in (4,6), +partition x2 values in (5,7))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by key (a) +subpartition by key (b)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by key (a) +subpartition by key (a, b)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by key (a) +subpartition by hash (a+b)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by key (a) +subpartition by hash (rand(a+b))",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by key (a) +subpartition by hash (sin(a+b)) +(partition x1 (subpartition x11, subpartition x12), +partition x2 (subpartition x21, subpartition x22))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by range (a) +subpartition by key (a+b) +(partition x1 values less than (1) (subpartition x11, subpartition x12), +partition x2 values less than (2) (subpartition x21, subpartition x22))",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by range (a) +subpartition by key (a,d) +(partition x1 values less than (1) (subpartition x11, subpartition x12), +partition x2 values less than (2) (subpartition x21, subpartition x22))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by key (a) +subpartition by hash (3+4)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by range (a) +subpartition by hash (a+d) +(partition x1 values less than (1) (subpartition x11, subpartition x12), +partition x2 values less than (2) (subpartition x21, subpartition x22))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a+d) +partitions 2 +(partition x1 values less than (4) tablespace ts1, +partition x2 values less than (8) tablespace ts2)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a) +partitions 2 +(partition x1 values less than (4.0) tablespace ts1, +partition x2 values less than (8) tablespace ts2)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (3+4) +partitions 2 +(partition x1 values less than (4) tablespace ts1, +partition x2 values less than (8) tablespace ts2)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a) +partitions 2 +(partition x1 values less than (4), +partition x2)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a) +partitions 2 +(partition x1 values in (4), +partition x2)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a) +partitions 2 +(partition x1 values in (4), +partition x2 values less than (5))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2 +(partition x1 values less than 4, +partition x2 values less than (5))",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2 +(partition x1 values less than (4), +partition x2 values less than (5))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a) +partitions 2 +(partition x1 values less than maxvalue, +partition x2 values less than (5))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a) +partitions 2 +(partition x1 values less than maxvalue, +partition x2 values less than maxvalue)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (a) +partitions 2 +(partition x1 values less than (4), +partition x2 values less than (3))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by range (sin(a)) +partitions 2 +(partition x1 values less than (4), +partition x2 values less than (5))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by list (a) +subpartition by hash (a+b) +subpartitions 3 +( partition x1 values in (1,2,4) +( subpartition x11 nodegroup 0, +subpartition x12 nodegroup 1), +partition x2 values in (3,5,6) +( subpartition x21 nodegroup 0, +subpartition x22 nodegroup 1) +)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by list (a) +subpartition by hash (a+b) +( partition x1 values in (1) +( subpartition x11 nodegroup 0, +subpartition xextra, +subpartition x12 nodegroup 1), +partition x2 values in (2) +( subpartition x21 nodegroup 0, +subpartition x22 nodegroup 1) +)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by key (a) +subpartition by list (a+b) +( partition x1 +( subpartition x11, +subpartition x12), +partition x2 +( subpartition x21, +subpartition x22) +)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key (a,b)) +partition by key (a) +subpartition by list (a+b) +( partition x1 +( subpartition x11 values in (0), +subpartition x12 values in (1)), +partition x2 +( subpartition x21 values in (0), +subpartition x22 values in (1)) +)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (3+4) +partitions 2 +(partition x1 values in (4) tablespace ts1, +partition x2 values in (8) tablespace ts2)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a+d) +partitions 2 +(partition x1 values in (4) tablespace ts1, +partition x2 values in (8) tablespace ts2)" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2 +(partition x1 values in (4), +partition x2)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2 +(partition x1 values in (4), +partition x2 values less than (5))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2 +(partition x1 values in (4,6), +partition x2)",,syntax_error +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2 +(partition x1 values in (4, 12+9), +partition x2 values in (3, 21))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2 +(partition x1 values in (4.0, 12+8), +partition x2 values in (3, 21))" +"CREATE TABLE t1 ( +a int not null, +b int not null, +c int not null, +primary key(a,b)) +partition by list (a) +partitions 2 +(partition x1 values in 4, +partition x2 values in (5))",,syntax_error +"CREATE TABLE t1 (a int) +PARTITION BY RANGE (a) +(PARTITION p0 VALUES LESS THAN (x1))" "CREATE TABLE t1(a int) PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN(5))" +"insert into t1 values (10)" +"create table t1 (a bigint unsigned) +partition by range (a) +(partition p0 values less than (-1))" +"create table t1 (v varchar(12)) +partition by range (ascii(v)) +(partition p0 values less than (10))" +"create table t1 (a int) +partition by hash (rand(a))",,syntax_error +"create table t1 (a int) +partition by hash(CURTIME() + a)",,syntax_error +"create table t1 (a int) +partition by hash (NOW()+a)",,syntax_error +"create table t1 (a int) +partition by hash (extract(hour from convert_tz(a, '+00:00', '+00:00')))" +"create table t1 (a int) +partition by range (a + (select count(*) from t1)) +(partition p1 values less than (1))",,syntax_error +"create table t1 (a char(10)) +partition by hash (extractvalue(a,'a'))" "CREATE TABLE old (a TIMESTAMP NOT NULL PRIMARY KEY) PARTITION BY RANGE (UNIX_TIMESTAMP(a)) ( PARTITION p VALUES LESS THAN (1219089600), PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (a) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (a) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (a+0) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (a+0) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (a % 2) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (a % 2) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (ABS(a)) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (ABS(a)) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (CEILING(a)) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (CEILING(a)) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (FLOOR(a)) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (FLOOR(a)) ( +PARTITION p VALUES LESS THAN (20080819), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (TO_DAYS(a)) ( +PARTITION p VALUES LESS THAN (733638), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (TO_DAYS(a)) ( +PARTITION p VALUES LESS THAN (733638), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (DAYOFYEAR(a)) ( +PARTITION p VALUES LESS THAN (231), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (DAYOFYEAR(a)) ( +PARTITION p VALUES LESS THAN (231), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (DAYOFMONTH(a)) ( +PARTITION p VALUES LESS THAN (19), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (DAYOFMONTH(a)) ( +PARTITION p VALUES LESS THAN (19), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (DAYOFWEEK(a)) ( +PARTITION p VALUES LESS THAN (3), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (DAYOFWEEK(a)) ( +PARTITION p VALUES LESS THAN (3), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (MONTH(a)) ( +PARTITION p VALUES LESS THAN (8), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (MONTH(a)) ( +PARTITION p VALUES LESS THAN (8), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (HOUR(a)) ( +PARTITION p VALUES LESS THAN (17), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (HOUR(a)) ( +PARTITION p VALUES LESS THAN (17), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (MINUTE(a)) ( +PARTITION p VALUES LESS THAN (55), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (MINUTE(a)) ( +PARTITION p VALUES LESS THAN (55), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (QUARTER(a)) ( +PARTITION p VALUES LESS THAN (3), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (QUARTER(a)) ( +PARTITION p VALUES LESS THAN (3), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (SECOND(a)) ( +PARTITION p VALUES LESS THAN (7), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (SECOND(a)) ( +PARTITION p VALUES LESS THAN (7), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (YEARWEEK(a)) ( +PARTITION p VALUES LESS THAN (200833), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (YEARWEEK(a)) ( +PARTITION p VALUES LESS THAN (200833), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (YEAR(a)) ( +PARTITION p VALUES LESS THAN (2008), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (YEAR(a)) ( +PARTITION p VALUES LESS THAN (2008), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (WEEKDAY(a)) ( +PARTITION p VALUES LESS THAN (3), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (WEEKDAY(a)) ( +PARTITION p VALUES LESS THAN (3), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (TIME_TO_SEC(a)) ( +PARTITION p VALUES LESS THAN (64507), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (TIME_TO_SEC(a)) ( +PARTITION p VALUES LESS THAN (64507), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (EXTRACT(DAY FROM a)) ( +PARTITION p VALUES LESS THAN (18), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (EXTRACT(DAY FROM a)) ( +PARTITION p VALUES LESS THAN (18), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL, b TIMESTAMP NOT NULL, PRIMARY KEY(a,b)) +PARTITION BY RANGE (DATEDIFF(a, a)) ( +PARTITION p VALUES LESS THAN (18), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (DATEDIFF(a, a)) ( +PARTITION p VALUES LESS THAN (18), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (YEAR(a + 0)) ( +PARTITION p VALUES LESS THAN (2008), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (YEAR(a + 0)) ( +PARTITION p VALUES LESS THAN (2008), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (TO_DAYS(a + '2008-01-01')) ( +PARTITION p VALUES LESS THAN (733638), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (TO_DAYS(a + '2008-01-01')) ( +PARTITION p VALUES LESS THAN (733638), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY) +PARTITION BY RANGE (YEAR(a + '2008-01-01')) ( +PARTITION p VALUES LESS THAN (2008), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (YEAR(a + '2008-01-01')) ( +PARTITION p VALUES LESS THAN (2008), +PARTITION pmax VALUES LESS THAN MAXVALUE)" "ALTER TABLE old ADD COLUMN b DATE" +"CREATE TABLE new (a TIMESTAMP, b DATE) +PARTITION BY RANGE (YEAR(a + b)) ( +PARTITION p VALUES LESS THAN (2008), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (YEAR(a + b)) ( +PARTITION p VALUES LESS THAN (2008), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP, b DATE) +PARTITION BY RANGE (TO_DAYS(a + b)) ( +PARTITION p VALUES LESS THAN (733638), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (TO_DAYS(a + b)) ( +PARTITION p VALUES LESS THAN (733638), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP, b date) +PARTITION BY RANGE (UNIX_TIMESTAMP(a + b)) ( +PARTITION p VALUES LESS THAN (1219089600), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"ALTER TABLE old +PARTITION BY RANGE (UNIX_TIMESTAMP(a + b)) ( +PARTITION p VALUES LESS THAN (1219089600), +PARTITION pmax VALUES LESS THAN MAXVALUE)" +"CREATE TABLE new (a TIMESTAMP, b TIMESTAMP) +PARTITION BY RANGE (UNIX_TIMESTAMP(a + b)) ( +PARTITION p VALUES LESS THAN (1219089600), +PARTITION pmax VALUES LESS THAN MAXVALUE)" "ALTER TABLE old MODIFY b TIMESTAMP" "DROP TABLE old" "CREATE TABLE t1 (a TIMESTAMP NOT NULL PRIMARY KEY)" +"ALTER TABLE t1 +PARTITION BY RANGE (EXTRACT(DAY FROM a)) ( +PARTITION p VALUES LESS THAN (18), +PARTITION pmax VALUES LESS THAN MAXVALUE)" "CREATE TABLE t1 (a INT) PARTITION BY LIST (a) SUBPARTITION BY HASH (a) SUBPARTITIONS 2 @@ -66582,12 +75377,40 @@ PARTITION p6 VALUES IN (6,7))" "INSERT INTO t2 VALUES (2),(3),(4),(6)" "ALTER TABLE t1 EXCHANGE PARTITION p1 WITH TABLE t2 WITHOUT VALIDATION" "CALL mtr.add_suppression("" corrupted: row in wrong partition: "")" +"INSERT INTO t1 PARTITION (p1) VALUES (3)" +"UPDATE t1 SET a = 3 WHERE (a % 3) != 0" +"UPDATE t1 PARTITION (p1) SET a = 3 WHERE (a % 3) != 0" +"UPDATE t1 PARTITION (p1) SET a = 5 WHERE (a % 3) = 0" +"UPDATE t1 PARTITION (p1) SET a = 3 WHERE (a % 5) > 3" +"UPDATE t1 PARTITION (p1,p6) SET a = 7 WHERE (a % 7) > 5" +"DELETE FROM t1 PARTITION (p1) WHERE (a % 7) > 2" +"DELETE FROM t1 PARTITION (p1,p6) WHERE (a % 7) > 5" +"DELETE FROM t1 WHERE a > 0" "CREATE TABLE t1(a DATETIME) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a))" "SELECT FROM_DAYS(3652499), FROM_DAYS(3652500), FROM_DAYS(3652501)" "SELECT FROM_DAYS(4294967660), FROM_DAYS(4294967661), FROM_DAYS(4294967663)" "INSERT t1 VALUES(ADDTIME(0,0)), (FROM_DAYS(3652499))" "CREATE TABLE t0(c1 INTEGER)" +"CREATE TABLE t1(c3 INTEGER) +PARTITION BY HASH ((SELECT c1 FROM t0))",,syntax_error +"CREATE TABLE t1(c3 INTEGER) +PARTITION BY HASH ((SELECT c1 FROM t0)) +AS TABLE t0",,syntax_error +"CREATE TABLE t1(c3 INTEGER) +PARTITION BY RANGE ((SELECT c1 FROM t0)) (PARTITION a1 VALUES LESS THAN (1))",,syntax_error +"CREATE TABLE t1(c3 INTEGER) +PARTITION BY RANGE ((SELECT c1 FROM t0)) (PARTITION a1 VALUES LESS THAN (1)) +AS TABLE t0",,syntax_error +"CREATE TABLE t1(c3 INTEGER) +PARTITION BY LIST ((SELECT c1 FROM t0)) (PARTITION p0 VALUES IN (0))",,syntax_error +"CREATE TABLE t1(c3 INTEGER) +PARTITION BY LIST ((SELECT c1 FROM t0)) (PARTITION p0 VALUES IN (0)) +AS TABLE t0",,syntax_error +"CREATE TABLE v0 ( +c1 INT +) +PARTITION BY HASH (DEFAULT(c1))" "SET GLOBAL innodb_default_row_format=compact" "CREATE TABLE t1 ( id int(11) NOT NULL AUTO_INCREMENT, @@ -66659,6 +75482,8 @@ PARTITION p3 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */" "CREATE TABLE temp25058 AS SELECT * FROM t1_1 WHERE 1 <> 1" "SHOW CREATE TABLE temp25058" "SELECT * FROM temp25058" +"ALTER TABLE t1_1 ALGORITHM DEFAULT , LOCK SHARED , +EXCHANGE PARTITION p2 WITH TABLE temp25058" "DROP TABLE temp25058" "DROP TABLE t1_1" "CREATE TABLE t1 (a INT NOT NULL, b TIME NOT NULL DEFAULT '00:00:00') @@ -66671,6 +75496,7 @@ PARTITION BY HASH (a) PARTITIONS 2" ENGINE=InnoDB PARTITION BY LIST (s1) (PARTITION p1 VALUES IN (1,2,3))" +"ALTER TABLE t3 EXCHANGE PARTITION p1 WITH TABLE t1" "DROP TABLE t2, t1, t3" "CREATE TABLE t (a INT, b VARCHAR(55), @@ -66698,6 +75524,16 @@ SUBPARTITION sp3))" "SHOW CREATE TABLE tp" "SELECT * FROM tp" "ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t" +"ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t" +"ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t IGNORE",,syntax_error +"ALTER TABLE tp EXCHANGE PARTITION p0,p1 WITH TABLE t IGNORE",,syntax_error +"ALTER TABLE tp EXCHANGE PARTITION p0,p1 WITH TABLE t",,syntax_error +"ALTER TABLE tp EXCHANGE PARTITION (p0,p1) WITH TABLE t",,syntax_error +"ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE (t,t2)",,syntax_error +"ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t,t2",,syntax_error +"ALTER TABLE tp EXCHANGE PARTITION non_existent WITH TABLE t" +"ALTER TABLE tsp EXCHANGE PARTITION p0 WITH TABLE t" +"ALTER TABLE tsp EXCHANGE PARTITION sp0 WITH TABLE tp" "SHOW CREATE TABLE tsp" "ALTER TABLE tsp EXCHANGE PARTITION sp1 WITH TABLE t" "SELECT * FROM tsp" @@ -66753,18 +75589,33 @@ PARTITION p1 VALUES LESS THAN (MAXVALUE, '9999-12-31 23:59:59'))" (163, ""163""), (164, ""164"")" "SELECT * FROM tp PARTITION (p0)" "SELECT * FROM tp PARTITION (p1)" +"ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t WITH VALIDATION" "ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t WITHOUT VALIDATION" -"ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t" "SELECT * FROM tsp PARTITION (sp3)" "ALTER TABLE tsp EXCHANGE PARTITION sp3 WITH TABLE t WITHOUT VALIDATION" "ALTER TABLE tsp EXCHANGE PARTITION sp3 WITH TABLE t" "call mtr.add_suppression(""row in wrong partition:"")" +"ALTER TABLE tp REBUILD PARTITION p1" +"ALTER TABLE tp REORGANIZE PARTITION p1 INTO +(PARTITION p1 VALUES LESS THAN (162), +PARTITION p2 VALUES LESS THAN MAXVALUE)" "ALTER TABLE tp ANALYZE PARTITION p1" "ALTER TABLE tp OPTIMIZE PARTITION p1" "SELECT * FROM tsp PARTITION (sp2)" "call mtr.add_suppression(""Cannot find index .PRIMARY. in InnoDB index translation table."")" +"ALTER TABLE tsp REBUILD PARTITION p1" +"ALTER TABLE tsp REORGANIZE PARTITION p1 INTO +(PARTITION p1 VALUES LESS THAN (162), +PARTITION p2 VALUES LESS THAN MAXVALUE)" "ALTER TABLE tsp ANALYZE PARTITION sp3" "ALTER TABLE tsp OPTIMIZE PARTITION sp3" +"ALTER TABLE tsp REORGANIZE PARTITION p1 INTO +(PARTITION p01 VALUES LESS THAN (162) +(SUBPARTITION sp01, +SUBPARTITION sp02), +PARTITION p02 VALUES LESS THAN MAXVALUE +(SUBPARTITION sp03, +SUBPARTITION sp04))" "SET GLOBAL innodb_default_row_format=default" "INSERT INTO t1 VALUES (1, ""t1""), (5, ""t1"")" "INSERT INTO t2 VALUES (3, ""p1""), (4, ""p2""), (7, ""p1""), (8, ""p2"")" @@ -66802,6 +75653,7 @@ PARTITION p1 VALUES LESS THAN ('1980-01-01') "INSERT INTO t1 VALUES ('3','1999-10-13 05:28:46'), ('4', '1996-09-26 20:00:00')" "SELECT NAME,ROW_FORMAT FROM INFORMATION_SCHEMA.INNODB_TABLES WHERE NAME LIKE '%t1%' ORDER BY TABLE_ID" +"ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2" "ALTER TABLE t1 EXCHANGE PARTITION p2 WITH TABLE t2" "CREATE TABLE t1 (a INT, b VARCHAR(55), @@ -66820,6 +75672,7 @@ SUBPARTITION sp5))" "INSERT INTO t1(b,a) VALUES('first',40),('second',91),('third',140), ('forth',191)" "CREATE TABLE t2 like t1" +"ALTER TABLE t1 EXCHANGE PARTITION sp2 WITH TABLE t2" "ALTER TABLE t1 EXCHANGE PARTITION sp4 WITH TABLE t2" "SET @@global.innodb_default_row_format=@orig_default_row_format" "CREATE TABLE t (a INT, @@ -66839,6 +75692,7 @@ PARTITION p1 VALUES LESS THAN MAXVALUE)" "ALTER TABLE t ENGINE InnoDB PARTITION BY RANGE (thread_id) (PARTITION p0 VALUES LESS THAN (123456789), PARTITION pMAX VALUES LESS THAN MAXVALUE)" +"ALTER TABLE t EXCHANGE PARTITION p0 WITH TABLE general_log" "ALTER TABLE general_log ENGINE = CSV" "SET @@global.general_log = @old_general_log_state" "create table thread_to_monitor(thread_id int)" @@ -66849,11 +75703,15 @@ WHERE PROCESSLIST_ID=CONNECTION_ID()" ENGINE = InnoDB PARTITION BY HASH (a) PARTITIONS 2" "SELECT a FROM t1 PARTITION (p0)" +"INSERT INTO v1 VALUES (11)" "CREATE VIEW v1 AS SELECT a FROM t1 PARTITION (p0) WITH CHECK OPTION" "INSERT INTO v1 VALUES (20)" +"INSERT INTO v1 VALUES (21)" "CREATE VIEW v1 AS SELECT a FROM t1 PARTITION (p0) WHERE a = 30 WITH CHECK OPTION" "INSERT INTO v1 VALUES (30)" +"INSERT INTO v1 VALUES (31)" +"INSERT INTO v1 VALUES (32)" "SET @old_default_storage_engine = @@default_storage_engine" "SET @@default_storage_engine = 'InnoDB'" "CREATE TABLE t1 @@ -66877,6 +75735,10 @@ SUBPARTITION subp5), PARTITION `p100-99999` VALUES LESS THAN (100000) (SUBPARTITION subp6, SUBPARTITION subp7))" +"SHOW CREATE TABLE t1 PARTITION (subp0)",,syntax_error +"INSERT INTO t1 PARTITION () VALUES (1, ""error"")",,syntax_error +"INSERT INTO t1 PARTITION (pNonExisting) VALUES (1, ""error"")" +"INSERT INTO t1 PARTITION (pNeg, pNonExisting) VALUES (1, ""error"")" "INSERT INTO t1 PARTITION (pNeg, pNeg) VALUES (-1, ""pNeg(-subp1)"")" "INSERT INTO t1 PARTITION (pNeg, subp0) VALUES (-3, ""pNeg(-subp1)"")" "INSERT INTO t1 PARTITION (pNeg, subp0) VALUES (-2, ""(pNeg-)subp0"")" @@ -66884,6 +75746,12 @@ SUBPARTITION subp7))" "INSERT INTO t1 PARTITION(`p10-99`,subp3) VALUES (1, ""subp3""), (10, ""p10-99"")" "INSERT INTO t1 PARTITION(subp3) VALUES (3, ""subp3"")" "INSERT INTO t1 PARTITION(`p0-9`) VALUES (5, ""p0-9:subp3"")" +"INSERT INTO t1 PARTITION (pNeg, pNeg) VALUES (1, ""error"")" +"INSERT INTO t1 PARTITION (pNeg, subp0) VALUES (1, ""error"")" +"INSERT INTO t1 PARTITION (`p100-99999`) VALUES (1, ""error""), (10, ""error"")" +"INSERT INTO t1 VALUES (1000000, ""error""), (9999999, ""error"")" +"INSERT INTO t1 PARTITION (`p100-99999`) VALUES (1000000, ""error""), (9999999, ""error"")" +"INSERT INTO t1 PARTITION (pNeg, subp4) VALUES (-7, ""pNeg(-subp1)""), (-10, ""pNeg(-subp0)""), (-1, ""pNeg(-subp1)""), (-99, ""pNeg(-subp1)"")" "SET @save_innodb_stats_on_metadata=@@global.innodb_stats_on_metadata" "SET @@global.innodb_stats_on_metadata=ON" "SELECT PARTITION_NAME, SUBPARTITION_NAME, TABLE_ROWS @@ -66891,6 +75759,7 @@ FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 't1' ORDER BY SUBPARTITION_NAME" "SET @@global.innodb_stats_on_metadata=@save_innodb_stats_on_metadata" +"SELECT * FROM t1 PARTITION (pNonexistent)" "SELECT * FROM t1 PARTITION (subp2)" "SELECT * FROM t1 PARTITION (subp2,pNeg) AS TableAlias" "LOCK TABLE t1 READ, t1 as TableAlias READ" @@ -66898,14 +75767,18 @@ AND TABLE_NAME = 't1' ORDER BY SUBPARTITION_NAME" "SELECT COUNT(*) FROM t1 PARTITION (`p10-99`)" "SELECT * FROM t1 WHERE a = 1000000" "SELECT * FROM t1 PARTITION (pNeg) WHERE a = 100" +"EXPLAIN SELECT * FROM t1 PARTITION (pNonexistent)" "EXPLAIN SELECT * FROM t1 PARTITION (subp2)" "EXPLAIN SELECT * FROM t1 PARTITION (subp2,pNeg) AS tablealias" "EXPLAIN SELECT * FROM t1 PARTITION (subp3) AS tablealias" "EXPLAIN SELECT COUNT(*) FROM t1 PARTITION (`p10-99`)" "EXPLAIN SELECT * FROM t1 WHERE a = 1000000" "EXPLAIN SELECT * FROM t1 PARTITION (pNeg) WHERE a = 100" +"SELECT * FROM t1 PARTITION",,syntax_error "SELECT * FROM t1 `PARTITION`" +"SELECT * FROM t1 AS PARTITION",,syntax_error "SELECT * FROM t1 AS `PARTITION`" +"REPLACE INTO t1 PARTITION (subp0) VALUES (-21, 'Should fail!')" "REPLACE INTO t1 PARTITION (subp1) VALUES (-21, 'Insert by REPLACE')" "SELECT * FROM t1 PARTITION (pNeg)" "REPLACE INTO t1 PARTITION (subp1) VALUES (-21, 'REPLACEd by REPLACE')" @@ -66915,6 +75788,7 @@ AND TABLE_NAME = 't1' ORDER BY SUBPARTITION_NAME" "SELECT * FROM t1 PARTITION (pNeg, `p10-99`)" "SELECT * FROM t1 PARTITION (pNeg, `p10-99`) INTO OUTFILE 'loadtest.txt'" "ALTER TABLE t1 TRUNCATE PARTITION pNeg, `p10-99`" +"LOAD DATA INFILE 'loadtest.txt' INTO TABLE t1 PARTITION (pNeg)" "LOAD DATA INFILE 'loadtest.txt' INTO TABLE t1 PARTITION (pNeg, subp4, subp5)" "LOAD DATA INFILE 'loadtest.txt' INTO TABLE t1 PARTITION (pNeg, `p10-99`) CHARACTER SET latin1" "UPDATE t1 PARTITION(subp0) SET b = concat(b, ', Updated')" @@ -66931,6 +75805,10 @@ WHERE a = -2" WHERE a = 100" "EXPLAIN UPDATE t1 PARTITION(subp0) SET a = -2, b = concat(b, ', Updated from a = 100') WHERE a = 100" +"UPDATE t1 PARTITION(`p100-99999`) SET a = -2, b = concat(b, ', Updated from a = 100') +WHERE a = 100" +"UPDATE t1 PARTITION(`p100-99999`, pNeg) SET a = -4, b = concat(b, ', Updated from a = 100') +WHERE a = 100" "UPDATE t1 PARTITION(`p100-99999`, pNeg) SET a = -222, b = concat(b, ', Updated from a = 100') WHERE a = 100" "UPDATE t1 SET b = concat(b, ', Updated2') WHERE a = 1000000" @@ -66944,6 +75822,7 @@ WHERE a = 100" "DELETE FROM t1 PARTITION (`p0-9`) WHERE b = 'p0-9:subp3'" "INSERT INTO t2 PARTITION (`p10-99`, subp3, `p100-99999`) SELECT * FROM t1 PARTITION (subp3, `p10-99`, `p100-99999`)" "ALTER TABLE t2 TRUNCATE PARTITION `p10-99`, `p0-9`, `p100-99999`" +"INSERT INTO t2 PARTITION (subp3) SELECT * FROM t1 PARTITION (subp3, `p10-99`, `p100-99999`)" "INSERT IGNORE INTO t2 PARTITION (subp3) SELECT * FROM t1 PARTITION (subp3, `p10-99`, `p100-99999`)" "INSERT INTO t2 SELECT * FROM t1 PARTITION (subp3, `p10-99`, `p100-99999`)" "CREATE TABLE t3 SELECT * FROM t1 PARTITION (pNeg,subp3,`p100-99999`)" @@ -66952,12 +75831,16 @@ FROM performance_schema.status_by_thread WHERE VARIABLE_NAME IN ('Handler_read_first', 'Handler_read_next', 'Handler_write') AND VARIABLE_VALUE > 0 AND THREAD_ID IN (SELECT thread_id from test.thread_to_monitor)" +"DELETE t1 PARTITION (pNeg), t3 FROM t1, t3 +WHERE t1.a = t3.a AND t3.b = 'subp3'",,syntax_error "DELETE t1, t2 FROM t1 PARTITION (pNeg), t3, t2 PARTITION (subp3) WHERE t1.a = t3.a AND t3.b = 'subp3' AND t3.a = t2.a" "DELETE FROM t2, t3 USING t2, t3, t1 WHERE 0" "DELETE FROM t2, t3 USING t2 PARTITION (`p0-9`), t3, t1 PARTITION (subp3) WHERE t1.a = t3.a AND t3.b = 'subp3' AND t2.a = t1.a" +"TRUNCATE TABLE t1 PARTITION(`p10-99`)",,syntax_error "ALTER TABLE t1 TRUNCATE PARTITION pNeg" +"SELECT * FROM t3 PARTITION (pNeg)" "CREATE TABLE `t1` ( `id` int(11) default NULL ) DEFAULT CHARSET=latin1 @@ -66973,6 +75856,7 @@ PARTITION p3 VALUES LESS THAN (21))" "SELECT * FROM t1 PARTITION (p2)" "SELECT * FROM t1 PARTITION (p3)" "SELECT * FROM t1 PARTITION (p3) WHERE id = 2" +"SELECT * FROM t1 PARTITION (foo)" "CREATE TABLE `t2` ( `id` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) @@ -66990,6 +75874,7 @@ PARTITION p3 VALUES LESS THAN (21))" "SELECT * FROM t2 PARTITION (p3)" "SELECT * FROM t2 PARTITION (p3) ORDER BY id" "SELECT * FROM t2 PARTITION (p3) WHERE id = 2" +"SELECT * FROM t2 PARTITION (foo)" "CREATE TABLE `t3` ( `id` int(32) default NULL, `name` varchar(32) default NULL @@ -67103,7 +75988,9 @@ SUBPARTITION subp14))" "SELECT * FROM t1 PARTITION (`p0-29`)" "ALTER TABLE t1 PARTITION BY HASH (a) PARTITIONS 3" "DELETE FROM t1 PARTITION (p2)" +"SELECT * FROM t1 PARTITION(pNonexisting)" "CREATE TABLE t1 (a INT) PARTITION BY HASH (a) PARTITIONS 3" +"CREATE TABLE t2 LIKE t1 PARTITION (p0, p2)",,syntax_error "DROP TABLE test.thread_to_monitor" "SET @@default_storage_engine = @old_default_storage_engine" "drop schema if exists mysqltest_1" @@ -67112,11 +75999,13 @@ SUBPARTITION subp14))" "revoke all privileges on *.* from mysqltest_1@localhost" "grant select,alter on mysqltest_1.* to mysqltest_1@localhost" "show grants for current_user" -"grant drop on mysqltest_1.* to mysqltest_1@localhost" "alter table t1 drop partition p2" +"grant drop on mysqltest_1.* to mysqltest_1@localhost" "revoke alter on mysqltest_1.* from mysqltest_1@localhost" +"alter table t1 drop partition p3" "revoke select,drop on mysqltest_1.* from mysqltest_1@localhost" "grant alter on mysqltest_1.* to mysqltest_1@localhost" +"alter table t1 partition by list (s1) (partition p1 values in (2))" "grant select, alter on mysqltest_1.* to mysqltest_1@localhost" "drop schema mysqltest_1" "CREATE TABLE t1 ( @@ -67362,6 +76251,14 @@ b VARCHAR(200), c TEXT) ENGINE=InnoDB PARTITION BY HASH(a) PARTITIONS 1" +"CREATE FULLTEXT INDEX msg ON t1 (b, c)" +"CREATE TABLE t1 +(a INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, +b VARCHAR(200), +c TEXT, +FULLTEXT (b, c)) +ENGINE=InnoDB +PARTITION BY HASH(a) PARTITIONS 1" "CREATE TABLE t1 ( i INT ) @@ -67458,6 +76355,7 @@ PARTITION p3 VALUES LESS THAN MAXVALUE "UPDATE t1 SET name = 'Mattias' WHERE id = 7" "SELECT * FROM t1 WHERE id = 7" "SET lock_wait_timeout = 1" +"ALTER TABLE t1 DROP PARTITION p3" "CREATE TABLE t1 (a INT NOT NULL) ENGINE = InnoDB PARTITION BY RANGE(a) @@ -67470,6 +76368,8 @@ PARTITION p90 VALUES LESS THAN (90))" "INSERT INTO t1 VALUES (70)" "INSERT INTO t1 VALUES (80)" "INSERT INTO t1 VALUES (89)" +"INSERT INTO t1 VALUES (90)" +"insert INTO t1 VALUES (110)" "EXPLAIN SELECT * FROM t1 WHERE a > 90" "EXPLAIN SELECT * FROM t1 WHERE a >= 90" "EXPLAIN SELECT * FROM t1 WHERE a = 90" @@ -67490,6 +76390,7 @@ PRIMARY KEY (id), KEY parent_id (parent_id) ) ENGINE=InnoDB" "ALTER TABLE t1 PARTITION BY HASH (id) PARTITIONS 1" +"ALTER TABLE t1 ADD CONSTRAINT test_ibfk_1 FOREIGN KEY (parent_id) REFERENCES t2 (id)" "ALTER TABLE t1 PARTITION BY HASH (id) PARTITIONS 2" "create table t1 (a varchar(5), b int signed, c varchar(10), d datetime) partition by range columns(b,c) @@ -67579,9 +76480,13 @@ partition p1 values less than (2007))" "explain select * from t1 where a between '2006-01-01' and '2007-06-01'" "create table t1 (a int) +engine = x +partition by key (a)" +"create table t1 (a int) engine = innodb partition by list (a) (partition p0 values in (0))" +"alter table t1 engine = x" "create table t1 ( id int unsigned auto_increment, @@ -67646,9 +76551,9 @@ ENGINE=INNODB PARTITION BY LINEAR HASH (a) PARTITIONS 1" "CREATE TABLE t1 (a bigint not null, b int not null, PRIMARY KEY (a)) ENGINE = InnoDB PARTITION BY KEY(a) PARTITIONS 2" "INSERT INTO t1 values (0,1), (1,2)" +"ALTER TABLE t1 ADD UNIQUE KEY (b)" "CREATE TABLE t1 (a int, PRIMARY KEY (a)) ENGINE=InnoDB PARTITION BY HASH (a) PARTITIONS 2" -"ALTER TABLE t1 IMPORT TABLESPACE" "CREATE TABLE t1 (a INT, b INT, @@ -67656,6 +76561,7 @@ PRIMARY KEY (a)) ENGINE = InnoDB PARTITION BY HASH (a) PARTITIONS 3" "ALTER TABLE t1 ADD INDEX idx1 (b)" +"SELECT b FROM t1 WHERE b = 0" "CREATE TABLE t1 (a INT, b INT, @@ -67668,6 +76574,7 @@ f2 INT(11) NOT NULL ENGINE=InnoDB PARTITION BY KEY (f1,f2) PARTITIONS 2" "INSERT INTO t1 VALUES (9585,5)" +"ALTER TABLE t1 CHANGE f1 f1 INT AFTER f2, ALGORITHM=INPLACE" "CREATE TABLE t2 ( f1 INT(11) NOT NULL, f2 INT(11) NOT NULL, @@ -67678,9 +76585,11 @@ ENGINE=InnoDB PARTITION BY KEY (f2,f3) PARTITIONS 2" "INSERT INTO t2 VALUES (10,9585,5,20)" "ALTER TABLE t2 CHANGE f3 f3 INT AFTER f4, ALGORITHM=INPLACE" +"ALTER TABLE t2 CHANGE f3 f3 INT AFTER f1, ALGORITHM=INPLACE" "ALTER TABLE t2 CHANGE f4 f4 INT AFTER f3, ALGORITHM=INPLACE" "ALTER TABLE t2 CHANGE f1 f1 INT AFTER f4, ALGORITHM=INPLACE" "ALTER TABLE t2 CHANGE f1 f1 INT AFTER f2, ALGORITHM=INPLACE" +"ALTER TABLE t2 CHANGE f2 f2 INT AFTER f4, ALGORITHM=INPLACE" "CREATE TABLE t3 (f1 INT,f2 INT) ENGINE=INNODB PARTITION BY RANGE(f1) ( PARTITION p0 VALUES LESS THAN (100), @@ -67700,7 +76609,6 @@ ENGINE=InnoDB PARTITION BY HASH (MOD(f1,f2)) PARTITIONS 2" "INSERT INTO t4 VALUES (9585,5)" "ALTER TABLE t4 CHANGE f1 f1 INT AFTER f2, ALGORITHM=INPLACE" -"CHECK TABLE t4" "CREATE TABLE t5 ( f1 INT, f2 INT @@ -67712,7 +76620,6 @@ PARTITION p1 VALUES LESS THAN (MAXVALUE, MAXVALUE) )" "INSERT INTO t5 VALUES (1,20000)" "ALTER TABLE t5 CHANGE f1 f1 INT AFTER f2, ALGORITHM=INPLACE" -"CHECK TABLE t5" "CREATE TABLE t6 ( a INT, b INT @@ -67725,6 +76632,7 @@ PARTITION p0 VALUES LESS THAN (10000,12), PARTITION p1 VALUES LESS THAN (MAXVALUE, MAXVALUE) )" "INSERT INTO t6 VALUES (9585,5)" +"ALTER TABLE t6 CHANGE a a INT AFTER b, ALGORITHM=INPLACE" "CREATE TABLE t7 ( f1 INT(11) NOT NULL, f2 INT(11) NOT NULL, @@ -67739,6 +76647,7 @@ PARTITION BY KEY (f1,f5) PARTITIONS 2" "ALTER TABLE t7 CHANGE f5 f5 INT AFTER f3, ALGORITHM=INPLACE" "CHECK TABLE t7" "ALTER TABLE t7 CHANGE f5 f5 INT AFTER f2, ALGORITHM=INPLACE" +"ALTER TABLE t7 CHANGE f1 f1 INT AFTER f4, ALGORITHM=INPLACE" "CREATE TABLE t1 (a int, b int, primary key (a), key (b)) ENGINE = InnoDB PARTITION BY HASH (a) PARTITIONS 3" @@ -67786,8 +76695,8 @@ AND TABLE_NAME='t1' OR FALSE" "call mtr.add_suppression(""Missing .ibd file for table"")" "CREATE TABLE t1(c1 INT,c2 CHAR (1),c3 DATE) ENGINE=InnoDB PARTITION BY HASH (TO_DAYS(c3)) PARTITIONS 12" -"ALTER TABLE t1 ADD INDEX(c1)" "ALTER TABLE t1 DISCARD PARTITION p2 TABLESPACE" +"SELECT COUNT(*)FROM t1,t1 AS b WHERE t1.c1=''AND t1.c2=b.c1" "CREATE TABLE t2 (c1 int,c2 CHAR (1),c3 date,key(c1)) ENGINE=InnoDB PARTITION BY RANGE (TO_DAYS(c3)) ( @@ -67796,6 +76705,7 @@ PARTITION p1 VALUES LESS THAN (TO_DAYS('1989-01-01')), PARTITION p2 VALUES LESS THAN (TO_DAYS('1999-01-01')) )" "ALTER TABLE t2 DISCARD PARTITION p2 TABLESPACE" +"SELECT COUNT(*)FROM t2,t2 AS b WHERE t2.c1=''AND t2.c2=b.c1" "CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, PRIMARY KEY(a,b)) PARTITION BY RANGE (a)(PARTITION x1 VALUES LESS THAN (1))" "SELECT * FROM t1 WHERE (a = 1 and b = 1 and c = 'b') OR (a > 2) ORDER BY a DESC" "CREATE TABLE t(id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, dttm DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, msg @@ -67910,6 +76820,7 @@ PRIMARY KEY (id,time) PARTITION p20 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */" "INSERT INTO t1 (time,id2) VALUES ('2011-07-24',1)" "INSERT INTO t1 (time,id2) VALUES ('2011-07-25',1)" +"CREATE UNIQUE INDEX uk_time_id2 on t1(time,id2)" "call mtr.add_suppression(""\\[ERROR\\] .*MY-\\d+.* Table `test`.`t1` .* Partition.* InnoDB internal"")" "CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, @@ -67918,6 +76829,7 @@ user_num CHAR(10) KEY_BLOCK_SIZE=4 PARTITION BY HASH(id) PARTITIONS 1" "SET GLOBAL innodb_file_per_table = OFF" +"ALTER TABLE t1 ADD PARTITION PARTITIONS 1" "SET innodb_strict_mode = OFF" "ALTER TABLE t1 REBUILD PARTITION p0" "SET GLOBAL innodb_file_per_table = default" @@ -67931,13 +76843,17 @@ PARTITION BY RANGE(a) PARTITION p1 VALUES LESS THAN MAXVALUE)" "set autocommit=0" "select * from t1 where a=3 lock in share mode" -"set session transaction isolation level read committed" "update t1 set a=10 where a=5" +"set session transaction isolation level read committed" +"select * from t1 where a=2 for update" "select * from t1 where a=2 limit 1 for update" "update t1 set a=11 where a=6" +"update t1 set a=12 where a=2" +"update t1 set a=13 where a=1" "update t1 set a=14 where a=1" "SET SESSION AUTOCOMMIT = 0" "UPDATE t1 SET b = 12 WHERE a = 1" +"UPDATE t1 SET b = 21 WHERE a = 1" "INSERT INTO t1 VALUES (1,'init')" "CREATE PROCEDURE p1() BEGIN @@ -67999,6 +76915,9 @@ PARTITION BY LIST(a) "ALTER TABLE t1 PARTITION BY LIST COLUMNS (a) (PARTITION p1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20))" +"ALTER TABLE t1 ADD PARTITION +(PARTITION p2 VALUES IN ((71),(72),(73),(74),(75),(76),(77),(78),(79),(80), +(81),(82),(83),(84),(85),(86),(87),(88),(89),(90)))",,syntax_error "CREATE TABLE t1 (a INT, b CHAR(2)) @@ -68021,7 +76940,21 @@ PARTITION BY LIST COLUMNS (a, b) (2, ""ad""), (2, ""ae""), (2, ""af""), (2, ""ag""), (2, ""ah""), (2, ""ai""), (2, ""aj""), (2, ""ak""), (2, ""al"")))" "ALTER TABLE t1 ADD PARTITION +(PARTITION p3_a VALUES IN ((1 + 1 + 1), ""a0""))",,syntax_error +"ALTER TABLE t1 ADD PARTITION +(PARTITION p3_a VALUES IN (1 + 1 + 1, ""a0""))" +"ALTER TABLE t1 ADD PARTITION +(PARTITION p3_a VALUES IN ((3, ""a1"", 0), (3, ""a2"", 0)))" +"ALTER TABLE t1 ADD PARTITION (PARTITION p3_a VALUES IN ((1 + 1 + 1, ""a0"")))" +"ALTER TABLE t1 ADD PARTITION +(PARTITION part_2 VALUES IN ((21 ,22, 23, 24, 25, 26, 27, 28, 29, 30, +31 ,32, 33, 34, 35, 36, 37, 38, 39, 40), +(41 ,42, 43, 44, 45, 46, 47, 48, 49, 50, +51 ,52, 53, 54, 55, 56, 57, 58, 59, 60)))",,syntax_error +"ALTER TABLE t1 ADD PARTITION +(PARTITION part_2 VALUES IN (21 ,22, 23, 24, 25, 26, 27, 28, 29, 30, +31 ,32, 33, 34, 35, 36, 37, 38, 39, 40))" "create table t1 (a int unsigned) partition by list (a) (partition p0 values in (0), @@ -68059,11 +76992,14 @@ partitions 2 (partition x123 values in (1,5,6), partition x234 values in (4,7,8))" "INSERT into t1 VALUES (1,1,1)" +"INSERT into t1 VALUES (2,1,1)" +"INSERT into t1 VALUES (3,1,1)" "INSERT into t1 VALUES (4,1,1)" "INSERT into t1 VALUES (5,1,1)" "INSERT into t1 VALUES (6,1,1)" "INSERT into t1 VALUES (7,1,1)" "INSERT into t1 VALUES (8,1,1)" +"INSERT into t1 VALUES (9,1,1)" "INSERT into t1 VALUES (1,2,1)" "INSERT into t1 VALUES (1,3,1)" "INSERT into t1 VALUES (1,4,1)" @@ -68084,6 +77020,7 @@ partitions 2 (partition x123 values in (1,5,6), partition x234 values in (4,7,8))" "INSERT into t1 VALUES (6,2,1)" +"INSERT into t1 VALUES (2,2,1)" "CREATE TABLE t1 ( a int not null, b int not null, @@ -68120,16 +77057,23 @@ auto_increment=100 partition by list (a) (partition p0 values in (1, 100))" "create index inx on t1 (a)" +"create table t1 (a char(1)) +partition by list (ascii(ucase(a))) +(partition p1 values in (2))" "SET innodb_strict_mode=OFF" +"INSERT INTO t1 VALUES(1,'abc','1994-01-01')" "INSERT INTO t1 VALUES(2,'abc','1995-01-01')" "INSERT INTO t1 VALUES(3,'abc','1996-01-01')" "INSERT INTO t1 VALUES(4,'abc','1997-01-01')" +"INSERT INTO t1 VALUES(5,'abc','1998-01-01')" "INSERT INTO t1 VALUES(6,'abc','1999-01-01')" "INSERT INTO t1 VALUES(7,'abc','2000-01-01')" "INSERT INTO t1 VALUES(8,'abc','2001-01-01')" +"INSERT INTO t1 VALUES(9,'abc','2002-01-01')" "INSERT INTO t1 VALUES(10,'abc','2003-01-01')" "INSERT INTO t1 VALUES(11,'abc','2004-01-01')" "INSERT INTO t1 VALUES(12,'abc','2005-01-01')" +"INSERT INTO t1 VALUES(13,'abc','2006-01-01')" "CREATE TABLE t1 (c1 varbinary(64) NOT NULL) PARTITION BY LIST COLUMNS (c1) (PARTITION custom_p1 VALUES IN (0x98000))" "SELECT TABLE_NAME, PARTITION_DESCRIPTION FROM information_schema.partitions WHERE table_name = 't1'" "CREATE TABLE t2 (c1 varbinary(64) NOT NULL) PARTITION BY LIST COLUMNS (c1) (PARTITION custom_p1 VALUES IN (0x24212b2b))" @@ -68173,6 +77117,7 @@ PARTITION BY HASH (a) PARTITIONS 13" ENGINE = InnoDB PARTITION BY HASH (a) PARTITIONS 13" "INSERT INTO t1 VALUES (1, 'First row, p1')" +"INSERT INTO t1 VALUES (1, 'First row, duplicate')" "INSERT INTO t1 VALUES (0, 'First row, p0'), (2, 'First row, p2'), (3, 'First row, p3'), (4, 'First row, p4')" "INSERT INTO t1 VALUES (1 * 13, 'Second row, p0'), (2 * 13, 'Third row, p0'), @@ -68239,6 +77184,7 @@ PARTITION `p11-100` VALUES LESS THAN (99, MAXVALUE))" "SELECT d, c FROM t3 PARTITION(`p11-100sp1`)" "SELECT d, c FROM t3 PARTITION(`p11-100sp2`)" "SELECT d, c FROM t3 PARTITION(`p11-100sp3`)" +"LOCK TABLES t3 PARTITION (`p11-100sp0`) WRITE",,syntax_error "LOCK TABLES t3 WRITE" "DELETE FROM t3 WHERE a = 10 AND b = ""Default"" AND c = ""Default"" AND d = 9" @@ -68310,10 +77256,15 @@ ON DUPLICATE KEY UPDATE a = a + 13, b = CONCAT(b, "", INSERT_DUP_KEY_UPDATE"")" "INSERT INTO t1 VALUES (78, ""No duplicate"") ON DUPLICATE KEY UPDATE a = a + 13, b = CONCAT(b, "", INSERT_DUP_KEY_UPDATE third"")" +"INSERT INTO t1 VALUES (78, ""No duplicate"") +ON DUPLICATE KEY UPDATE a = a + 13, +b = CONCAT(b, "", INSERT_DUP_KEY_UPDATE fail?"")" "INSERT INTO t1 VALUES (104, ""No duplicate"") ON DUPLICATE KEY UPDATE a = a + 1" "INSERT INTO t1 VALUES (104, ""No duplicate 104"") ON DUPLICATE KEY UPDATE a = a + 1" +"INSERT INTO t1 VALUES (104, ""No duplicate 104 + 1"") +ON DUPLICATE KEY UPDATE a = a + 1" "REPLACE INTO t1 VALUES (5, ""REPLACE first"")" "REPLACE INTO t1 VALUES (5, ""REPLACE second"")" "SELECT * FROM t1 WHERE a IN (0, 1, 4, 13, 26) ORDER BY a" @@ -68325,7 +77276,6 @@ ON DUPLICATE KEY UPDATE a = a + 1" "EXPLAIN SELECT * FROM t1 WHERE a IN (13, 26, 39, 52)" "EXPLAIN SELECT * FROM t1 WHERE a = 3" "EXPLAIN SELECT * FROM t1 WHERE b LIKE 'First%' ORDER BY a" -"CREATE TABLE t3 (a INT)" "SELECT * FROM t1 WHERE a = (SELECT a FROM t3)" "SELECT t1.a FROM t1 INNER JOIN t3 ON t1.a = t3.a" "EXPLAIN SELECT t1.a, t1.b FROM t1 INNER JOIN t3 ON t1.a = t3.a" @@ -68382,9 +77332,11 @@ WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 'v1_%'" "INSERT INTO v1_all VALUES (23, ""Insert in v1_all"")" "SHOW CREATE VIEW v1_25" "INSERT INTO v1_25 VALUES (18, ""Insert in v1_25"")" +"INSERT INTO v1_25 VALUES (17, ""Insert in v1_25 fail"")" "INSERT IGNORE INTO v1_25 VALUES (17, ""Insert ignore in v1_25"")" "SHOW CREATE VIEW v1_25_check" "INSERT INTO v1_25_check VALUES (31, ""Insert in v1_25_check"")" +"INSERT INTO v1_25_check VALUES (30, ""Insert in v1_25_check fail"")" "INSERT IGNORE INTO v1_25_check VALUES (30, ""Insert ignore in v1_25_check"")" "SHOW CREATE VIEW v1_9" "INSERT INTO v1_9 VALUES (9, ""Insert in v1_9"")" @@ -68394,6 +77346,7 @@ WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 'v1_%'" "DELETE FROM v1_9_check WHERE a = 8" "EXPLAIN DELETE FROM v1_9_check WHERE a = 8" "EXPLAIN SELECT * FROM v1_9_check WHERE a = 8" +"INSERT INTO v1_9_check VALUES (10, ""Insert in v1_9_check fail"")" "SELECT * FROM t1 WHERE a = 9" "DELETE FROM v1_9_check WHERE a = 9" "INSERT INTO v1_9_check VALUES (9, ""Insert in v1_9_check"")" @@ -68436,6 +77389,7 @@ SELECT * FROM test.t1 WHERE a between x and y" "SHOW CREATE PROCEDURE sp_select_range" "CALL sp_insert(313,""Test313"")" "CALL sp_insert_partition(""p7"", 98, ""Test98"")" +"CALL sp_insert_partition(""p8"", 111, ""Test111"")" "CALL sp_insert_partition(""p7,p8"", 111, ""Test111"")" "CALL sp_select_all()" "CALL sp_select_exact(98)" @@ -68654,6 +77608,7 @@ WHERE t1.a = t2.a and t2.a = 3" "CREATE TABLE t1 (a INT, b VARCHAR(66)) PARTITION BY HASH (a) PARTITIONS 3" "INSERT INTO t1 VALUES (1, ""One""), (2, ""Two""), (3, ""Three""), (4, ""Four""), (5, ""Five""), (6, ""Six""), (0, ""Zero"")" +"DO (SELECT a FROM t1)" "DO (SELECT @x:= b FROM t1 WHERE a = 5)" "SELECT @x" "DO (SELECT @x:= b FROM t1 WHERE a = 5 or a = 1 ORDER BY b LIMIT 1)" @@ -68680,6 +77635,7 @@ PARTITION BY HASH (N) PARTITIONS 3" "CREATE TABLE t1 (a INT, b VARCHAR(64))" "CREATE TABLE t2 (a INT, b VARCHAR(64)) PARTITION BY HASH (a) PARTITIONS 3" "INSERT INTO t1 VALUES (1, ""test 1"")" +"INSERT INTO t2 VALUES (SELECT * FROM t1)",,syntax_error "INSERT INTO t2 VALUES ((SELECT a FROM t1), (SELECT b FROM t1))" "INSERT INTO t2 VALUES (1 + (SELECT a FROM t1), CONCAT(""subq: "", (SELECT b FROM t1)))" @@ -68804,7 +77760,6 @@ PARTITIONS 1" "INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11)" "INSERT INTO t1 VALUES (12), (13), (14), (15), (16), (17), (18), (19), (20)" "ALTER TABLE t1 REORGANIZE PARTITION p0 INTO (PARTITION pHidden)" -"ALTER TABLE t1 ADD PARTITION PARTITIONS 1" "ALTER TABLE t1 ADD PARTITION (PARTITION pNamed1)" "ALTER TABLE t1 ADD PARTITION @@ -68819,6 +77774,9 @@ partition by range (a) subpartition by key (a) (partition p0 values less than (10) (subpartition sp00, subpartition sp01), partition p1 values less than (20) (subpartition sp10, subpartition sp11))" +"alter table t1 reorganize partition p0 into +(partition p0 values less than (10) (subpartition sp00, +subpartition sp01, subpartition sp02))" "CREATE TABLE t1 (f_date DATE, f_varchar VARCHAR(30)) PARTITION BY HASH(YEAR(f_date)) PARTITIONS 2" "create table t1 (a int) @@ -68841,27 +77799,63 @@ PARTITIONS 5 */" /*!50100 PARTITION BY HASH (a) PARTITIONS 5 */" "CREATE TABLE t1 (a INT) /*!50100 PARTITION BY HASH (a) PARTITIONS 5 */" +"ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO +(PARTITION x01 VALUES LESS THAN (2), +PARTITION x11 VALUES LESS THAN (5))" +"ALTER TABLE t1 DROP PARTITION x0, x1, x2, x3, x3" +"ALTER TABLE t1 DROP PARTITION x0, x1, x2, x10" +"ALTER TABLE t1 DROP PARTITION x10, x1, x2, x1" +"ALTER TABLE t1 DROP PARTITION x10, x1, x2, x3" +"ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 INTO +(PARTITION x11 VALUES LESS THAN (22))" +"ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO +(PARTITION x3 VALUES LESS THAN (6))" +"ALTER TABLE t1 REORGANIZE PARTITION x0, x2 INTO +(PARTITION x11 VALUES LESS THAN (2))" +"ALTER TABLE t1 REORGANIZE PARTITION x0, x1, x1 INTO +(PARTITION x11 VALUES LESS THAN (4))" +"ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO +(PARTITION x01 VALUES LESS THAN (5))" +"ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO +(PARTITION x01 VALUES LESS THAN (4), +PARTITION x11 VALUES LESS THAN (2))" +"ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO +(PARTITION x01 VALUES LESS THAN (6), +PARTITION x11 VALUES LESS THAN (4))" "CREATE TABLE t1 (a int) PARTITION BY KEY (a) PARTITIONS 2" +"ALTER TABLE t1 ADD PARTITION (PARTITION p1)" +"CREATE TABLE t1 (a int) +PARTITION BY KEY (a) +(PARTITION x0, PARTITION x1, PARTITION x2, PARTITION x3, PARTITION x3)" "CREATE TABLE t1 (a int) PARTITION BY RANGE (a) SUBPARTITION BY KEY (a) SUBPARTITIONS 2 (PARTITION x0 VALUES LESS THAN (4), PARTITION x1 VALUES LESS THAN (8))" +"ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES LESS THAN (5) +(SUBPARTITION sp0, SUBPARTITION sp1))" +"ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES LESS THAN (12) +(SUBPARTITION sp0, SUBPARTITION sp1, SUBPARTITION sp2))" "CREATE TABLE t1 (a int) PARTITION BY LIST (a) (PARTITION x0 VALUES IN (1,2,3), PARTITION x1 VALUES IN (4,5,6))" +"ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES IN (3,4))" +"ALTER TABLE t1 DROP PARTITION x1" "CREATE TABLE t1 (a int) PARTITION BY KEY (a) (PARTITION x0, PARTITION x1)" +"ALTER TABLE t1 ADD PARTITION PARTITIONS 0" +"ALTER TABLE t1 ADD PARTITION PARTITIONS 8192" +"ALTER TABLE t1 DROP PARTITION x0" "CREATE TABLE t1 (a int) PARTITION BY RANGE (a) (PARTITION x0 VALUES LESS THAN (4), PARTITION x1 VALUES LESS THAN (8))" -"ALTER TABLE t1 DROP PARTITION x1" +"ALTER TABLE t1 DROP PARTITION x2" "CREATE TABLE t1 ( id INT NOT NULL, fname VARCHAR(50) NOT NULL, lname VARCHAR(50) NOT NULL, @@ -68876,6 +77870,12 @@ PARTITION p5 VALUES LESS THAN (2010), PARTITION p6 VALUES LESS THAN MAXVALUE)" "ALTER TABLE t1 PARTITION BY KEY(a) PARTITIONS 2" "ALTER TABLE t1 ADD PARTITION PARTITIONS 4" +"CREATE TABLE t1 (s1 int, s2 int) +PARTITION BY LIST (s1) +SUBPARTITION BY KEY (s2) ( +PARTITION p1 VALUES IN (0) (SUBPARTITION p1b), +PARTITION p2 VALUES IN (2) (SUBPARTITION p1b) +)" "create procedure `p1`() begin declare `c` cursor for select 1 ; @@ -68884,22 +77884,56 @@ alter table t1 check partition a; open `c`; end " "TRUNCATE TABLE general_log" +"ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time)) +(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000))" "SET GLOBAL general_log = @old_general_log_state" +"CREATE TABLE t1 (a INT) +PARTITION BY HASH (a) +( PARTITION p0 ENGINE=MyISAM, +PARTITION p1)" +"CREATE TABLE t1 (a INT) +PARTITION BY LIST (a) +SUBPARTITION BY HASH (a) +( PARTITION p0 VALUES IN (0) +( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2), +PARTITION p1 VALUES IN (1) +( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM))" "CREATE TABLE `t1`(`a` INT)ENGINE=myisam" "ALTER TABLE `t1` ADD COLUMN `b` INT" "CREATE UNIQUE INDEX `i1` ON `t1`(`b`)" "CREATE UNIQUE INDEX `i2` ON `t1`(`a`)" "ALTER TABLE `t1` ADD PRIMARY KEY (`a`)" +"ALTER TABLE `t1` REMOVE PARTITIONING" "CHECK TABLE `t1` EXTENDED" -"CREATE TABLE t1 (i INTEGER NOT NULL) -ENGINE InnoDB" "ALTER TABLE t1 PARTITION BY HASH (i) PARTITIONS 2" +"ALTER TABLE t1 +PARTITION BY RANGE (i) SUBPARTITION BY HASH (i) +(PARTITION p0 VALUES LESS THAN (50) +(SUBPARTITION s0, +SUBPARTITION s1), +PARTITION p1 VALUES LESS THAN (100) +(SUBPARTITION s2, +SUBPARTITION s3))" +"CREATE TABLE t1 (i INTEGER NOT NULL) +ENGINE InnoDB" "CALL mtr.add_suppression(""\\[ERROR\\].* Operating system error number"")" "CALL mtr.add_suppression(""\\[ERROR\\].* The error means mysqld does not have the access"")" "CALL mtr.add_suppression(""\\[ERROR\\].* Cannot create a tablespace for table .* because the directory is not a valid location. The DATA DIRECTORY location must be in a known directory"")" "CALL mtr.add_suppression(""\\[ERROR\\].* Error number 30 means 'Read-only file system'"")" "CALL mtr.add_suppression(""\\[ERROR\\].* 'mkdir' returned OS error 130"")" +"CREATE TABLE `example` ( +`ID_EXAMPLE` int unsigned NOT NULL AUTO_INCREMENT, +`DESCRIPTION` varchar(30) NOT NULL, +`LEVEL` smallint unsigned DEFAULT NULL, +PRIMARY KEY (`ID_EXAMPLE`) +) +PARTITION BY HASH(ID_EXAMPLE)( +PARTITION p0 DATA DIRECTORY = '/not/existent/p0Data', +PARTITION p1 DATA DIRECTORY = '/not/existent/p1Data', +PARTITION p2 DATA DIRECTORY = '/not/existent/p2Data', +PARTITION p3 DATA DIRECTORY = '/not/existent/p3Data' +)" "CREATE DATABASE MC5NOGLQ9OFY7YM76Z1T758ZTPTJ6IPLVSLDHMSEXT63MLVHCPEW4DNU2OPQDRRE" "USE MC5NOGLQ9OFY7YM76Z1T758ZTPTJ6IPLVSLDHMSEXT63MLVHCPEW4DNU2OPQDRRE" @@ -70099,6 +79133,10 @@ PARTITION BY HASH (a) PARTITIONS 1" partition by range (TO_DAYS(a)) subpartition by hash(to_seconds(a)) (partition p0 values less than (1))" +"create table t1 (a int) +partition by range (a) +( partition p0 values less than (NULL), +partition p1 values less than (MAXVALUE))" "create table t1 (a datetime not null) partition by range (TO_SECONDS(a)) ( partition p0 VALUES LESS THAN (TO_SECONDS('2007-03-08 00:00:00')), @@ -70127,11 +79165,18 @@ partition p1 values less than (to_seconds('2005-01-01 12:00:00')))" "explain select * from t1 where a <= '2004-01-01 11:59.59'" "select * from t1 where a <= '2004-01-01 11:59:59'" "create table t1 (a int, b char(20)) +partition by range columns(a,b) +(partition p0 values less than (1))",,syntax_error +"create table t1 (a int, b char(20)) +partition by range(a) +(partition p0 values less than (1,""b""))" +"create table t1 (a int, b char(20)) partition by range columns(b) (partition p0 values less than (""b""))" "create table t1 (a int) partition by range (a) ( partition p0 values less than (maxvalue))" +"alter table t1 add partition (partition p1 values less than (100000))" "create table t1 (a integer) partition by range (a) ( partition p0 values less than (4), @@ -70314,6 +79359,10 @@ PARTITION p11 VALUES LESS THAN MAXVALUE )" "SELECT COUNT(*) FROM t1 WHERE c3 < '2000-12-31'" "create table t1 (a bigint unsigned) partition by range (a) +(partition p0 values less than (10), +partition p1 values less than (0))" +"create table t1 (a bigint unsigned) +partition by range (a) (partition p0 values less than (0), partition p1 values less than (10))" "create table t1 (a bigint unsigned) @@ -70328,7 +79377,6 @@ subpartitions 2 partition p1 values less than (2), partition p2 values less than (3), partition p3 values less than (4))" -"ALTER TABLE t1 DROP PARTITION p3" "ALTER TABLE t1 DROP PARTITION p2" "create table t1 (a int DEFAULT NULL, b varchar(30) DEFAULT NULL, @@ -70564,12 +79612,14 @@ PARTITION BY HASH(i)" "SET AUTOCOMMIT = 0" "SELECT * FROM tbl_with_partitions" "set session debug=""+d,abort_copy_table""" +"ALTER TABLE tbl_with_partitions ADD COLUMN f INT, ALGORITHM=COPY" "DROP TABLE tbl_with_partitions" "drop table if exists t1, t2, t3, t4" "create table t1 (a int) partition by list (a) (partition p1 values in (0))" "alter table t1 truncate partition p1,p1" +"alter table t1 truncate partition p0" "create table t1 (a int) partition by list (a) subpartition by hash (a) @@ -70590,6 +79640,9 @@ partition by list columns (a) "create table t1 (a varchar(2) character set cp1250) partition by list columns (a) ( partition p0 values in (0x80))" +"create table t1 (a varchar(1500), b varchar(1570)) +partition by list columns(a,b) +( partition p0 values in (('a','b')))" "create table t1 (a varchar(1023) character set utf8mb3 COLLATE utf8mb3_spanish2_ci) partition by range columns(a) ( partition p0 values less than ('CZ'), @@ -70647,7 +79700,6 @@ partition p1 values in (''))" "SET PERSIST default_table_encryption= true" "SET PERSIST table_encryption_privilege_check= true" "SELECT @@global.long_query_time" -"SELECT @@global.sql_require_primary_key" "SELECT @@global.default_table_encryption" "SELECT @@global.table_encryption_privilege_check" "SET PERSIST sort_buffer_size=156000,max_connections= 52" @@ -70687,7 +79739,13 @@ partition p1 values in (''))" "RESET PERSIST session_track_system_variables" "SET PERSIST concurrent_insert=ALWAYS" "SET PERSIST concurrent_insert=AUTO" +"SET @@persist.sql_log_bin=0" "SELECT @@global.persisted_globals_load" +"SET PERSIST persisted_globals_load=0" +"SET GLOBAL persisted_globals_load=ON" +"SET SESSION persisted_globals_load=1" +"SET GLOBAL persisted_globals_load= 'abc'" +"SET GLOBAL persisted_globals_load= -1" "SELECT @@global.foreign_key_checks" "SET PERSIST foreign_key_checks=0" "SET PERSIST flush_time=2" @@ -70714,6 +79772,8 @@ partition p1 values in (''))" "UNINSTALL COMPONENT ""file://component_test_sys_var_service""" "call mtr.add_suppression(""Currently unknown variable 'test_component.str_sys_var' was read from the persisted config file"")" "RESET PERSIST test_component.str_sys_var" +"SET PERSIST event_scheduler=DISABLED" +"SET PERSIST_ONLY event_scheduler=123.456" "SET PERSIST_ONLY event_scheduler=DISABLED" "RESET PERSIST event_scheduler" "CREATE DATABASE bug27374791" @@ -70783,7 +79843,8 @@ WHERE variable_name IN ('max_join_size', 'init_connect')" "USE bug27903874" "SET @@autocommit=FALSE" "CREATE TABLE t(a CHAR (1))ENGINE=InnoDB" -"RESET REPLICA" +"RESET PERSIST size" +"SELECT JSON_OBJECTAGG(id,x) FROM t" "DROP DATABASE bug27903874" "SELECT @@global.innodb_tmpdir" "SET PERSIST innodb_tmpdir = default" @@ -70792,10 +79853,10 @@ WHERE variable_name IN ('max_join_size', 'init_connect')" "SELECT variable_name FROM performance_schema.variables_info WHERE variable_source='PERSISTED'" "SELECT @@global.innodb_tmpdir, @@global.innodb_ft_user_stopword_table" "SET PERSIST_ONLY ft_query_expansion_limit=80, innodb_api_enable_mdl=1" +"RESET PERSIST ft_query_expansion_limit" "REVOKE SUPER ON *.* FROM u1" "GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO u1" "REVOKE SYSTEM_VARIABLES_ADMIN ON *.* FROM u1" -"RESET PERSIST ft_query_expansion_limit" "SELECT * FROM performance_schema.persisted_variables" "SET GLOBAL sort_buffer_size = default, max_connections = default, replica_net_timeout = default, max_heap_table_size = default" @@ -70837,6 +79898,8 @@ WHERE variable_name LIKE 'skip_%_start' ORDER BY 1" "RESET PERSIST test_component.bool_ro_sys_var" "RESET PERSIST replica_preserve_commit_order" "SET GLOBAL replica_preserve_commit_order = DEFAULT" +"SET PERSIST_ONLY report_host = NULL" +"SET PERSIST_ONLY report_host = DEFAULT" "SET PERSIST ssl_crl = NULL" "RESET PERSIST ssl_crl" "SET GLOBAL ssl_crl = DEFAULT" @@ -70854,10 +79917,13 @@ WHERE variable_name LIKE 'skip_%_start' ORDER BY 1" "SELECT @@max_connections, @@max_heap_table_size, @@replica_net_timeout" "SET @@debug='-d,crash_after_open_persist_file'" "SET @@debug='+d,crash_after_write_persist_file'" +"SET PERSIST replica_net_timeout=160" "SET @@debug='-d,crash_after_write_persist_file'" "SET @@debug='+d,crash_after_close_persist_file'" +"SET PERSIST replica_net_timeout=124" "SET @@debug='-d,crash_after_close_persist_file'" "SET @@debug='+d,crash_after_rename_persist_file'" +"SET PERSIST replica_net_timeout=360" "SET @@debug='-d,crash_after_rename_persist_file'" "SET GLOBAL max_connections = default, replica_net_timeout = default, max_heap_table_size = default" "CALL mtr.add_suppression(""Failed to set up SSL because of the following *"")" @@ -70865,6 +79931,11 @@ WHERE variable_name LIKE 'skip_%_start' ORDER BY 1" "SET PERSIST auto_increment_increment=10" "SET @@persist.event_scheduler=0" "SET PERSIST replica_compressed_protocol=1" +"SET GLOBAL PERSIST replica_compressed_protocol=1",,syntax_error +"SET PERSIST @@global.replica_compressed_protocol=1",,syntax_error +"SET PERSIST @@session.replica_compressed_protocol=1",,syntax_error +"SET @@persist.@@replica_compressed_protocol=1",,syntax_error +"SET SESSION auto_increment_increment=3" "SELECT VARIABLE_NAME, VARIABLE_SOURCE FROM performance_schema.variables_info WHERE VARIABLE_NAME = 'auto_increment_increment'" @@ -70872,8 +79943,9 @@ WHERE VARIABLE_NAME = 'auto_increment_increment'" PERSIST innodb_default_row_format=COMPACT, PERSIST sql_mode=ANSI_QUOTES,PERSIST innodb_fast_shutdown=0" "SET PERSIST innodb_flush_log_at_trx_commit=0,join_buffer_size=262144" +"SET PERSIST innodb_thread_concurrency=32, PERSIST innodb_write_io_threads=32, +PERSIST innodb_read_io_threads=invalid_val" "SELECT @@global.innodb_fast_shutdown" -"SELECT @@global.innodb_default_row_format" "SELECT @@global.innodb_flush_log_at_trx_commit" "SELECT @@global.join_buffer_size" "SELECT @@global.innodb_checksum_algorithm" @@ -71036,20 +80108,24 @@ replica_net_timeout=DEFAULT, long_query_time=DEFAULT" VARIABLE_NAME IN ('enforce_gtid_consistency', 'gtid_mode')" "RESET PERSIST gtid_mode" "RESET PERSIST enforce_gtid_consistency" -"CREATE TABLE t1(a int) ENGINE=EXAMPLE" +"CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=EXAMPLE" +"CREATE TABLE t1 (a int, KEY (a)) ENGINE=EXAMPLE" "UPDATE t1 SET a = 1 WHERE a = 0" "DELETE FROM t1 WHERE a = 0" "set global example_ulong_var=500" "set global example_enum_var= e1" "select * from performance_schema.global_status where variable_name like 'example%' order by variable_name" "show variables like 'example%'" +"UNINSTALL PLUGIN non_exist" "SET GLOBAL example_enum_var= e1" "SET GLOBAL example_enum_var= e2" +"SET GLOBAL example_enum_var= impossible" "select @@session.sql_mode into @old_sql_mode" "select @@global.example_ulong_var" "set global example_ulong_var=1111" "set session sql_mode='STRICT_ALL_TABLES'" "set session sql_mode=@old_sql_mode" +"set session core_file=bla" "SET GLOBAL example_double_var = -0.1" "SELECT @@GLOBAL.example_double_var" "SET GLOBAL example_double_var = 0.000001" @@ -71066,6 +80142,7 @@ VARIABLE_NAME IN ('enforce_gtid_consistency', 'gtid_mode')" "SET SESSION example_double_thdvar = 500" "SET SESSION example_double_thdvar = 999.999999" "SET SESSION example_double_thdvar = 1000.51" +"UNINSTALL PLUGIN innodb" "SET SESSION example_create_count_thdvar = 0" "SET SESSION example_last_create_thdvar = ''" "CREATE TABLE t10(a INT) ENGINE=EXAMPLE" @@ -71110,6 +80187,7 @@ VARIABLE_NAME IN ('enforce_gtid_consistency', 'gtid_mode')" "SET GLOBAL example_signed_long_var = 100" "SET GLOBAL example_signed_long_var = 9223372036854775807" "SELECT @@GLOBAL.example_signed_long_var IN (2147483647, 9223372036854775807)" +"SET GLOBAL example_signed_long_var = -9223372036854775809" "SET GLOBAL example_signed_long_var = 9223372036854775808" "SHOW SESSION VARIABLES LIKE 'example_signed_long_thdvar'" "SELECT @@SESSION.example_signed_long_thdvar" @@ -71120,6 +80198,7 @@ VARIABLE_NAME IN ('enforce_gtid_consistency', 'gtid_mode')" "SET SESSION example_signed_long_thdvar = 100" "SET SESSION example_signed_long_thdvar = 9223372036854775807" "SELECT @@SESSION.example_signed_long_thdvar IN (2147483647, 9223372036854775807)" +"SET SESSION example_signed_long_thdvar = -9223372036854775809" "SET SESSION example_signed_long_thdvar = 9223372036854775808" "SHOW VARIABLES LIKE 'example_signed_longlong_var'" "SELECT @@GLOBAL.example_signed_longlong_var" @@ -71128,6 +80207,7 @@ VARIABLE_NAME IN ('enforce_gtid_consistency', 'gtid_mode')" "SET GLOBAL example_signed_longlong_var = 0" "SET GLOBAL example_signed_longlong_var = 100" "SET GLOBAL example_signed_longlong_var = 9223372036854775807" +"SET GLOBAL example_signed_longlong_var = -9223372036854775809" "SET GLOBAL example_signed_longlong_var = 9223372036854775808" "SHOW SESSION VARIABLES LIKE 'example_signed_longlong_thdvar'" "SELECT @@SESSION.example_signed_longlong_thdvar" @@ -71136,6 +80216,7 @@ VARIABLE_NAME IN ('enforce_gtid_consistency', 'gtid_mode')" "SET SESSION example_signed_longlong_thdvar = 0" "SET SESSION example_signed_longlong_thdvar = 100" "SET SESSION example_signed_longlong_thdvar = 9223372036854775807" +"SET SESSION example_signed_longlong_thdvar = -9223372036854775809" "SET SESSION example_signed_longlong_thdvar = 9223372036854775808" "CALL mtr.add_suppression(""Plugin test_plugin_server reported: 'Wrong password supplied for plug_dest'"")" "CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'" @@ -71145,10 +80226,17 @@ VARIABLE_NAME IN ('enforce_gtid_consistency', 'gtid_mode')" "SELECT * FROM mysql.proxies_priv WHERE user !='root'" "SHOW CREATE TABLE mysql.proxies_priv" "select USER(),CURRENT_USER()" +"SET PASSWORD = 'plug_dest'" "CREATE USER `Ÿ` IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'" "GRANT PROXY ON plug_dest TO `Ÿ`" "DROP USER `Ÿ`" "CREATE DATABASE test_grant_db" +"REVOKE SELECT on test_grant_db.* FROM joro +INDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'",,syntax_error +"REVOKE SELECT on test_grant_db.* FROM joro +INDENTIFIED BY 'plug_dest_passwd'",,syntax_error +"REVOKE SELECT on test_grant_db.* FROM joro +INDENTIFIED BY PASSWORD 'plug_dest_passwd'",,syntax_error "DROP DATABASE test_grant_db" "SELECT @@global.check_proxy_users" "SELECT @@global.mysql_native_password_proxy_users" @@ -71162,11 +80250,17 @@ AS 'grant_plug_dest'" "CREATE USER grant_plug_dest2 IDENTIFIED BY 'grant_plug_dest_passwd2'" "GRANT ALL PRIVILEGES ON *.* TO grant_plug" "REVOKE SYSTEM_USER ON *.* FROM grant_plug" -"GRANT PROXY ON grant_plug_dest TO grant_plug" +"GRANT ALL PRIVILEGES,PROXY ON grant_plug_dest TO grant_plug",,syntax_error +"GRANT ALL SELECT,PROXY ON grant_plug_dest TO grant_plug",,syntax_error "REVOKE PROXY ON grant_plug_dest FROM grant_plug" +"GRANT PROXY ON ''@'' TO grant_plug" +"GRANT PROXY ON grant_plug TO grant_plug_dest" +"GRANT PROXY ON grant_plug_dest TO grant_plug" "GRANT PROXY ON grant_plug_dest TO grant_plug_dest2" "REVOKE PROXY ON grant_plug_dest FROM grant_plug_dest2" -"GRANT PROXY ON ''@'' TO grant_plug" +"GRANT PROXY ON grant_plug_dest@localhost TO grant_plug WITH GRANT OPTION" +"REVOKE PROXY ON grant_plug_dest@localhost FROM grant_plug" +"GRANT PROXY ON grant_plug_dest TO grant_plug@localhost" "REVOKE PROXY ON ''@'' FROM grant_plug" "CREATE USER proxy_admin IDENTIFIED BY 'test'" "GRANT PROXY ON ''@'' TO proxy_admin WITH GRANT OPTION" @@ -71183,12 +80277,18 @@ AS 'grant_plug_dest'" "DROP USER plug" "DROP USER plug_dest" "SELECT USER(),CURRENT_USER(),@@LOCAL.proxy_user" +"SELECT @@GLOBAL.proxy_user" "SELECT @@LOCAL.proxy_user" +"SET GLOBAL proxy_user = 'test'" +"SET LOCAL proxy_user = 'test'" "SET @@global.check_proxy_users=0" "SET @@global.mysql_native_password_proxy_users=0" "SET @@global.sha256_password_proxy_users=0" "SELECT USER(),CURRENT_USER(),@@LOCAL.external_user" +"SELECT @@GLOBAL.external_user" "SELECT @@LOCAL.external_user" +"SET GLOBAL external_user = 'test'" +"SET LOCAL external_user = 'test'" "SELECT argument FROM mysql.general_log WHERE argument LIKE CONCAT('CREATE USER %') AND command_type NOT LIKE 'Prepare'" "SET GLOBAL log_output= @old_log_output" @@ -71273,6 +80373,7 @@ IDENTIFIED WITH 'test_plugin_server' AS 'bug12818542_dest'" IDENTIFIED BY 'bug12818542_dest_passwd'" "GRANT PROXY ON bug12818542_dest@localhost TO bug12818542@localhost" "SELECT USER(),CURRENT_USER()" +"SET PASSWORD = 'bruhaha'" "DROP USER bug12818542@localhost" "DROP USER bug12818542_dest@localhost" "CREATE USER 'empl_external'@'localhost' IDENTIFIED WITH test_plugin_server AS 'employee'" @@ -71341,6 +80442,23 @@ User='mohit' AND Host='localhost'" "REVOKE ALL PRIVILEGES ON test_user_db.* FROM plug" "CREATE USER plug IDENTIFIED WITH 'test_plugin_server'" "CREATE USER plug IDENTIFIED WITH test_plugin_server AS ''" +"CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS ",,syntax_error +"CREATE USER plug IDENTIFIED WITH test_plugin_server AS plug_dest",,syntax_error +"CREATE USER plug IDENTIFIED WITH AS plug_dest",,syntax_error +"CREATE USER plug IDENTIFIED WITH",,syntax_error +"CREATE USER plug IDENTIFIED AS ''",,syntax_error +"CREATE USER plug IDENTIFIED WITH 'test_plugin_server' IDENTIFIED WITH 'test_plugin_server'",,syntax_error +"CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS '' AS 'plug_dest'",,syntax_error +"CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS '' +IDENTIFIED WITH test_plugin_server AS 'plug_dest'",,syntax_error +"CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd' +IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'",,syntax_error +"CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest' +USER plug_dest IDENTIFIED by 'plug_dest_pwd'",,syntax_error +"CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest' +plug_dest IDENTIFIED by 'plug_dest_pwd'",,syntax_error +"CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest' +IDENTIFIED by 'plug_dest_pwd'",,syntax_error "DROP USER plug, plug_dest" "CREATE USER plug IDENTIFIED WITH test_plugin_server AS 'plug_dest'" "CREATE USER plug_dest IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'" @@ -71353,16 +80471,22 @@ User='mohit' AND Host='localhost'" "DROP USER 'plüg'" "CREATE USER 'plüg_dest' IDENTIFIED BY 'plug_dest_passwd'" "DROP USER 'plüg_dest'" +"CREATE USER 'plüg' IDENTIFIED WITH 'test_plügin_server' AS 'plüg_dest'" "CREATE USER 'plug' IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest'" "DROP USER 'plug'" "CREATE USER 'plüg_dest' IDENTIFIED BY 'plug_dest_passwd'" "DROP USER 'plüg_dest'" +"CREATE USER plüg IDENTIFIED WITH 'test_pluggggin_server' AS 'plüg_dest'" "CREATE USER plüg IDENTIFIED WITH test_plugin_server AS 'plüg_dest'" "SET @auth_name= 'test_plugin_server'" +"CREATE USER plug IDENTIFIED WITH @auth_name AS 'plug_dest'",,syntax_error "SET @auth_string= 'plug_dest'" +"CREATE USER plug IDENTIFIED WITH test_plugin_server AS @auth_string",,syntax_error +"CREATE USER plug IDENTIFIED WITH 'hh''s_test_plugin_server' AS 'plug_dest'" "CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'hh''s_plug_dest'" "CREATE USER 'hh''s_plug_dest' IDENTIFIED BY 'plug_dest_passwd'" "DROP USER 'hh''s_plug_dest'" +"CREATE USER plug IDENTIFIED WITH hh''s_test_plugin_server AS 'plug_dest'",,syntax_error "DROP DATABASE test_user_db" "CALL mtr.add_suppression(""The plugin 'new_plugin_server' used to authenticate user 'new_user'@'%' is not loaded. Nobody can currently login using this account."")" "CREATE USER plug_user @@ -71582,6 +80706,7 @@ b int "show profile cpu, block io for query 15" "show profile cpu for query 9 limit 2 offset 2" "show profile cpu for query 10 limit 0" +"show profile cpu for query 65534" "show profile memory" "show profile block io" "show profile context switches" @@ -71651,6 +80776,10 @@ b char(10) )" "set @a=2" "prepare stmt1 from 'select * from t1 where a <= ?'" +"deallocate prepare no_such_statement" +"prepare stmt2 from 'prepare nested_stmt from ""select 1""'" +"prepare stmt2 from 'execute stmt1'" +"prepare stmt2 from 'deallocate prepare z'" "prepare stmt3 from 'insert into t1 values (?,?)'" "set @arg1=5, @arg2='five'" "execute stmt3 using @arg1, @arg2" @@ -71670,6 +80799,9 @@ b char(10) "execute stmt5 using @nullvar" "set @nullvar2=NULL" "execute stmt5 using @nullvar2" +"prepare stmt6 from 'select 1; select2'" +"prepare stmt6 from 'insert into t1 values (5,""five""); select2'" +"explain prepare stmt6 from 'insert into t1 values (5,""five""); select2'",,syntax_error "create table t2 ( a int @@ -71678,7 +80810,10 @@ a int "set @arg00=NULL " "prepare stmt1 from 'select 1 FROM t2 where a=?' " "execute stmt1 using @arg00 " +"prepare stmt1 from @nosuchvar" +"prepare stmt1 from @ivar" "set @fvar= 123.4567" +"prepare stmt1 from @fvar" "deallocate prepare stmt3" "deallocate prepare stmt4" "deallocate prepare stmt5" @@ -71730,6 +80865,7 @@ PRIMARY KEY (id), UNIQUE KEY `name` (`name`))" "prepare STMT1 from 'select 2'" "execute sTmT1" "deallocate prepare StMt1" +"deallocate prepare Stmt1" "prepare `ü` from 'select 1234'" "execute `ü` " "execute `ü`" @@ -71793,6 +80929,7 @@ cast(rand(?)*@precision as unsigned integer) from t1""" "prepare stmt from ""delete t1 from t1 where (cast(a1/3 as unsigned) * 3) = a1""" "create table t1 (a varchar(20))" "prepare stmt FROM 'SELECT char_length (a) FROM t1'" +"prepare stmt2 FROM 'SELECT not_a_function (a) FROM t1'" "prepare stmt from ""SELECT SQL_CALC_FOUND_ROWS 'foo' UNION SELECT 'bar' LIMIT 0""" "SELECT FOUND_ROWS()" "create table t1 (c1 int(11) not null, c2 int(11) not null, @@ -71895,6 +81032,13 @@ having count(pp.id) = 0'" "set @a='CHRISTINE '" "set @b='CHRISTINE'" "set @a=1, @b=2" +"prepare stmt from ""select ??""" +"prepare stmt from ""select ?FROM t1""" +"prepare stmt from ""select FROM t1 WHERE?=1""" +"prepare stmt from ""update t1 set a=a+?WHERE 1""" +"select ?",,syntax_error +"select ??",,syntax_error +"select ? from t1",,syntax_error "prepare stmt from ""select @@time_zone""" "set @@time_zone:='Japan'" "prepare stmt from ""select @@transaction_isolation""" @@ -71937,12 +81081,17 @@ formatted varchar(20) not null default '' "set global max_prepared_stmt_count=-1" "set global max_prepared_stmt_count=10000000000000000" "set global max_prepared_stmt_count=default" +"set @@max_prepared_stmt_count=1" +"set max_prepared_stmt_count=1" +"set local max_prepared_stmt_count=1" "set global max_prepared_stmt_count=1" "set global max_prepared_stmt_count=0" "prepare stmt from ""select 1""" +"prepare stmt1 from ""select 1""" "prepare stmt from ""select 2""" "set global max_prepared_stmt_count=3" "prepare stmt1 from ""select 3""" +"prepare stmt2 from ""select 4""" "set global max_prepared_stmt_count= @old_max_prepared_stmt_count" "CREATE TABLE t1( ID int(10) unsigned NOT NULL auto_increment, @@ -72043,6 +81192,7 @@ end" "select * from t1 limit 3, 2" "prepare stmt from ""select * from t1 limit ?""" "execute stmt using @limit" +"prepare stmt from ""select * from t1 where a in (select a from t1 limit ?)""" "prepare stmt from ""select * from t1 union all select * from t1 limit ?, ?""" "set @offset=9" "set @limit=2" @@ -72138,6 +81288,8 @@ WHERE t1.i = ?""" "set @@character_set_server= @old_character_set_server" "create table t1 (id int primary key auto_increment, value varchar(10))" "insert into t1 (id, value) values (1, 'FIRST'), (2, 'SECOND'), (3, 'THIRD')" +"prepare stmt from ""insert into t1 (id, value) select * from (select 4 as i, 'FOURTH' as v) as y on duplicate key update v = 'DUP'""" +"prepare stmt from ""insert into t1 (id, value) select * from (select 4 as id, 'FOURTH' as value) as y on duplicate key update y.value = 'DUP'""" "prepare stmt from ""create table t1 select ?""" "set @a=1.0" "create table t1 (a bigint unsigned, b bigint(20) unsigned)" @@ -72159,6 +81311,7 @@ WHERE t1.i = ?""" "prepare stmt from ""create view v1 as select 1, 1""" "prepare stmt from ""create view v1 (x) as select a from t1 where a > 1""" "prepare stmt from ""create view v1 as select * from `t1` `b`""" +"prepare stmt from ""create view v1 (a,b,c) as select * from t1""" "create temporary table t1 (a int, b int)" "prepare stmt from ""select ?""" "set @arg= 123456789.987654321" @@ -72178,7 +81331,9 @@ WHERE t1.i = ?""" "PREPARE stmt FROM ""SELECT 1 FROM t1 JOIN t1 t2 USING(a) GROUP BY t2.a, t1.a""" "create procedure proc_1() reset binary logs and gtids" +"create function func_1() returns int begin reset binary logs and gtids; return 1; end" "create function func_1() returns int begin call proc_1(); return 1; end" +"select func_1(), func_1(), func_1() from dual" "drop function func_1" "drop procedure proc_1" "prepare abc from ""reset binary logs and gtids""" @@ -72186,51 +81341,70 @@ WHERE t1.i = ?""" "deallocate prepare abc" "create procedure proc_1() RESET REPLICA" "call proc_1()" +"create function func_1() returns int begin RESET REPLICA; return 1; end" "prepare abc from ""RESET REPLICA""" "create procedure proc_1(a integer) kill a" +"call proc_1(0)" "create function func_1() returns int begin kill 0; return 1; end" +"select func_1() from dual" "prepare abc from ""kill 0""" "prepare abc from ""TRUNCATE TABLE performance_schema.host_cache""" "create procedure proc_1() flush privileges" +"create function func_1() returns int begin flush privileges; return 1; end" "prepare abc from ""flush privileges""" "create procedure proc_1() flush tables with read lock" +"create function func_1() returns int begin flush tables with read lock; return 1; end" "prepare abc from ""flush tables with read lock""" "create procedure proc_1() flush tables" +"create function func_1() returns int begin flush tables; return 1; end" "prepare abc from ""flush tables""" "show open tables from mysql" "select Host, User from mysql.user limit 0" "select Host, Db from mysql.db limit 0" "create procedure proc_1() flush logs" +"create function func_1() returns int begin flush logs; return 1; end" "prepare abc from ""flush logs""" "create procedure proc_1() flush status" +"create function func_1() returns int begin flush status; return 1; end" "prepare abc from ""flush status""" "create procedure proc_1() flush user_resources" +"create function func_1() returns int begin flush user_resources; return 1; end" "prepare abc from ""flush user_resources""" "create procedure proc_1() START REPLICA" +"create function func_1() returns int begin START REPLICA; return 1; end" "prepare abc from ""START REPLICA""" "create procedure proc_1() STOP REPLICA" +"create function func_1() returns int begin STOP REPLICA; return 1; end" "prepare abc from ""STOP REPLICA""" "create procedure proc_1() show binlog events" +"create function func_1() returns int begin show binlog events; return 1; end" "prepare abc from ""show binlog events""" "create procedure proc_1() SHOW REPLICA STATUS" +"create function func_1() returns int begin SHOW REPLICA STATUS; return 1; end" "prepare abc from ""SHOW REPLICA STATUS""" "create procedure proc_1() show binary log status" +"create function func_1() returns int begin show binary log status; return 1; end" "prepare abc from ""show binary log status""" "create procedure proc_1() show binary logs" +"create function func_1() returns int begin show binary logs; return 1; end" "prepare abc from ""show binary logs""" "create procedure proc_1() show events" +"create function func_1() returns int begin show events; return 1; end" "prepare abc from ""show events""" "create procedure a() select 42" "create procedure proc_1(a char(2)) show create procedure a" "call proc_1(""bb"")" +"create function func_1() returns int begin show create procedure a; return 1; end" "prepare abc from ""show create procedure a""" "drop procedure a" "create function a() returns int return 42+13" "create procedure proc_1(a char(2)) show create function a" +"create function func_1() returns int begin show create function a; return 1; end" "prepare abc from ""show create function a""" "drop function a" "create table tab1(a int, b char(1), primary key(a,b))" "create procedure proc_1() show create table tab1" +"create function func_1() returns int begin show create table tab1; return 1; end" "prepare abc from ""show create table tab1""" "drop table tab1" "create table t1(a int, b char(5))" @@ -72240,26 +81414,38 @@ WHERE t1.i = ?""" union all (select b, count(*) from t1 group by b)" "create procedure proc_1() show create view v1" +"create function func_1() returns int begin show create view v1; return 1; end" "prepare abc from ""show create view v1""" "create procedure proc_1() install plugin my_plug soname 'some_plugin.so'" +"create function func_1() returns int begin install plugin my_plug soname '/tmp/plugin'; return 1; end" "prepare abc from ""install plugin my_plug soname 'some_plugin.so'""" "create procedure proc_1() uninstall plugin my_plug" +"create function func_1() returns int begin uninstall plugin my_plug; return 1; end" "prepare abc from ""uninstall plugin my_plug""" "create procedure proc_1() create database mysqltest_xyz" "drop database if exists mysqltest_xyz" +"create function func_1() returns int begin create database mysqltest_xyz; return 1; end" "prepare abc from ""create database mysqltest_xyz""" "create table t1 (a int, b char(5))" "insert into t1 values (1, ""one""), (2, ""two""), (3, ""three"")" "create procedure proc_1() checksum table xyz" +"create function func_1() returns int begin checksum table t1; return 1; end" "prepare abc from ""checksum table t1""" "create procedure proc_1() create user pstest_xyz@localhost" "drop user pstest_xyz@localhost" +"create function func_1() returns int begin create user pstest_xyz@localhost; return 1; end" "prepare abc from ""create user pstest_xyz@localhost""" +"create function func_1() returns int begin create event xyz on schedule at now() do select 123; return 1; end" +"prepare abc from ""create event xyz on schedule at now() do select 123""" "drop event if exists xyz" "create event xyz on schedule every 5 minute disable do select 123" "create procedure proc_1() alter event xyz comment 'xyz'" "drop event xyz" +"create function func_1() returns int begin alter event xyz comment 'xyz'; return 1; end" +"prepare abc from ""alter event xyz comment 'xyz'""" "create procedure proc_1() drop event xyz" +"create function func_1() returns int begin drop event xyz; return 1; end" +"prepare abc from ""drop event xyz""" "create table t1 (a int, b char(5)) engine=myisam" "SET GLOBAL new_cache.key_buffer_size=128*1024" "create procedure proc_1() cache index t1 in new_cache" @@ -72268,9 +81454,14 @@ union all "create table t2 (a int, b char(5)) engine=myisam" "insert into t2 values (1, ""one""), (2, ""two""), (3, ""three"")" "create procedure proc_1() load index into cache t1 ignore leaves" +"create function func_1() returns int begin load index into cache t1 ignore leaves; return 1; end" "prepare abc from ""load index into cache t2 ignore leaves""" "create procedure proc_1() show errors" +"create function func_1() returns int begin show errors; return 1; end" +"prepare abc from ""show errors""" "create procedure proc_1() show warnings" +"create function func_1() returns int begin show warnings; return 1; end" +"prepare abc from ""show warnings""" "set @to_format=""123456789.123456789""" "set @dec=0" "prepare stmt2 from 'select format(?, ?)'" @@ -72293,6 +81484,8 @@ from ""create table t1 (c char(100) character set utf8mb3, key (c(10)))""" "insert into t2 select a, max(b) from t1 group by a" "prepare stmt from ""delete from t2 where (select (select max(b) from t1 group by a having a < 2) x from t1) > 10000""" +"delete from t2 where (select (select max(b) from t1 group +by a having a < 2) x from t1) > 10000" "CREATE TABLE t1 (a TIME NOT NULL, b TINYINT)" "INSERT IGNORE INTO t1 VALUES (0, 0),(0, 0)" "PREPARE stmt FROM ""SELECT 1 FROM t1 WHERE @@ -72487,6 +81680,16 @@ WHERE SQ1_alias2.pk < alias1.col_int_nokey OR alias1.pk FROM ( t1 AS alias1 JOIN t2 AS alias2 ON alias2.pk ) GROUP BY field1 '" +"PREPARE s FROM ""INSERT INTO t1 VALUES(1) ON DUPLICATE KEY UPDATE absent=2""" +"PREPARE s FROM ""INSERT INTO t1 VALUES(1) ON DUPLICATE KEY UPDATE a=absent""" +"PREPARE s FROM ""INSERT INTO t1 SELECT 1 ON DUPLICATE KEY UPDATE absent=2""" +"PREPARE s FROM ""INSERT INTO t1 SELECT 1 ON DUPLICATE KEY UPDATE a=absent""" +"PREPARE s FROM ""INSERT INTO t1(absent) VALUES(1) ON DUPLICATE KEY UPDATE a=1""" +"PREPARE s FROM ""INSERT INTO t1(absent) SELECT 1 ON DUPLICATE KEY UPDATE a=1""" +"PREPARE s FROM ""UPDATE t1 JOIN t2 ON t1.a=t2.b SET t1.a=absent""" +"PREPARE s FROM ""UPDATE t1 JOIN t2 ON t1.a=t2.b SET t1.a=t1.absent""" +"PREPARE s FROM ""UPDATE t1 JOIN t2 ON t1.a=t2.b SET t1.a=t2.absent""" +"PREPARE s FROM ""UPDATE t1 JOIN t2 ON t1.a=t2.b SET t1.a=absent.absent""" "CREATE TABLE bug19894382(f1 CHAR(64) DEFAULT 'slave', f2 TIME, f3 TIMESTAMP NULL, f4 DATETIME, f5 TIME(3), f6 TIMESTAMP(3) NULL, f7 DATETIME(3))" @@ -72497,7 +81700,6 @@ SELECT f2, f3, f4, f5, f6, f7 FROM client_test_db.bug19894382" "DROP TABLE bug19894382" "SET @a=repeat('a', 100000)" "prepare s from ""select length(?)""" -"execute s using @a" "DROP DATABASE client_test_db" "CREATE TABLE t1 (t time DEFAULT NULL)" "INSERT INTO t1 VALUES ('16:07:44')" @@ -72544,6 +81746,22 @@ SELECT f2, f3, f4, f5, f6, f7 FROM client_test_db.bug19894382" "SET @decvalx = ' 777.777 '" "SET @dblvalx = ' 888.888e100 '" "SET @fltvalx = ' 1e38 '" +"INSERT INTO ints VALUES ('')" +"INSERT INTO deci VALUES ('')" +"INSERT INTO dbls VALUES ('')" +"INSERT INTO flts VALUES ('')" +"INSERT INTO ints VALUES (' ')" +"INSERT INTO deci VALUES (' ')" +"INSERT INTO dbls VALUES (' ')" +"INSERT INTO flts VALUES (' ')" +"INSERT INTO ints VALUES (@empty)" +"INSERT INTO deci VALUES (@empty)" +"INSERT INTO dbls VALUES (@empty)" +"INSERT INTO flts VALUES (@empty)" +"INSERT INTO ints VALUES (@spaces)" +"INSERT INTO deci VALUES (@spaces)" +"INSERT INTO dbls VALUES (@spaces)" +"INSERT INTO flts VALUES (@spaces)" "INSERT INTO ints VALUES ('666')" "INSERT INTO deci VALUES ('777.777')" "INSERT INTO dbls VALUES ('888.888e100')" @@ -72564,6 +81782,14 @@ SELECT f2, f3, f4, f5, f6, f7 FROM client_test_db.bug19894382" "PREPARE ps2 FROM 'INSERT INTO deci VALUES (?)'" "PREPARE ps3 FROM 'INSERT INTO dbls VALUES (?)'" "PREPARE ps4 FROM 'INSERT INTO flts VALUES (?)'" +"EXECUTE ps1 USING @empty" +"EXECUTE ps2 USING @empty" +"EXECUTE ps3 USING @empty" +"EXECUTE ps4 USING @empty" +"EXECUTE ps1 USING @spaces" +"EXECUTE ps2 USING @spaces" +"EXECUTE ps3 USING @spaces" +"EXECUTE ps4 USING @spaces" "EXECUTE ps1 USING @intval" "EXECUTE ps1 USING @intvalx" "EXECUTE ps2 USING @decval" @@ -72602,9 +81828,7 @@ SET ut.value = vt.value""" "deallocate prepare ps" "CREATE TABLE t0 (v1 JSON, v2 TINYINT)" "PREPARE ps1 FROM 'DELETE FROM t0 WHERE v2 <> 999;'" -"EXECUTE ps1" "PREPARE ps2 FROM 'UPDATE t0 SET v1 = NULL WHERE v2 <> 999;'" -"EXECUTE ps2" "create table t1 ( id INTEGER AUTO_INCREMENT PRIMARY KEY, emp CHAR(10) NOT NULL, @@ -72749,9 +81973,11 @@ primary key (cold))" "execute stmt2 using @intarg, @UNDEFINED" "set @intarg= 13" "execute stmt1 using @UNDEFINED, @varchararg" +"execute stmt2 using @UNDEFINED, @varchararg" "set @intarg= 14" "set @nullarg= Null" "execute stmt1 using @UNDEFINED, @nullarg" +"execute stmt2 using @nullarg, @varchararg" "PREPARE stmt FROM 'select 1 from `t1` where `a` = any (select (@@tmpdir))'" "INSERT INTO t2 VALUES (400000), (400001)" "SET @@sort_buffer_size=400000" @@ -72767,6 +81993,10 @@ END" "SET @@sort_buffer_size=DEFAULT" "CREATE USER test_user1@'localhost'" "PREPARE stmt FROM ""SET PASSWORD FOR test_user1@'localhost' = 'SoSecret'""" +"SET PASSWORD FOR @'localhost' = 'SoSecret'",,syntax_error +"PREPARE stmt FROM ""SET PASSWORD FOR @'localhost' = 'SoSecret'""" +"SET PASSWORD FOR test_user1@'localhost' = NULL",,syntax_error +"PREPARE stmt FROM ""SET PASSWORD FOR test_user1@'localhost' = NULL""" "PREPARE stmt FROM ""SET PASSWORD FOR test_user2@'localhost' = 'SoSecret'""" "DROP USER test_user1@'localhost'" "create table t6(a decimal(3,2))" @@ -72794,12 +82024,30 @@ WHERE EXISTS (SELECT * FROM mysql.user LIMIT 1)""" "DEALLOCATE PREPARE stmt " "prepare stmt1 from ' select 1 as my_col ' " "prepare stmt1 from ' select ? as my_col ' " +"prepare ",,syntax_error +"prepare stmt1 ",,syntax_error +"prepare stmt1 from ",,syntax_error +"prepare_garbage stmt1 from ' select 1 ' ",,syntax_error +"prepare stmt1 from_garbage ' select 1 ' ",,syntax_error +"prepare stmt1 from ' select_garbage 1 ' " +"prepare from ' select 1 ' ",,syntax_error +"prepare stmt1 ' select 1 ' ",,syntax_error +"prepare ? from ' select ? as my_col ' ",,syntax_error "set @arg00='select 1 as my_col'" "prepare stmt1 from @arg00" "set @arg00=''" "set @arg00=NULL" +"prepare stmt1 from @arg01" "prepare stmt1 from ' select * from t1 where a <= 2 ' " +"prepare stmt1 from ' select * from t1 where x <= 2 ' " +"prepare stmt1 from ' insert into t1(a,x) values(?,?) ' " +"prepare stmt1 from ' insert into t1(x,a) values(?,?) ' " "drop table if exists not_exist " +"prepare stmt1 from ' select * from not_exist where a <= 2 ' " +"prepare stmt1 from ' insert into t1 values(? ' " +"prepare stmt1 from ' select a, b from t1 +where a=? and where ' " +"execute never_prepared " "create table t5 ( a int primary key, @@ -72847,7 +82095,9 @@ f3 int "insert into t5( f1, f2, f3) values( 9, 'recreated table', 9)" "set @arg01='two' " "prepare stmt1 from ' select * from t1 where a <= ? ' " +"execute stmt1 using @arg00, @arg01" "execute stmt1 using @not_set" +"deallocate prepare never_prepared " "create table t5 ( a int primary key, @@ -72882,6 +82132,8 @@ a int primary key, b char(10) "prepare stmt4 from ' show binary log status '" "prepare stmt4 from ' show binary logs '" "prepare stmt4 from ' show replica status '" +"prepare stmt4 from ' show warnings limit 20 '" +"prepare stmt4 from ' show errors limit 20 '" "prepare stmt4 from ' show storage engines '" "drop table if exists t5" "prepare stmt1 from ' drop table if exists t5 ' " @@ -72895,6 +82147,11 @@ a int primary key, b char(10) "prepare stmt_set from ' set @var= (1 in (select a from t5)) ' " "deallocate prepare stmt_do " "deallocate prepare stmt_set " +"prepare stmt1 from ' prepare stmt2 from '' select 1 '' ' " +"prepare stmt1 from ' execute stmt2 ' " +"prepare stmt1 from ' deallocate prepare never_prepared ' " +"prepare stmt1 from 'alter view v1 as select 2'" +"prepare stmt4 from ' use test ' " "prepare stmt3 from ' create database mysqltest '" "create database mysqltest " "prepare stmt3 from ' drop database mysqltest '" @@ -72902,10 +82159,13 @@ a int primary key, b char(10) "prepare stmt3 from ' describe t2 '" "execute stmt3" "drop table t2 " +"prepare stmt3 from ' lock tables t1 read ' " +"prepare stmt3 from ' unlock tables ' " "prepare stmt1 from ' optimize table t1 ' " "prepare stmt1 from ' analyze table t1 ' " "prepare stmt1 from ' checksum table t1 ' " "prepare stmt1 from ' repair table t1 ' " +"prepare stmt1 from ' handler t1 open '" "prepare stmt3 from ' commit ' " "prepare stmt3 from ' rollback ' " "prepare stmt4 from ' SET sql_mode=ansi '" @@ -73130,7 +82390,6 @@ end" "set @reprepare_count= 0" "prepare stmt from ""select * from t1""" "call p_verify_reprepare_count(0)" -"rename table t1 to t2" "prepare stmt from ""select a from t1""" "alter table t1 add column (b int)" "call p_verify_reprepare_count(1)" @@ -73169,7 +82428,6 @@ select f1(new.a+1) into @var" "prepare stmt from ""insert into t1(a) values (?)""" "select @var" "create function f1 (a int) returns int return 0" -"create table t2 (a int unique)" "create table t3 (a int unique)" "create view v1 as select a from t2" "create trigger t1_ai after insert on t1 for each row @@ -73189,13 +82447,11 @@ insert into t3 (a) values (new.a)" "drop trigger t2_ai" "create trigger t2_ai after insert on t2 for each row insert into t4 (a) values (new.a)" -"insert into t1 (a) values (2)" "select * from t1 join t2 on (t1.a=t2.a) join t4 on (t2.a=t4.a)" "set @var=4" "prepare stmt from 'select count(*) from t1'" "create temporary table t1 AS SELECT 1" "create view t1 as select * from t2" -"drop view t1" "insert into t1 (a) value (1)" "create temporary table t1 as select 1 as a" "prepare stmt from ""select count(*) from t1""" @@ -73363,8 +82619,6 @@ where t_27420_100.a=t_27420_101.a" "deallocate prepare stmt_sp" "prepare stmt from ""select 1 as res from dual where (1) in (select * from t1)""" "prepare stmt from 'create table t2 as select * from t1'" -"create view t2 as select 1" -"drop view t2" "create table t1 (x varchar(20))" "alter table t1 add column y decimal(10,3)" "prepare stmt from ""create temporary table if not exists t2 as select * from t1""" @@ -73381,12 +82635,17 @@ where t_27420_100.a=t_27420_101.a" "prepare stmt from ""delete t2, t3 from t2, t3 where (1) in (select * from t1)""" "prepare stmt from ""update t2, t3 set t3.a=t2.a, t2.a=null where (1) in (select * from t1)""" "call p_verify_reprepare_count(8)" +"prepare stmt from ""load data infile '../std_data_ln/words.dat' into table t1""" "prepare stmt from ""show databases where (1) in (select * from t1)""" "prepare stmt from ""show tables where (1) in (select * from t1)""" "prepare stmt from ""show fields from t1 where (1) in (select * from t1)""" "prepare stmt from ""show keys from t1 where (1) in (select * from t1)""" "prepare stmt from ""show variables where (1) in (select * from t1)""" "prepare stmt from ""show status where (1) in (select * from t1)""" +"prepare stmt from ""show engine all status where (1) in (select * from t1)""" +"prepare stmt from ""show engine all logs where (1) in (select * from t1)""" +"prepare stmt from ""show engine all mutex where (1) in (select * from t1)""" +"prepare stmt from ""show processlist where (1) in (select * from t1)""" "prepare stmt from ""show charset where (1) in (select * from t1)""" "prepare stmt from ""show collation where (1) in (select * from t1)""" "prepare stmt from ""show table status where (1) in (select * from t1)""" @@ -73399,6 +82658,7 @@ where t_27420_100.a=t_27420_101.a" "prepare stmt from ""do ((1) in (select * from t1))""" "prepare stmt from ""call p1((1) in (select * from t1))""" "call p_verify_reprepare_count(18)" +"prepare stmt from ""alter view v1 as select 2""" "drop table if exists t1, t2, t3, v1, v2" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a:= (SELECT COUNT(*) FROM t1)" @@ -73480,13 +82740,14 @@ end" "drop procedure p_verify_reprepare_count" "select '------ grant/revoke/drop affects a parallel session test ------' as test_sequence " +"show grants for second_user@localhost " "create user second_user@localhost identified by 'looser' " "grant select on mysqltest.t9 to second_user@localhost" -"show grants for second_user@localhost " "prepare s_t9 from 'select c1 as my_col from t9 where c1= 1' " "execute s_t9 " +"select a as my_col from t1" "grant select on mysqltest.t1 to second_user@localhost" "drop table mysqltest.t9 " "prepare s_t1 from 'select a as my_col from t1' " @@ -73566,6 +82827,7 @@ MODIFY Grantor char(77) DEFAULT '' NOT NULL" "set @a='-5.2'" "prepare s from 'select ?'" "prepare s from 'select sum(1) over (order by ?)'" +"prepare s from 'select sum(1) over (order by ? range 2 preceding)'" "prepare s from 'select sum(1) over (order by 1.1 range ? preceding)'" "prepare s from 'select 1 where ? group by ? having ? order by ?'" "prepare s from 'select 1 from t1 left join t2 on ?'" @@ -73833,6 +83095,7 @@ FULLTEXT (title,body) "prepare s from 'select GROUP_CONCAT(?,?,?)'" "prepare s from 'select GROUP_CONCAT(?,?,?,?)'" "prepare s from 'select GROUP_CONCAT(?,?,?,?,?)'" +"prepare s from 'select GROUP_CONCAT(DISTINCT ?,? ORDER BY ? SEPARATOR ?)'" "prepare s from 'select GROUP_CONCAT(DISTINCT ?,? ORDER BY ? SEPARATOR "","")'" "prepare s from 'select GTID_SUBSET(?,?)'" "prepare s from 'select GTID_SUBTRACT(?,?)'" @@ -73910,6 +83173,7 @@ FULLTEXT (title,body) "prepare s from 'select JSON_REPLACE(?,?,?)'" "prepare s from 'select JSON_REPLACE(?,?,?,?,?)'" "prepare s from 'select JSON_SEARCH(?,?,?)'" +"prepare s from 'select JSON_SEARCH(?,?,?,?)'" "prepare s from 'select JSON_SEARCH(?,?,?,""x"",?)'" "prepare s from 'select JSON_SET(?,?,?)'" "prepare s from 'select JSON_SET(?,?,?,?,?)'" @@ -73932,6 +83196,19 @@ bx INT EXISTS PATH ""$.b"" '[{""a"":""3""},{""a"":2},{""b"":1},{""a"":0},{""a"":[1,2]}]'" "set @a= cast('[{""a"":""3""},{""a"":2},{""b"":1},{""a"":0},{""a"":[1,2]}]' as json)" +"prepare s from +'SELECT * +FROM +JSON_TABLE( +?, +? +COLUMNS( +rowid FOR ORDINALITY, +ac VARCHAR(100) PATH ""$.a"" DEFAULT ''999'' ON ERROR DEFAULT ''111'' ON EMPTY, +aj JSON PATH ""$.a"" DEFAULT ''{""x"": 333}'' ON EMPTY, +bx INT EXISTS PATH ""$.b"" +) +) AS tt'" "prepare s from 'select JSON_TYPE(?)'" "prepare s from 'select JSON_UNQUOTE(?)'" "prepare s from 'select JSON_VALID(?)'" @@ -74020,13 +83297,16 @@ cast('[{""a"":""3""},{""a"":2},{""b"":1},{""a"":0},{""a"":[1,2]}]' as json)" "prepare s from 'select REGEXP_INSTR(?,?)'" "prepare s from 'select REGEXP_INSTR(?,?,?)'" "prepare s from 'select REGEXP_INSTR(?,?,?,?)'" +"prepare s from 'select REGEXP_INSTR(?,?,?,?,?)'" "prepare s from 'select REGEXP_LIKE(?,?)'" +"prepare s from 'select REGEXP_LIKE(?,?,?)'" "prepare s from 'select REGEXP_REPLACE(?,?,?)'" "prepare s from 'select REGEXP_REPLACE(?,?,?,?)'" "prepare s from 'select REGEXP_REPLACE(?,?,?,?,?)'" "prepare s from 'select REGEXP_SUBSTR(?,?)'" "prepare s from 'select REGEXP_SUBSTR(?,?,?)'" "prepare s from 'select REGEXP_SUBSTR(?,?,?,?)'" +"prepare s from 'select REGEXP_SUBSTR(?,?,?,?,?)'" "prepare s from 'select RELEASE_ALL_LOCKS()'" "prepare s from 'select RELEASE_LOCK(?)'" "prepare s from 'select REPEAT(?,?)'" @@ -74318,6 +83598,7 @@ dc2 DECIMAL(16,10) "EXECUTE s2 USING @i2_max" "EXECUTE s3 USING @i3_max" "EXECUTE s4 USING @i4_max" +"EXECUTE s5 USING @i8_max" "EXECUTE s6 USING @dc1_max" "EXECUTE s7 USING @dc2_max" "EXECUTE s6 USING @dc1_ext" @@ -74421,6 +83702,7 @@ dc=?, f4=?, f8=?, vc=?, fc=?, vb=?, fb=?, d=?, t=?, dt=?, ts=?""" "EXECUTE s USING @iv" "set @ic='55'" "EXECUTE s USING @ic" +"PREPARE s FROM 'DO ST_ENVELOPE(CEILING(?))'" "CREATE TABLE t1 ( col1 VARCHAR(100) NOT NULL COLLATE latin1_swedish_ci, col2 VARCHAR(200) NOT NULL COLLATE utf8mb4_general_ci @@ -74490,12 +83772,26 @@ c double NOT NULL )" "INSERT INTO t1 VALUES (1,1,5),(1,1,2),(1,2,5),(2,1,4),(2,1,1),(2,2,2),(2,2,3), (2,3,1),(2,3,1),(3,3,3),(3,3,5),(3,4,5),(4,4,5),(4,4,3),(5,3,1)" +"SELECT a, b, +MIN(b) OVER (PARTITION BY b ORDER BY a DESC,b ASC,c DESC) AS mn, +RANK() OVER (PARTITION BY b ORDER BY a DESC,b ASC,c DESC) AS rnk +FROM t1 +QUALIFY ROW_NUMBER() OVER (PARTITION BY a ORDER BY b)>1" +"SELECT b +FROM t1 QUALIFY ROW_NUMBER() OVER (PARTITION BY a ORDER BY a)>1 and c>2" +"SELECT a, b, c +FROM t1 QUALIFY AVG(ROW_NUMBER() OVER (PARTITION BY a ORDER BY a,b,c))>1" +"SELECT a FROM t1 QUALIFY b> 10" "SELECT a, b, c, ROW_NUMBER() OVER (PARTITION BY a ORDER BY a,b,c) AS rnk FROM t1 QUALIFY rnk>1" "SELECT a, b, c FROM t1 QUALIFY ROW_NUMBER() OVER (PARTITION BY a ORDER BY a,b,c)>1" "SELECT a, b, c FROM t1 +QUALIFY ROW_NUMBER() OVER () > +(SELECT MIN(c) FROM t1 GROUP BY a HAVING MAX(c) > 3)" +"SELECT a, b, c +FROM t1 QUALIFY (MIN(a) OVER () + RANK() OVER () ) > 5" "SELECT a, b, c, MIN(b) OVER (PARTITION BY b ORDER BY a DESC,b ASC,c DESC) AS mn @@ -74506,11 +83802,6 @@ MIN(b) OVER (PARTITION BY b ORDER BY a DESC,b ASC,c DESC) AS mn, RANK() OVER (PARTITION BY b ORDER BY a DESC,b ASC,c DESC) AS rnk FROM t1 QUALIFY ( rnk + mn) >5" -"SELECT a, b, -MIN(b) OVER (PARTITION BY b ORDER BY a DESC,b ASC,c DESC) AS mn, -RANK() OVER (PARTITION BY b ORDER BY a DESC,b ASC,c DESC) AS rnk -FROM t1 -QUALIFY ROW_NUMBER() OVER (PARTITION BY a ORDER BY b)>1" "SELECT a, b, ( SELECT sum(rnk) FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY a ORDER BY a,b,c) AS rnk @@ -74536,6 +83827,9 @@ QUALIFY 2*rnk>1" "SELECT a, b, c, ROW_NUMBER() OVER () AS rnk FROM t1 QUALIFY a+rnk>5" +"SELECT a, b, c +FROM t1 +QUALIFY AVG(ROW_NUMBER() OVER (PARTITION BY a ORDER BY a,b,c))>1" "SELECT a, b, ROW_NUMBER() OVER (PARTITION BY a ORDER BY a,b) AS rnk FROM t1 QUALIFY c>1" @@ -74548,6 +83842,12 @@ QUALIFY ROW_NUMBER() OVER (PARTITION BY a) + b > 0" "SELECT a, b, ROW_NUMBER() OVER (PARTITION BY a ORDER BY a,b,c) AS rnk FROM t1 QUALIFY rnk>1 and c>2" +"SELECT MAX(a) +FROM t1 GROUP BY b,c WITH ROLLUP +QUALIFY (MIN(a) OVER () + RANK() OVER () ) > 5" +"SELECT MAX(a) +FROM t1 GROUP BY b,c WITH ROLLUP +QUALIFY (MIN(a) OVER () + RANK() OVER () ) >= 2" "SELECT MAX(a) FROM t1 GROUP BY b, 2*c WITH ROLLUP HAVING AVG(c)>1 @@ -74560,16 +83860,6 @@ QUALIFY MIN(2*b) OVER () + RANK() OVER () + MAX(a) > 4" GROUP BY b, 2*c WITH ROLLUP HAVING AVG(c)>1 QUALIFY MIN(2*b) OVER () + RANK() OVER () + MAX(a) > 4" -"SET @@sql_mode = ''" -"SELECT MAX(a) -FROM t1 GROUP BY b WITH ROLLUP -QUALIFY (MIN(c) OVER () + RANK() OVER () ) >= 2" -"SELECT MAX(a) -FROM t1 GROUP BY b,c WITH ROLLUP -QUALIFY (MIN(a) OVER () + RANK() OVER () ) >= 2" -"SELECT MAX(a) -FROM t1 GROUP BY b,c WITH ROLLUP -QUALIFY (MIN(a) OVER () + RANK() OVER () ) > 5" "SELECT MAX(a) FROM t1 GROUP BY b,c WITH ROLLUP QUALIFY (MIN(a) OVER ()) > 1" @@ -74577,6 +83867,10 @@ QUALIFY (MIN(a) OVER ()) > 1" FROM t1 GROUP BY b,c WITH ROLLUP QUALIFY (MIN(a) OVER () + RANK() OVER () ) > 5" +"SET @@sql_mode = ''" +"SELECT MAX(a) +FROM t1 GROUP BY b WITH ROLLUP +QUALIFY (MIN(c) OVER () + RANK() OVER () ) >= 2" "SELECT a FROM t1 GROUP BY b, 2*c WITH ROLLUP HAVING AVG(c)>1 QUALIFY ROW_NUMBER() OVER () + MAX(a) > 4" @@ -74621,6 +83915,9 @@ FROM t2) IS NOT NULL QUALIFY field3 <=> 'a'" "CREATE TABLE t1 (col_varchar137 VARCHAR(137), col_float FLOAT)" "CREATE TABLE t2 (pk INT)" +"SELECT t1.col_varchar137 AS field1 +FROM t1, LATERAL ( SELECT t1.col_float AS field2 FROM t2 ) AS table6 +QUALIFY field2 != 'USA'" "CREATE TABLE t1 (pk INT, col_float_key FLOAT )" "CREATE TABLE t2 (col_varchar132 VARCHAR(132), col_timestamp_key TIMESTAMP)" "SELECT CUME_DIST() OVER () AS field1 @@ -74744,16 +84041,20 @@ SELECT i FROM cte" "create user test@localhost" "grant CREATE, SELECT, DROP on *.* to test@localhost" "select @@global.read_only" +"update t1 set a=1 where 1=0" +"update t1,t2 set t1.a=t2.a+1 where t1.a=t2.a" +"delete t1,t2 from t1,t2 where t1.a=t2.a" "create temporary table t3 (a int)" "create temporary table t4 (a int) select * from t3" "insert into t3 values(1)" +"update t1,t3 set t1.a=t3.a+1 where t1.a=t3.a" "update t1,t3 set t3.a=t1.a+1 where t1.a=t3.a" "update t4,t3 set t4.a=t3.a+1 where t4.a=t3.a" +"delete t1 from t1,t3 where t1.a=t3.a" "delete t3 from t1,t3 where t1.a=t3.a" "delete t4 from t3,t4 where t4.a=t3.a" -"update t1,t3 set t1.a=t3.a+1 where t1.a=t3.a" -"delete t1 from t1,t3 where t1.a=t3.a" "unlock tables " +"drop temporary table ttt" "drop temporary table if exists ttt" "set global read_only= 1" "delete from mysql.tables_priv where User like 'mysqltest_%'" @@ -74764,10 +84065,12 @@ SELECT i FROM cte" "show databases like '%mysqltest_db2%'" "set global read_only= @start_read_only" "SET GLOBAL read_only= 1" +"UPDATE t1 SET a= 1" "SET GLOBAL read_only= 0" "CREATE TEMPORARY TABLE t1(a1 INT)" "CREATE TEMPORARY TABLE t3(a3 INT)" "SET @@global.super_read_only=TRUE" +"RENAME TABLE t1 to t3" "SET @@global.read_only=default" "SET @save_read_only= @@global.read_only" "GRANT CREATE, DROP, INSERT, CREATE TABLESPACE, ALTER ROUTINE, FILE, RELOAD ON *.* TO test@localhost" @@ -74790,6 +84093,7 @@ FOR EACH ROW BEGIN END" "SET @save_super_read_only= @@global.super_read_only" "GRANT ENCRYPTION_KEY_ADMIN ON *.* TO user1@localhost" "SET GLOBAL SUPER_READ_ONLY= ON" +"ALTER INSTANCE ROTATE INNODB MASTER KEY" "SET GLOBAL super_read_only= @save_super_read_only" "create table t_alter(i int)" "insert into t_alter values(1)" @@ -74819,7 +84123,6 @@ FOR EACH ROW BEGIN END" "CREATE USER bug33669@localhost" "CREATE TABLE db1.t1 (a INT) ENGINE=INNODB" "CREATE TABLE db1.t2 (a INT) ENGINE=INNODB" -"INSERT INTO db1.t1 VALUES (1)" "INSERT INTO db1.t2 VALUES (2)" "GRANT CREATE TEMPORARY TABLES, DROP, INSERT, DELETE, UPDATE, SELECT, LOCK TABLES ON db1.* TO bug33669@localhost" @@ -74858,6 +84161,7 @@ SELECT, LOCK TABLES ON db1.* TO bug33669@localhost" "SELECT * FROM performance_schema.persisted_variables ORDER BY VARIABLE_NAME" "SELECT VARIABLE_NAME FROM performance_schema.variables_info WHERE VARIABLE_SOURCE = 'PERSISTED' ORDER BY VARIABLE_NAME" "SELECT @@version_tokens_session_number" +"SET @@persist_only.version_tokens_session_number=3" "UNINSTALL PLUGIN version_tokens" "SET PERSIST_ONLY autocommit=0" "SET @@persist_only.max_execution_time=60000" @@ -74908,11 +84212,11 @@ WHERE VARIABLE_SOURCE = 'PERSISTED'" "SET @@persist_only.relay_log_space_limit=4096" "SELECT @@global.relay_log_space_limit, @@global.replica_type_conversions" "CREATE USER wl9787" -"GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO wl9787" "SET GLOBAL sort_buffer_size=256000" "SET PERSIST max_heap_table_size=999424" -"GRANT PERSIST_RO_VARIABLES_ADMIN ON *.* TO wl9787" "SET PERSIST_ONLY ft_query_expansion_limit=80" +"GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO wl9787" +"GRANT PERSIST_RO_VARIABLES_ADMIN ON *.* TO wl9787" "REVOKE SYSTEM_VARIABLES_ADMIN ON *.* FROM wl9787" "REVOKE PERSIST_RO_VARIABLES_ADMIN ON *.* FROM wl9787" "GRANT SUPER ON *.* TO wl9787" @@ -74924,12 +84228,51 @@ WHERE VARIABLE_NAME = 'replica_type_conversions'" "SELECT * FROM performance_schema.persisted_variables WHERE VARIABLE_NAME IN ('auto_increment_increment') ORDER BY 1" +"SET @@persist_only.basedir= ""/""" +"SET @@persist_only.character_sets_dir= ""/""" +"SET @@persist_only.ft_stopword_file= ""/""" +"SET @@persist_only.lc_messages_dir= ""/""" +"SET @@persist_only.log_error= ""/""" +"SET @@persist_only.pid_file= ""/""" +"SET @@persist_only.plugin_dir= ""/""" +"SET @@persist_only.secure_file_priv= ""/""" +"SET @@persist_only.replica_load_tmpdir= ""/""" +"SET @@persist_only.tmpdir= ""/""" +"SET @@persist_only.relay_log= ""/""" +"SET @@persist_only.relay_log_index= ""/""" +"SET @@persist_only.log_bin_basename= ""/""" +"SET @@persist_only.log_bin_index= ""/""" +"SET @@persist_only.bind_address= """"" +"SET @@persist_only.port= """"" +"SET @@persist_only.skip_networking= """"" +"SET @@persist_only.socket= """"" +"SET @@persist_only.core_file= """"" +"SET @@persist_only.innodb_read_only= """"" +"SET @@persist_only.persisted_globals_load= """"" +"SET @@persist_only.datadir= """"" +"SET @@persist_only.innodb_data_file_path= """"" +"SET @@persist_only.innodb_force_load_corrupted= """"" +"SET @@persist_only.innodb_page_size= """"" +"SET @@persist_only.version= """"" +"SET @@persist_only.version_comment= """"" +"SET @@persist_only.version_compile_machine= """"" +"SET @@persist_only.version_compile_os= """"" +"SET @@persist_only.have_compress= """"" +"SET @@persist_only.have_dynamic_loading= """"" +"SET @@persist_only.license= """"" +"SET @@persist_only.protocol_version= """"" +"SET @@persist_only.lower_case_file_system= """"" +"SET @@persist_only.innodb_buffer_pool_load_at_startup= """"" "DROP USER wl9787" "SELECT VARIABLE_SOURCE, SET_USER, SET_HOST FROM performance_schema.variables_info WHERE VARIABLE_NAME = 'max_connections'" "SET PERSIST_ONLY max_connections = 151" +"SET PERSIST_ONLY gtid_owned='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1'" +"SET PERSIST_ONLY gtid_executed='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1'" "SET PERSIST_ONLY log_replica_updates = 1,super_read_only=1, end_markers_in_json = 1" "select @@global.log_replica_updates, @@global.super_read_only, @@global.end_markers_in_json" +"SET PERSIST_ONLY super_read_only=""invalid value""" +"SET PERSIST_ONLY end_markers_in_json = flase" "SET PERSIST_ONLY super_read_only=default" "SET PERSIST innodb_buffer_pool_size = 1073742336" "SET PERSIST_ONLY innodb_buffer_pool_instances = 2" @@ -74981,6 +84324,9 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('aac','a[b-d]') /* Result: y */" "select regexp_like('a-','a[-b]') /* Result: y */" "select regexp_like('a-','a[b-]') /* Result: y */" +"select regexp_like('-','a[b-a]') /* Result: c */" +"select regexp_like('-','a[]b') /* Result: ci */" +"select regexp_like('-','a[') /* Result: c */" "select regexp_like('a]','a]') /* Result: y */" "select regexp_like('a]b','a[]]b') /* Result: y */" "select regexp_like('aed','a[^bc]d') /* Result: y */" @@ -75028,15 +84374,21 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('abc','ab|cd') /* Result: y */" "select regexp_like('abcd','ab|cd') /* Result: y */" "select regexp_like('def','()ef') /* Result: y */" +"select regexp_like('-','*a') /* Result: c */" +"select regexp_like('-','(*)b') /* Result: c */" "select regexp_like('b','$b') /* Result: n */" +"select regexp_like('-','a\\') /* Result: c */" "select regexp_like('a(b','a\\(b') /* Result: y */" "select regexp_like('ab','a\\(*b') /* Result: y */" "select regexp_like('a((b','a\\(*b') /* Result: y */" "select regexp_like('a\\b','a\\\\b') /* Result: y */" +"select regexp_like('-','abc)') /* Result: c */" +"select regexp_like('-','(abc') /* Result: c */" "select regexp_like('abc','((a))') /* Result: y */" "select regexp_like('abc','(a)b(c)') /* Result: y */" "select regexp_like('aabbabc','a+b+c') /* Result: y */" "select regexp_like('aabbabc','a{1,}b{1,}c') /* Result: y */" +"select regexp_like('-','a**') /* Result: c */" "select regexp_like('abcabc','a.+?c') /* Result: y */" "select regexp_like('ab','(a+|b)*') /* Result: y */" "select regexp_like('ab','(a+|b){0,}') /* Result: y */" @@ -75044,6 +84396,7 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('ab','(a+|b){1,}') /* Result: y */" "select regexp_like('ab','(a+|b)?') /* Result: y */" "select regexp_like('ab','(a+|b){0,1}') /* Result: y */" +"select regexp_like('-',')(') /* Result: c */" "select regexp_like('cde','[^ab]*') /* Result: y */" "select regexp_like('','abc') /* Result: n */" "select regexp_like('','a*') /* Result: y */" @@ -75088,8 +84441,11 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('ac','a[-]?c') /* Result: y */" "select regexp_like('abcabc','(abc)\\1') /* Result: y */" "select regexp_like('abcabc','([a-c]*)\\1') /* Result: y */" +"select regexp_like('-','\\1') /* Result: c */" +"select regexp_like('-','\\2') /* Result: c */" "select regexp_like('a','(a)|\\1') /* Result: y */" "select regexp_like('x','(a)|\\1') /* Result: n */" +"select regexp_like('-','(a)|\\2') /* Result: c */" "select regexp_like('ababbbcbc','(([a-c])b*?\\2)*') /* Result: y */" "select regexp_like('ababbbcbc','(([a-c])b*?\\2){3}') /* Result: y */" "select regexp_like('aaxabxbaxbbx','((\\3|b)\\2(a)x)+') /* Result: n */" @@ -75140,6 +84496,9 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('AAC','(?i)a[b-d]') /* Result: y */" "select regexp_like('A-','(?i)a[-b]') /* Result: y */" "select regexp_like('A-','(?i)a[b-]') /* Result: y */" +"select regexp_like('-','(?i)a[b-a]') /* Result: c */" +"select regexp_like('-','(?i)a[]b') /* Result: ci */" +"select regexp_like('-','(?i)a[') /* Result: c */" "select regexp_like('A]','(?i)a]') /* Result: y */" "select regexp_like('A]B','(?i)a[]]b') /* Result: y */" "select regexp_like('AED','(?i)a[^bc]d') /* Result: y */" @@ -75151,15 +84510,21 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('ABC','(?i)ab|cd') /* Result: y */" "select regexp_like('ABCD','(?i)ab|cd') /* Result: y */" "select regexp_like('DEF','(?i)()ef') /* Result: y */" +"select regexp_like('-','(?i)*a') /* Result: c */" +"select regexp_like('-','(?i)(*)b') /* Result: c */" "select regexp_like('B','(?i)$b') /* Result: n */" +"select regexp_like('-','(?i)a\\') /* Result: c */" "select regexp_like('A(B','(?i)a\\(b') /* Result: y */" "select regexp_like('AB','(?i)a\\(*b') /* Result: y */" "select regexp_like('A((B','(?i)a\\(*b') /* Result: y */" "select regexp_like('A\\B','(?i)a\\\\b') /* Result: y */" +"select regexp_like('-','(?i)abc)') /* Result: c */" +"select regexp_like('-','(?i)(abc') /* Result: c */" "select regexp_like('ABC','(?i)((a))') /* Result: y */" "select regexp_like('ABC','(?i)(a)b(c)') /* Result: y */" "select regexp_like('AABBABC','(?i)a+b+c') /* Result: y */" "select regexp_like('AABBABC','(?i)a{1,}b{1,}c') /* Result: y */" +"select regexp_like('-','(?i)a**') /* Result: c */" "select regexp_like('ABCABC','(?i)a.+?c') /* Result: y */" "select regexp_like('ABCABC','(?i)a.*?c') /* Result: y */" "select regexp_like('ABCABC','(?i)a.{0,5}?c') /* Result: y */" @@ -75170,6 +84535,7 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('AB','(?i)(a+|b)?') /* Result: y */" "select regexp_like('AB','(?i)(a+|b){0,1}') /* Result: y */" "select regexp_like('AB','(?i)(a+|b){0,1}?') /* Result: y */" +"select regexp_like('-','(?i))(') /* Result: c */" "select regexp_like('CDE','(?i)[^ab]*') /* Result: y */" "select regexp_like('','(?i)abc') /* Result: n */" "select regexp_like('','(?i)a*') /* Result: y */" @@ -75228,6 +84594,7 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('acdbcdbe','a(?:b|c|d){4,5}(.)') /* Result: y */" "select regexp_like('acdbcdbe','a(?:b|c|d){4,5}?(.)') /* Result: y */" "select regexp_like('foobar','((foo)|(bar))*') /* Result: y */" +"select regexp_like('-',':(?:') /* Result: c */" "select regexp_like('acdbcdbe','a(?:b|c|d){6,7}(.)') /* Result: y */" "select regexp_like('acdbcdbe','a(?:b|c|d){6,7}?(.)') /* Result: y */" "select regexp_like('acdbcdbe','a(?:b|c|d){5,6}(.)') /* Result: y */" @@ -75241,6 +84608,9 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('aaaaaaaaaa','^(a\\1?){4}$') /* Result: y */" "select regexp_like('aaaaaaaaa','^(a\\1?){4}$') /* Result: n */" "select regexp_like('aaaaaaaaaaa','^(a\\1?){4}$') /* Result: n */" +"select regexp_like('aaaaaaaaaa','^(a(?(1)\\1)){4}$') /* Result: y */" +"select regexp_like('aaaaaaaaa','^(a(?(1)\\1)){4}$') /* Result: n */" +"select regexp_like('aaaaaaaaaaa','^(a(?(1)\\1)){4}$') /* Result: n */" "select regexp_like('aaaaaaaaa','((a{4})+)') /* Result: y */" "select regexp_like('aaaaaaaaaa','(((aa){2})+)') /* Result: y */" "select regexp_like('aaaaaaaaaa','(((a{2}){2})+)') /* Result: y */" @@ -75251,6 +84621,7 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('ab','(?a+)ab') /* Result: n */" "select regexp_like('aaab','(?>a+)b') /* Result: y */" "select regexp_like('a:[b]:','([\\[:]+)') /* Result: yi */" "select regexp_like('a=[b]=','([\\[=]+)') /* Result: yi */" "select regexp_like('a.[b].','([\\[.]+)') /* Result: yi */" +"select regexp_like('-','[a[:xyz:') /* Result: c */" +"select regexp_like('-','[a[:xyz:]') /* Result: c */" "select regexp_like('abc','[a\\[:]b[:c]') /* Result: yi */" +"select regexp_like('pbaq','([a[:xyz:]b]+)') /* Result: c */" "select regexp_like('abc','[a\\[:]b[:c]') /* Result: iy */" "select regexp_like(concat('ABcd01Xy__-- ', _utf16 x'0000ffff'),'([[:alpha:]]+)') /* Result: y */" "select regexp_like(concat('ABcd01Xy__-- ', _utf16 x'0000ffff'),'([[:alnum:]]+)') /* Result: y */" @@ -75357,9 +84766,13 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like(concat('ABcd01Xy__-- ', _utf16 x'0000ffff'),'([[:^word:]]+)') /* Result: yi */" "select regexp_like(concat('ABcd01Xy__-- ', _utf16 x'0000ffff'),'([[:^upper:]]+)') /* Result: y */" "select regexp_like(concat('ABcd01Xy__-- ', _utf16 x'0000ffff'),'([[:^xdigit:]]+)') /* Result: y */" +"select regexp_like('-','[[:foo:]]') /* Result: c */" +"select regexp_like('-','[[:^foo:]]') /* Result: c */" "select regexp_like('aaab','((?>a+)b)') /* Result: y */" "select regexp_like('aaab','(?>(a+))b') /* Result: y */" "select regexp_like('((abc(ade)ufh()()x','((?>[^()]+)|\\([^()]*\\))+') /* Result: y */" +"select regexp_like('-','(?<=x+)y') /* Result: c */" +"select regexp_like('-','a{37,17}') /* Result: c */" "select regexp_like('a\nb\n','\\Z') /* Result: y */" "select regexp_like('a\nb\n','\\z') /* Result: y */" "select regexp_like('a\nb\n','$') /* Result: y */" @@ -75560,6 +84973,7 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('b\nca','(?m)abb$') /* Result: n */" "select regexp_like('ca','(^|x)(c)') /* Result: y */" "select regexp_like('x','a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz') /* Result: n */" +"select regexp_like('yabz','a(?{$a=2;$b=3;($b)=$a})b') /* Result: y */" "select regexp_like('_I(round(xs * sz),1)','round\\(((?>[^()]+))\\)') /* Result: y */" "select regexp_like('x ','(?x)((?x:.) )') /* Result: y */" "select regexp_like('x ','(?x)((?-x:.) )') /* Result: y */" @@ -75604,6 +85018,7 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('aba','^(a(b)?)+$') /* Result: yi */" "select regexp_like('123\nabcabcabcabc\n','(?m)^.{9}abc.*\n') /* Result: y */" "select regexp_like('a','^(a)?a$') /* Result: y */" +"select regexp_like('a','^(a)?(?(1)a|b)+$') /* Result: n */" "select regexp_like('aaaaaa','^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$') /* Result: y */" "select regexp_like('aaaaaa','^(a\\1?){4}$') /* Result: y */" "select regexp_like('x1','^(0+)?(?:x(1))?') /* Result: y */" @@ -75618,8 +85033,13 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('abc','(abc)?(abc)+') /* Result: y */" "select regexp_like('a\nb\n','(?m)b\\s^') /* Result: n */" "select regexp_like('a','\\ba') /* Result: y */" +"select regexp_like('ab','^(a(??{""(?!)""})|(a)(?{1}))b') /* Result: yi */" "select regexp_like('AbCd','ab(?i)cd') /* Result: n */" "select regexp_like('abCd','ab(?i)cd') /* Result: y */" +"select regexp_like('CD','(A|B)*(?(1)(CD)|(CD))') /* Result: y */" +"select regexp_like('ABCD','(A|B)*(?(1)(CD)|(CD))') /* Result: y */" +"select regexp_like('CD','(A|B)*?(?(1)(CD)|(CD))') /* Result: y */" +"select regexp_like('ABCD','(A|B)*?(?(1)(CD)|(CD))') /* Result: y */" "select regexp_like('Oo','(?i)^(o)(?!.*\\1)') /* Result: n */" "select regexp_like('abc12bc','(.*)\\d+\\1') /* Result: y */" "select regexp_like('foo\n bar','(?m:(foo\\s*$))') /* Result: y */" @@ -75658,6 +85078,25 @@ WHERE VARIABLE_NAME = 'max_connections'" "select regexp_like('abcd','(.*?)(?<=[bc])') /* Result: y */" "select regexp_like('abcd','(.*?)(?<=[bc])c') /* Result: y */" "select regexp_like('2','2(]*)?$\\1') /* Result: y */" +"select regexp_like('x','(??{})') /* Result: yi */" +"select regexp_like('bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.X(.+)+X') /* Result: yi */" +"select regexp_like('bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.X(.+)+XX') /* Result: yi */" +"select regexp_like('bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.XX(.+)+X') /* Result: yi */" +"select regexp_like('bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.X(.+)+X') /* Result: ni */" +"select regexp_like('bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.X(.+)+XX') /* Result: ni */" +"select regexp_like('bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.XX(.+)+X') /* Result: ni */" +"select regexp_like('bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.X(.+)+[X]') /* Result: yi */" +"select regexp_like('bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.X(.+)+[X][X]') /* Result: yi */" +"select regexp_like('bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.XX(.+)+[X]') /* Result: yi */" +"select regexp_like('bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.X(.+)+[X]') /* Result: ni */" +"select regexp_like('bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.X(.+)+[X][X]') /* Result: ni */" +"select regexp_like('bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.XX(.+)+[X]') /* Result: ni */" +"select regexp_like('bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.[X](.+)+[X]') /* Result: yi */" +"select regexp_like('bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.[X](.+)+[X][X]') /* Result: yi */" +"select regexp_like('bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.[X][X](.+)+[X]') /* Result: yi */" +"select regexp_like('bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.[X](.+)+[X]') /* Result: ni */" +"select regexp_like('bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.[X](.+)+[X][X]') /* Result: ni */" +"select regexp_like('bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','.[X][X](.+)+[X]') /* Result: ni */" "CREATE TABLE t1 ( subject char(10), pattern char(10) @@ -75675,15 +85114,19 @@ pattern char(10) "SELECT regexp_instr( 'a', 1 )" "SELECT regexp_instr( 'a', 1.1 )" "SELECT regexp_instr( subject, pattern ) FROM t1" +"SELECT regexp_instr( 'a', '[[:invalid_bracket_expression:]]' )" "SELECT regexp_instr( 'abcabcabc', 'a+', 1 )" "SELECT regexp_instr( 'abcabcabc', 'a+', 2 )" "SELECT regexp_instr( 'abcabcabc', 'b+', 1 )" "SELECT regexp_instr( 'abcabcabc', 'b+', 2 )" "SELECT regexp_instr( 'abcabcabc', 'b+', 3 )" +"SELECT regexp_instr( 'a', 'a+', 3 )" "SELECT regexp_instr( 'abcabcabc', 'a+', 1, 2 )" "SELECT regexp_instr( 'abcabcabc', 'a+', 1, 3 )" "SELECT regexp_instr( 'abcabcabc', 'a+', 1, 4 )" "SELECT regexp_instr( 'abcabcabc', 'a+', 4, 2 )" +"SELECT regexp_instr( 'a', 'a+', 1, 1, 2 )" +"SELECT regexp_instr( 'a', 'a+', 1, 1, -1 )" "SELECT regexp_instr( 'a', 'a+', 1, 1, NULL )" "SELECT regexp_instr( 'abcabcabc', 'a+', 1, 1, 0 )" "SELECT regexp_instr( 'abcabcabc', 'a+', 1, 1, 1 )" @@ -75692,6 +85135,7 @@ pattern char(10) "SELECT regexp_instr( 'aaabcabcabc', 'A+', 1, 1, 1, 'i' )" "SELECT regexp_instr( 'aaabcabcabc', 'A+', 1, 1, 1, 'ci' )" "SELECT regexp_instr( 'aaabcabcabc', 'A+', 1, 1, 1, 'cic' )" +"SELECT regexp_instr( 'a', 'a+', 1, 1, 1, 'x' )" "SELECT regexp_instr( 'a', 'a+', 1, 1, 1, NULL )" "SELECT regexp_like( 'abc', 'a' )" "SELECT regexp_like( 'abc', 'b' )" @@ -75705,18 +85149,24 @@ pattern char(10) "SELECT hex( concat(regexp_like( 'a', 'a' )) )" "SELECT regexp_like( 'abc', 'A', 'i' )" "SELECT regexp_like( 'abc', 'A', 'c' )" +"SELECT regexp_like( 'a', 'a+', 'x' )" +"SELECT regexp_like( 'a', 'a+', 'cmnux' )" "SELECT regexp_like( 'a', 'a+', NULL )" "SELECT regexp_like( 1, 'a' )" "SELECT regexp_like( 1.1, 'a' )" "SELECT regexp_like( 'a', 1 )" "SELECT regexp_like( 'a', 1.1 )" +"SELECT regexp_like('a', '[[:invalid_bracket_expression:]]')" "SELECT regexp_replace( 'aaa', 'a', 'X' )" "SELECT regexp_replace( 'abc', 'b', 'X' )" "SELECT regexp_replace( NULL, 'a', 'X' )" "SELECT regexp_replace( 'aaa', NULL, 'X' )" "SELECT regexp_replace( 'aaa', 'a', NULL )" "SELECT concat( regexp_replace( 'aaa', 'a', 'X' ), 'x' )" +"SELECT regexp_replace( 'aaa', 'a', 'X', 0 )" "SELECT regexp_replace( 'aaa', 'a', 'X', 1 )" +"SELECT regexp_replace( 'a', 'a+', 'b', 3 )" +"SELECT regexp_replace( 'aaabbccbbddaa', 'b+', 'X', 0, 1 )" "SELECT regexp_replace( 'aaabbccbbddaa', 'b+', 'X', 1, 1 )" "SELECT regexp_replace( 'aaabbccbbddaa', 'b+', 'X', 1, 2 )" "SELECT regexp_replace( 'aaabbccbbddaa', '(b+)', '<$1>', 1, 2 )" @@ -75729,11 +85179,15 @@ pattern char(10) "SELECT regexp_replace( 'aaabcbdb', 'b', 'X', 1 )" "SELECT regexp_replace( 'aaabcbdb', 'b', 'X', 2 )" "SELECT regexp_replace( 'aaabcbdb', 'b', 'X', 3 )" +"SELECT regexp_replace( 'a', '[[:invalid_bracket_expression:]]', '$1' )" "SELECT regexp_replace( 'aaa', 'a', 'X', 2 )" "SELECT regexp_replace( 'aaa', 'a', 'XX', 2 )" +"SELECT regexp_substr( 'a' )" +"SELECT regexp_substr( 'a', 'b', 'c', 'd', 'e', 'f' )" "SELECT regexp_substr( 'ab ac ad', '.d' )" "SELECT regexp_substr( 'ab ac ad', '.D' )" "SELECT concat( regexp_substr( 'aaa', 'a+' ), 'x' )" +"SELECT regexp_substr( 'ab ac ad', 'a.', 0 )" "SELECT regexp_substr( 'ab ac ad', 'A.', 3 )" "SELECT regexp_substr( 'ab ac ad', 'A.', 3, 1 )" "SELECT regexp_substr( 'ab ac ad', 'A.', 3, 2 )" @@ -75742,9 +85196,11 @@ pattern char(10) "SELECT regexp_substr( 'ab ac ad', 'A.', 1, 1, 'c' )" "SELECT regexp_substr( 'ab\nac\nad', 'A.', 1, 1, 'i' )" "SELECT regexp_substr( 'ab\nac\nad', 'A.', 1, 1, 'im' )" +"SELECT regexp_substr('a', '[[:invalid_bracket_expression:]]')" "CREATE TABLE t2 ( g GEOMETRY NOT NULL )" "INSERT INTO t2 VALUES ( POINT(1,2) )" "SELECT concat( regexp_like(g, g), 'x' ) FROM t2" +"SELECT regexp_instr( '', '((((((((){80}){}){11}){11}){11}){80}){11}){4}' )" "SELECT regexp_instr( _latin1 x'61F662', _latin1 x'F6' )" "SELECT regexp_instr( _latin1 x'61F662', _utf8mb4'ö' )" "SELECT regexp_instr( concat('a', _utf8mb4 x'F09F8DA3'), _utf8mb4 x'F09F8DA3' )" @@ -75773,6 +85229,7 @@ END" "EXECUTE stmt3 USING @subject, @pattern" "SET @subject = 1" "SET @pattern = 1" +"DO 1 rlike multilinestring(point(1, 1))" "CREATE TABLE t1 ( a CHAR(10) )" "INSERT INTO t1 VALUES ( 'abc' ), ( 'bcd' ), ( 'cde' )" "SELECT regexp_like( a, 'a' ) FROM t1" @@ -75803,6 +85260,9 @@ _utf8mb4 'ss' )" "SELECT regexp_like( 'a\nb\nc', '.*' )" "SELECT regexp_like( _utf16 'a' , 'a' )" "SELECT regexp_like( _utf16le 'a' , 'a' )" +"SELECT regexp_like( 'aaa', 'a+', 1 )" +"SELECT regexp_substr( 'aaa', 'a+', 1, 1, 1 )" +"SELECT regexp_substr( 'aaa', '+' )" "CREATE TABLE t1 ( a CHAR(3) CHARACTER SET utf16le, b CHAR(3) CHARACTER SET utf16le @@ -75826,8 +85286,14 @@ regexp_instr('a', 'a') )" regexp_like('a', 'a'), regexp_like('a', 'a'), regexp_like('a', 'a') )" +"INSERT INTO t1 ( a ) VALUES ( regexp_replace('a', 'a', 'a') )" +"INSERT INTO t1 ( b ) VALUES ( regexp_replace('a', 'a', 'a') )" "INSERT INTO t1 ( c ) VALUES ( regexp_replace('a', 'a', 'a') )" +"INSERT INTO t1 ( d ) VALUES ( regexp_replace('a', 'a', 'a') )" +"INSERT INTO t1 ( a ) VALUES ( regexp_substr('a', 'a') )" +"INSERT INTO t1 ( b ) VALUES ( regexp_substr('a', 'a') )" "INSERT INTO t1 ( c ) VALUES ( regexp_substr('a', 'a') )" +"INSERT INTO t1 ( d ) VALUES ( regexp_substr('a', 'a') )" "SELECT cast( regexp_replace('a', 'a', 'a') AS SIGNED INTEGER )" "SELECT cast( regexp_substr ('a', 'a') AS SIGNED INTEGER )" "SELECT cast( regexp_instr ('a', 'a' ) AS DATETIME )" @@ -75842,15 +85308,39 @@ regexp_like('a', 'a') )" "SET @buf_sz_utf16 = @@global.max_allowed_packet / length( _utf16'x' )" "SELECT @buf_sz_utf16" "SELECT length(regexp_replace( repeat('a', @buf_sz_utf16), 'a', 'b' ))" +"SELECT length(regexp_replace( repeat('a', @buf_sz_utf16 + 1), 'a', 'b' ))" +"SELECT length(regexp_replace( repeat('a', @buf_sz_utf16), 'a', 'bb' ))" "SET GLOBAL net_buffer_length = DEFAULT" "SET GLOBAL max_allowed_packet = DEFAULT" +"SELECT regexp_like( 'a', '[[:<:]]a' )" +"SELECT regexp_like( 'a', ' **' )" +"SELECT regexp_like( 'a', ' \n **' )" +"SELECT regexp_like( 'a', ' +++' )" +"SELECT regexp_like( 'a', '\\' )" +"SELECT regexp_like('a','(?{})')" +"SELECT regexp_like('a','(')" +"SELECT regexp_like('a','a{}')" +"SELECT regexp_like('a','a{2,1}')" +"SELECT regexp_like('a','\\1')" +"SELECT regexp_substr( 'ab','(?<=a+)b' )" +"SELECT regexp_like( 'a', 'a[' )" +"SELECT regexp_substr( 'ab','[b-a]' )" "INSERT INTO t1 VALUES ( repeat( 'a', 16384 ) )" "SELECT char_length ( regexp_replace( a, 'a', 'b' ) ) FROM t1" "SET GLOBAL regexp_time_limit = 10000" "SELECT regexp_like ( regexp_replace( a, 'a', 'b' ), 'b{16384}' ) FROM t1" "SET GLOBAL regexp_time_limit = DEFAULT" +"DO '1' regexp repeat('$', 50000000)" +"DO ( (@b) regexp (cot (unhex ( 1 )) ) )" "DO ( (@c) rlike (cot ( (!( @f )) )) )" +"DO ( ('') rlike (cot ( ' %' )) )" +"DO ( (-28277) regexp (period_add ( -10966, 1381205734 )) )" +"DO ( (( @f )) rlike (json_depth ( 'key4' )) )" +"DO ( ('- ') regexp (cot ( right (':#.', 33) )) )" +"DO ( (1) regexp (exp ( 64826 )) )" "DO ( (@g) regexp (cot ( @f )) )" +"DO ( (@b) regexp (exp ( 0x1fc5574c )) )" +"DO ( (25091) rlike (exp ( 14373 )) )" "SET GLOBAL regexp_time_limit = 1000000" "SET GLOBAL regexp_time_limit = DEFAULT" "SELECT regexp_instr ( 'a', 'a', NULL )" @@ -75868,11 +85358,14 @@ regexp_like('a', 'a') )" "SELECT regexp_like( soundex(@v1), 'abc' )" "SELECT regexp_like( left('', ''), 'abc' )" "SELECT regexp_like( repeat(@v1, 'abc'), 'abc' )" +"SELECT regexp_replace( 'abc' , 'abc', '$abc' )" "SET @s := ""SELECT regexp_like( '', '', ? / '' )""" "PREPARE stmt FROM @s" "CREATE TABLE t1 ( match_parameter CHAR(1) )" "INSERT INTO t1 VALUES ( 'i' ), ( 'c' ), ( 'i' ), ( 'c' )" "SELECT match_parameter, regexp_like ( 'a', 'A', match_parameter ) FROM t1" +"SELECT regexp_replace( ' F' , '^ ', '[,$' )" +"SELECT regexp_instr( 'abc', '(?-' )" "select regexp_instr(char('313:50:35.199734'using utf16le), cast(uuid() as char character set utf16le))" "INSERT INTO t1 VALUES ('a a a'), ('b b b'), ('c c c')" @@ -75891,6 +85384,7 @@ regexp_substr( repeat('a', 512), 'a' ) AS e, regexp_substr( repeat('a', 513), 'a' ) AS f" "SELECT regexp_instr( '🍣🍣a', '🍣', 2 )" "SELECT regexp_instr( '🍣🍣a', 'a', 3 )" +"SELECT regexp_instr( '🍣🍣a', 'a', 4 )" "SELECT regexp_substr( 'a🍣b', '.', 1 )" "SELECT regexp_substr( 'a🍣b', '.', 2 )" "SELECT regexp_substr( 'a🍣b', '.', 3 )" @@ -75916,12 +85410,24 @@ regexp_substr( convert('abcd' using utf16), 'abc' ))" "INSERT INTO t1 VALUES ( regexp_substr( 'abcd', 'abc' ), regexp_substr( 'abcd', 'abc' ))" +"SELECT regexp_like('1', x'01')" +"SELECT regexp_like(x'01', '1')" +"SELECT regexp_replace('01', '01', x'02')" +"SELECT regexp_replace('01', x'01', '02')" +"SELECT regexp_replace('01', x'01', x'02')" +"SELECT regexp_replace(x'01', '01', '02')" +"SELECT regexp_replace(x'01', '01', x'02')" +"SELECT regexp_replace(x'01', x'01', '02')" "CREATE TABLE t1(a CHAR(1))" "CREATE TABLE t3(a TEXT)" "INSERT INTO t2 VALUES('1')" "INSERT INTO t3 VALUES('1')" +"SELECT regexp_like(a, x'01') FROM t1" "SELECT regexp_like(a, x'01') FROM t2" +"SELECT regexp_like(a, x'01') FROM t3" +"SELECT regexp_like(x'01', a) FROM t1" "SELECT regexp_like(x'01', a) FROM t2" +"SELECT regexp_like(x'01', a) FROM t3" "SELECT regexp_instr(1, 'a')" "SELECT regexp_instr('a', 1)" "SELECT regexp_instr(NULL, 'a')" @@ -75950,6 +85456,15 @@ regexp_substr( 'abcd', 'abc' ))" "SELECT hex(regexp_substr(x'FFFF', x'FFFF'))" "CREATE TABLE t1 AS SELECT regexp_substr(x'01', x'01')" "CREATE TABLE t1 AS SELECT regexp_replace(x'01', x'01', x'02')" +"do regexp_like(0, ""^{18446744073709551616"")" +"do regexp_instr(0, ""^{18446744073709551616"")" +"DO INSERT(regexp_like(1, '['), 0, 1, '')" +"DO INSERT(regexp_instr(1, '['), 0, 1, '')" +"DO INSERT(regexp_replace(1, '[', 42), 0, 1, '')" +"select ( _utf32', ,*') regexp 13946" +"select regexp_instr( ( _utf32', ,*'), 13946)" +"select regexp_replace( ( _utf32', ,*'), 13946, 42)" +"select regexp_substr( ( _utf32', ,*'), 13946)" "SELECT 'a' regexp '\\N{latin small letter a}'" "select 'Dž' regexp '\\N{Latin Capital Letter D with Small Letter Z with Caron}'" "SELECT 'a' regexp '\\p{alphabetic}'" @@ -75974,10 +85489,46 @@ col_int INT DEFAULT NULL, col_varchar VARCHAR(1) DEFAULT NULL )" "INSERT INTO t2 VALUES (NULL,42,'a')" +"UPDATE t1 SET col_datetime = 8 +WHERE (col_date) IN +( SELECT +REGEXP_INSTR( col_varchar_key, '[a-z]+' , 385025119 , 1, 'm' ) +FROM t2 +)" +"UPDATE t1 SET col_datetime = 8 +WHERE (col_date) IN +( SELECT +REGEXP_INSTR( col_varchar_key, '[a-z]+' , 385025119 , 1, col_int ) +FROM t2 +)" +"UPDATE t1 SET col_datetime = 8 +WHERE (col_date) IN +( SELECT +REGEXP_INSTR( col_varchar_key, '[a-z]+' , 385025119 , 1, col_varchar ) +FROM t2 +)" "SELECT regexp_like( 'abc\n123\n456\nxyz\n', '(?m)^\\d+\\R\\d+$' )" +"SELECT regexp_like( 'a\nb', '(*CR)a.b' )" "SELECT regexp_like( 'a\nb', 'a\\vb' )" +"SELECT regexp_like('', ""(((((((){120}){11}){11}){11}){80}){11}){4}"" )" "SELECT ""hello hello"" regexp '\\X' as yesno" "CREATE SCHEMA testdb" +"CREATE TABLE testdb.t1 ( +a VARCHAR (10000), +b VARCHAR (25), +c VARCHAR (10), +PRIMARY KEY (a(10),b,c(2)) +) PARTITION BY KEY() PARTITIONS 2" +"CREATE TABLE testdb.t2 ( +a VARCHAR (200), +b VARCHAR (10), +PRIMARY KEY (a(2),b) +) PARTITION BY KEY() PARTITIONS 2" +"CREATE TABLE testdb.t3 ( +a VARCHAR (200), +b VARCHAR (10), +PRIMARY KEY (a(2),b) +) PARTITION BY KEY() PARTITIONS 10" "CREATE TABLE testdb.t4 ( a VARCHAR (200), b VARCHAR (10), @@ -75991,11 +85542,26 @@ b VARCHAR (25), c VARCHAR (10), PRIMARY KEY (a(10),b,c(2)) )" +"ALTER TABLE testdb.t5 PARTITION BY KEY() PARTITIONS 10" "CREATE TABLE testdb.t6 ( a VARCHAR (200), b VARCHAR (10), PRIMARY KEY (a(200),b) ) PARTITION BY KEY() PARTITIONS 10" +"CREATE TABLE testdb.t7 ( +a VARCHAR (200), +b VARCHAR (10), +c VARCHAR (100), +KEY (a), +KEY (b(5)) +) PARTITION BY KEY(B) PARTITIONS 2" +"CREATE TABLE testdb.t8 ( +A VARCHAR (200), +B VARCHAR (10), +C VARCHAR (100), +KEY (A), +KEY (B(5)) +) PARTITION BY KEY(b) PARTITIONS 2" "CREATE TABLE testdb.m1 ( firstname VARCHAR (25) NOT NULL, lastname VARCHAR (25) NOT NULL, @@ -76030,6 +85596,103 @@ PARTITION p2 VALUES LESS THAN (1980), PARTITION p3 VALUES LESS THAN (1990), PARTITION p4 VALUES LESS THAN MAXVALUE )" +"CREATE TABLE testdb.m4 ( +f1 int(11) DEFAULT '0' NOT NULL, +f2 varchar(16) DEFAULT '' NOT NULL, +f5 text, +PRIMARY KEY(f1,f2,f5(16)) +) PARTITION BY KEY() PARTITIONS 2" +"CREATE TABLE testdb.m4 ( +f1 int(11) DEFAULT '0' NOT NULL, +f2 varchar(16) DEFAULT '' NOT NULL, +f5 blob, +PRIMARY KEY(f1,f2,f5(6)) +) PARTITION BY KEY() PARTITIONS 2" +"CREATE TABLE testdb.t_char_linear_alg1 ( +prefix_col CHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY () PARTITIONS 3" +"CREATE TABLE testdb.t_char_linear_alg1 ( +prefix_col CHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY ALGORITHM=1 () PARTITIONS 3" +"CREATE TABLE testdb.t_varchar_linear_alg1 ( +prefix_col VARCHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY ALGORITHM=1 () PARTITIONS 3" +"CREATE TABLE testdb.t_binary_linear_alg1 ( +prefix_col BINARY (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY ALGORITHM=1 () PARTITIONS 3" +"CREATE TABLE testdb.t_varbinary_linear_alg1 ( +prefix_col VARBINARY (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY ALGORITHM=1 () PARTITIONS 3" +"CREATE TABLE testdb.t_char_nonlinear_alg1 ( +prefix_col CHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY KEY ALGORITHM=1 () PARTITIONS 3" +"CREATE TABLE testdb.t_varchar_nonlinear_alg1 ( +prefix_col VARCHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY KEY ALGORITHM=1 () PARTITIONS 3" +"CREATE TABLE testdb.t_binary_nonlinear_alg1 ( +prefix_col BINARY (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY KEY ALGORITHM=1 () PARTITIONS 3" +"CREATE TABLE testdb.t_varbinary_nonlinear_alg1 ( +prefix_col VARBINARY (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY KEY ALGORITHM=1 () PARTITIONS 3" +"CREATE TABLE testdb.t_char_linear_alg2 ( +prefix_col CHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY ALGORITHM=2 () PARTITIONS 3" +"CREATE TABLE testdb.t_varchar_linear_alg2 ( +prefix_col VARCHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY ALGORITHM=2 () PARTITIONS 3" +"CREATE TABLE testdb.t_binary_linear_alg2 ( +prefix_col BINARY (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY ALGORITHM=2 () PARTITIONS 3" +"CREATE TABLE testdb.t_varbinary_linear_alg2 ( +prefix_col VARBINARY (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY LINEAR KEY ALGORITHM=2 () PARTITIONS 3" +"CREATE TABLE testdb.t_char_nonlinear_alg2 ( +prefix_col CHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY KEY ALGORITHM=2 () PARTITIONS 3" +"CREATE TABLE testdb.t_varchar_nonlinear_alg2 ( +prefix_col VARCHAR (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY KEY ALGORITHM=2 () PARTITIONS 3" +"CREATE TABLE testdb.t_binary_nonlinear_alg2 ( +prefix_col BINARY (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY KEY ALGORITHM=2 () PARTITIONS 3" +"CREATE TABLE testdb.t_varbinary_nonlinear_alg2 ( +prefix_col VARBINARY (100), +other_col VARCHAR (5), +PRIMARY KEY (prefix_col(10), other_col) +) PARTITION BY KEY ALGORITHM=2 () PARTITIONS 3" "DROP SCHEMA testdb" "drop table if exists t0,t1,t2,t3,t4" "drop table if exists t0,t5,t6,t7,t8,t9,t1_1,t1_2,t9_1,t9_2" @@ -76038,19 +85701,25 @@ PARTITION p4 VALUES LESS THAN MAXVALUE "create table t3 SELECT 3,""table 3""" "rename table t0 to t1" "rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1" +"rename table t1 to t1" +"rename table t3 to t4, t2 to t3, t1 to t2, t4 to t2" "show tables like ""t_""" +"rename table t3 to t1, t2 to t3, t1 to t2, t4 to t1" +"rename table t3 to t4, t5 to t3, t1 to t2, t4 to t1" "drop table t2, t4" +"alter table v1 rename to v2" "SET @orig_innodb_file_per_table= @@innodb_file_per_table" "SET GLOBAL innodb_file_per_table = 0" "create table t1(f1 int) engine=innodb" +"rename table test.t1 to nonexistingdb.t2" "SET GLOBAL innodb_file_per_table = @orig_innodb_file_per_table" "RENAME TABLE t1 TO t3" "RENAME TABLE t3 TO t4, t4 TO t5" "CREATE TABLE t1 (fk INT, FOREIGN KEY(fk) REFERENCES t3(pk))" "CREATE TABLE t0 (pk INT PRIMARY KEY)" +"RENAME TABLE t0 TO t3" "LOCK TABLES t1 READ, t0 WRITE" "LOCK TABLES t1 WRITE, t0 WRITE" -"RENAME TABLE t0 TO t3" "DROP TABLES t1, t3" "LOCK TABLES t2 READ, t4 WRITE" "INSERT INTO t5 values (1)" @@ -76064,11 +85733,14 @@ PARTITION p4 VALUES LESS THAN MAXVALUE "DROP TABLES t1, t2, t6" "CREATE TABLE t3 (k INT) ENGINE=InnoDB" "CREATE TABLE t4 (l INT) ENGINE=InnoDB" +"RENAME TABLES t1 TO t0, t2 TO t4" +"RENAME TABLE v1 TO v2" "RENAME TABLE v1 TO v3" "INSERT INTO v3 VALUES (1)" +"SELECT * FROM v3" "LOCK TABLES v2 WRITE, v3 WRITE" "RENAME TABLE v2 TO v0, v3 TO v2, v0 TO v3" -"SELECT * FROM v3" +"SELECT * FROM v0" "CREATE TABLE t3 (fk INT)" "CREATE TABLE t4 (pk INT NOT NULL, UNIQUE(pk))" "RENAME TABLES t2 TO t0, t3 TO t2, t0 TO t3" @@ -76078,17 +85750,22 @@ PARTITION p4 VALUES LESS THAN MAXVALUE "DROP TABLES t1, t2, t4" "SET foreign_key_checks = 1" "CREATE TABLE t1 (pk INT NOT NULL, UNIQUE(pk))" -"LOCK TABLES t1 WRITE, t3 WRITE" "RENAME TABLE t1 TO t4" +"DELETE FROM t4" "SET SESSION debug=""+d,abort_rename_after_update""" "SET SESSION debug=""-d,abort_rename_after_update""" "SET DEBUG_SYNC='open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR go'" "SET DEBUG_SYNC='now WAIT_FOR opened'" "CREATE TABLE t0 (m INT) ENGINE=MyISAM" "LOCK TABLES t1 WRITE, t2 WRITE, t0 WRITE" +"RENAME TABLES t0 TO t00, t1 TO t01" +"SELECT * FROM t00" +"SELECT * FROM t01" "DROP TABLES t00, t01, t2" "CREATE TABLE t0 (l INT) ENGINE=MyISAM" "LOCK TABLES t0 WRITE, t1 WRITE" +"RENAME TABLES t0 TO mysqltest.t0, t1 TO t01" +"SELECT * FROM mysqltest.t0" "DROP TABLES t01" "RENAME TABLE t1 TO tt1" "RENAME TABLE tt1 TO tt1tt1" @@ -76096,15 +85773,19 @@ PARTITION p4 VALUES LESS THAN MAXVALUE "RENAME TABLE ttt1ttt1ttt1ttt1_xyz TO tttttttttttttttt1_abc" "RENAME TABLE tttttttttttttttt1_abc TO t1" "LOCK TABLES t1 WRITE, t2 WRITE, t3 WRITE, t0 WRITE" +"RENAME TABLES t0 TO t00, t1 TO t01, t2 TO t4" "DROP TABLES t0, t1, t2, t3, t4" "RENAME TABLE t1 TO mysqltest.t1" "INSERT INTO mysqltest.t1 VALUES (1)" "DROP TABLE mysqltest.t1" "CREATE TABLE t4 (l INT) ENGINE=MyISAM" -"ALTER DATABASE mysqltest CHARACTER SET latin1" +"RENAME TABLES t1 TO mysqltest.t1, t2 TO t3" "LOCK TABLES t4 WRITE, t1 WRITE" +"RENAME TABLES t4 TO mysqltest.t4, t1 TO t3" "CREATE USER u1, r1" "RENAME USER u1 TO u11" +"ALTER USER u1 DEFAULT ROLE ALL" +"ALTER USER anything DEFAULT ROLE ALL" "ALTER USER u11 DEFAULT ROLE ALL" "DROP USER u11, r1" "CREATE USER u3@localhost" @@ -76116,6 +85797,7 @@ PARTITION p4 VALUES LESS THAN MAXVALUE "GRANT INSERT ON *.* TO r2" "ALTER USER u1@localhost DEFAULT ROLE r1,r2" "SHOW GRANTS FOR u1@localhost USING r1" +"RENAME USER r1 TO r2" "RENAME USER u1@localhost TO u2@localhost, u3@localhost TO u1@localhost" "SELECT * FROM mysql.default_roles ORDER BY default_role_user" "SELECT CURRENT_ROLE()" @@ -76127,8 +85809,8 @@ PARTITION p4 VALUES LESS THAN MAXVALUE "CREATE USER usr, role_usr" "RENAME USER role_usr to role_usr_test" "GRANT role_usr_test to usr" -"REVOKE role_usr_test from usr" "RENAME USER role_usr_test to role_usr" +"REVOKE role_usr_test from usr" "DROP USER usr, role_usr" "DROP USER usr" "DROP USER role_usr" @@ -76142,15 +85824,18 @@ PARTITION p4 VALUES LESS THAN MAXVALUE "RENAME USER u1 to u2" "GRANT r3 TO u2" "ALTER USER u2 DEFAULT ROLE r1, r2, r3" +"rename user r2 to r22" "REVOKE r2 FROM u2" "RENAME USER r2 to r22" "DROP ROLE r1,r22, r3" "GRANT r2 TO r3" "GRANT r3 to u1" "RENAME USER r3 to r33" +"DROP ROLE r3" "DROP ROLE r1, r2, r33" "REVOKE r3 FROM u1" "SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO LIKE ""RENAME TABLE%"" INTO @thread_id" +"rename database testdb1 to testdb2",,syntax_error "create table t1 SELECT 1,""table 1""" "alter table t1 ENGINE=HEAP" "create table t1(id int PRIMARY KEY, st varchar(10), KEY st_key(st))" @@ -76175,9 +85860,12 @@ PRIMARY KEY (gesuchnr,benutzer_id) "replace into t1 (gesuchnr,benutzer_id) values (1,1)" "create table t1 (a tinyint not null auto_increment primary key, b char(20) default ""default_value"")" "insert into t1 values (126,""first""),(63, ""middle""),(0,""last"")" +"insert into t1 values (0,""error"")" +"replace into t1 values (0,""error"")" "replace into t1 values (126,""first updated"")" "replace into t1 values (63,default)" "CREATE VIEW v1 AS SELECT f1 FROM t1 WHERE f1 = 0 WITH CHECK OPTION" +"REPLACE INTO v1 (f1) VALUES (1)" "CREATE DATABASE wl6797" "USE wl6797" "PREPARE x FROM 'INSERT INTO t1 VALUES (1), (2)'" @@ -76224,6 +85912,9 @@ PRIMARY KEY (gesuchnr,benutzer_id) "SET PROFILING=1" "SELECT 2" "RESET PERSIST IF EXISTS max_connections" +"RESET PERSIST IF EXISTS",,syntax_error +"RESET PERSIST IF EXISTS max_connections, long_query_time",,syntax_error +"RESET PERSIST max_connections, long_query_time",,syntax_error "select * from performance_schema.persisted_variables ORDER BY 1" "RESET PERSIST IF EXISTS replica_net_timeout" "SET PERSIST join_buffer_size= 262144" @@ -76237,15 +85928,23 @@ join_buffer_size= DEFAULT" "SELECT count(*) FROM performance_schema.persisted_variables WHERE variable_name = 'max_connections'" "CREATE RESOURCE GROUP café TYPE=USER VCPU=1-3 THREAD_PRIORITY=5" +"CREATE RESOURCE GROUP cafe TYPE=USER VCPU=1-3 THREAD_PRIORITY=5" +"CREATE RESOURCE GROUP CAFE TYPE=USER VCPU=1-3 THREAD_PRIORITY=5" "DROP RESOURCE GROUP CaFé" "CREATE RESOURCE GROUP rg1 TYPE=USER VCPU=0" "SET RESOURCE GROUP rg1" "SET DEBUG='+d,make_sure_cpu_affinity_is_dropped'" "DROP RESOURCE GROUP rg1 FORCE" "SET DEBUG='-d,make_sure_cpu_affinity_is_dropped'" +"CREATE RESOURCE GROUP test TYPE=USER VCPU=1-3 THREAD_PRIORITY=5" +"ALTER RESOURCE GROUP test VCPU=0" +"DROP RESOURCE GROUP test" +"SET RESOURCE GROUP test FOR 4" +"SET RESOURCE GROUP test FOR 4,5" +"SET RESOURCE GROUP test" "SELECT * FROM INFORMATION_SCHEMA.RESOURCE_GROUPS" -"GRANT SHUTDOWN ON *.* TO u1@localhost" RESTART +"GRANT SHUTDOWN ON *.* TO u1@localhost" "REVOKE SHUTDOWN ON *.* FROM u1@localhost" SHUTDOWN "CREATE DATABASE wl14690" @@ -76253,12 +85952,19 @@ SHUTDOWN "CREATE TABLE wl14690.t(i int, j int)" "CREATE FUNCTION wl14690.fun() RETURNS INT DETERMINISTIC CONTAINS SQL RETURN @var1" "SET @@global.partial_revokes = OFF" +"REVOKE ALL ON *.* FROM unknown_user" "REVOKE ALL ON *.* FROM unknown_user IGNORE UNKNOWN USER" "SELECT COUNT(*) FROM mysql.user where user = 'unknown_user'" +"REVOKE SELECT ON *.* FROM unknown_user" "REVOKE SELECT ON *.* FROM unknown_user IGNORE UNKNOWN USER" +"REVOKE ALL PRIVILEGES, GRANT OPTION FROM unknown_user" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM unknown_user IGNORE UNKNOWN USER" +"REVOKE PROXY ON u1 FROM unknown_user" "REVOKE PROXY ON u1 FROM unknown_user IGNORE UNKNOWN USER" +"REVOKE r1 FROM unknown_user" "REVOKE r1 FROM unknown_user IGNORE UNKNOWN USER" +"REVOKE ALL ON wl14690.* FROM u1" +"REVOKE ALL ON wl14690.* FROM u1 IGNORE UNKNOWN USER" "GRANT SELECT, INSERT (i) ON wl14690.t TO u1, u2" "GRANT SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN ON *.* TO u2" "GRANT CREATE ROUTINE ON wl14690.* TO u1" @@ -76267,19 +85973,30 @@ SHUTDOWN "REVOKE INSERT (i) ON wl14690.t FROM u1, u2 IGNORE UNKNOWN USER" "GRANT INSERT (i) ON wl14690.t TO u1, u2" "GRANT r1 TO u2" +"REVOKE SELECT, INSERT (i) ON wl14690.t FROM u1, u2, unknown_user" +"REVOKE TABLE_ENCRYPTION_ADMIN ON *.* FROM unknown_user, u2" +"REVOKE r1 FROM unknown_user, u2" "REVOKE r1 FROM unknown_user, u2 IGNORE UNKNOWN USER" "REVOKE SELECT, INSERT (i) ON wl14690.t FROM u1, u2, unknown_user IGNORE UNKNOWN USER" "REVOKE TABLE_ENCRYPTION_ADMIN ON *.* FROM unknown_user, u2 IGNORE UNKNOWN USER" +"REVOKE INSERT (i) ON wl14690.t FROM u1, u2, u3, unknown_user IGNORE UNKNOWN USER" +"REVOKE EVENT, TRIGGER ON wl14690.* FROM u2, u3, unknown_user IGNORE UNKNOWN USER" +"REVOKE PROXY ON u3 FROM u1" +"REVOKE IF EXISTS PROXY ON u3 FROM unknown_user, u1" "REVOKE IF EXISTS PROXY ON u3 FROM u1" "REVOKE IF EXISTS PROXY ON u3 FROM r1" "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON *.* to u1" +"REVOKE SELECT ON wl14690.* FROM u1" "REVOKE IF EXISTS SELECT ON wl14690.* FROM u1" "REVOKE IF EXISTS SELECT ON wl14690.* FROM r1" "REVOKE IF EXISTS INSERT (i) ON wl14690.t FROM u4" "REVOKE IF EXISTS INSERT (j) ON wl14690.t FROM u4" "REVOKE IF EXISTS ENCRYPTION_KEY_ADMIN, APPLICATION_PASSWORD_ADMIN ON *.* FROM u4" +"REVOKE role1 FROM u1" "REVOKE IF EXISTS role1 FROM u1" +"REVOKE r1, role1 FROM u1" "REVOKE IF EXISTS role1, r1 FROM u1" +"REVOKE IF EXISTS SELECT ON *.* FROM unknown_user" "REVOKE IF EXISTS SELECT, INSERT, UPDATE ON *.* FROM u1" "REVOKE ALL ON *.* FROM u2" "REVOKE ALL ON *.* FROM u3" @@ -76287,11 +86004,14 @@ SHUTDOWN "GRANT SELECT ON wl14690.* TO u2" "GRANT UPDATE, SELECT ON wl14690.* TO u3" "REVOKE IF EXISTS SELECT ON wl14690.* FROM u1, u2, u3" +"REVOKE role1 FROM u1, u2" "REVOKE IF EXISTS role1 FROM u1, u2" "SHOW GRANTS FOR u3" "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE on *.* to u1" "GRANT SELECT ON *.* TO u2" "GRANT SELECT ON wl14690.* TO u3" +"REVOKE DELETE, SELECT ON wl14690.* FROM u1, u2, u3" +"REVOKE IF EXISTS DELETE, SELECT ON wl14690.* FROM unknown_user, u1, u2" "REVOKE IF EXISTS DELETE, SELECT ON wl14690.* FROM u1, u2, u3" "REVOKE IF EXISTS DELETE, SELECT ON wl14690.* FROM r1" "REVOKE IF EXISTS SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN @@ -76299,6 +86019,8 @@ ON *.* FROM u1,u2,u3,u4,r1" "GRANT SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO u1" "GRANT UPDATE, SELECT ON *.* TO u2" "GRANT SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO u3" +"REVOKE IF EXISTS UPDATE, SELECT ON *.* FROM u1, u2, unknown_user" +"REVOKE IF EXISTS TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* FROM unknown_user, u3, u1" "REVOKE IF EXISTS UPDATE, SELECT ON wl14690.* FROM unknown_user IGNORE UNKNOWN USER" "REVOKE IF EXISTS PROXY ON u1 FROM unknown_user IGNORE UNKNOWN USER" "REVOKE IF EXISTS INSERT (i) ON wl14690.t FROM u1, u2 IGNORE UNKNOWN USER" @@ -76309,9 +86031,14 @@ IGNORE UNKNOWN USER" "REVOKE IF EXISTS SYSTEM_VARIABLES_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN ON *.* FROM u1, u2 IGNORE UNKNOWN USER" "REVOKE IF EXISTS SELECT ON wl14690.t FROM u1, unknown_user IGNORE UNKNOWN USER" +"REVOKE DYNAMIC_PRIV1, DYNAMIC_PRIV2 ON wl14690.* FROM u1" "REVOKE IF EXISTS DYNAMIC_PRIV1, DYNAMIC_PRIV2 ON wl14690.* FROM u1" +"REVOKE IF EXISTS DYNAMIC_PRIV1, DYNAMIC_PRIV2 ON wl14690.* FROM unknown_user" +"REVOKE DYNAMIC_PRIV1, DYNAMIC_PRIV2 ON wl14690.* FROM unknown_user IGNORE UNKNOWN USER" "REVOKE IF EXISTS DYNAMIC_PRIV1, DYNAMIC_PRIV2 ON wl14690.* FROM unknown_user IGNORE UNKNOWN USER" "SET GLOBAL mandatory_roles=r1" +"REVOKE r1 FROM u1" +"REVOKE r1 FROM u1,u2,u3,r2" "REVOKE IF EXISTS r1 FROM u1" "REVOKE IF EXISTS r1 FROM r2" "REVOKE IF EXISTS r1 FROM u1,u2,u3,r2" @@ -76472,12 +86199,15 @@ SOURCE_DELAY = 4711, SOURCE_AUTO_POSITION = 0 FOR CHANNEL 'chan_jackie'" "GRANT `admin-db1t1` TO `app`@`localhost`" "GRANT r1 TO `app-middleware-db1`@`localhost` WITH ADMIN OPTION" "SHOW GRANTS FOR CURRENT_USER() USING `admin-db1`" +"INSERT INTO db2.t2 VALUES (1,2,3)" +"SELECT * FROM db2.t2" +"GRANT `admin-db2t1` TO `app`@`localhost`" "SET ROLE `admin-db1t1`" +"GRANT `admin-db1t1` TO `app-middleware-db2`@`localhost`" "SELECT ExtractValue(ROLES_GRAPHML(),'count(//node)') as num_nodes" "SELECT ExtractValue(ROLES_GRAPHML(),'count(//edge)') as num_edges" "GRANT `admin-db1t1` TO `app`@`localhost` WITH ADMIN OPTION" "SET ROLE ALL" -"GRANT `admin-db1t1` TO `app-middleware-db2`@`localhost`" "REVOKE `admin-db1t1` FROM `app-middleware-db2`@`localhost`" "REVOKE `admin-db1t1` FROM `app`@`localhost`" "DROP ROLE `admin-db1`" @@ -76497,6 +86227,7 @@ SOURCE_DELAY = 4711, SOURCE_AUTO_POSITION = 0 FOR CHANNEL 'chan_jackie'" "GRANT r1 TO u1@localhost WITH ADMIN OPTION" "GRANT r2 TO u1@localhost" "GRANT r1 TO u2@localhost WITH ADMIN OPTION" +"GRANT r2 TO u2@localhost WITH ADMIN OPTION" "CREATE USER u3@localhost IDENTIFIED BY 'foo'" "CREATE ROLE role_admin, arbitrary_role" "GRANT ROLE_ADMIN ON *.* TO role_admin" @@ -76504,6 +86235,7 @@ SOURCE_DELAY = 4711, SOURCE_AUTO_POSITION = 0 FOR CHANNEL 'chan_jackie'" "SET ROLE role_admin" "GRANT arbitrary_role TO u1@localhost" "GRANT r1 TO u3@localhost" +"GRANT SELECT ON *.* TO u3@localhost" "DROP USER u1@localhost, u2@localhost, u3@localhost" "DROP ROLE r1,r2,role_admin,arbitrary_role" "CREATE USER `u1`@`%` IDENTIFIED BY 'foo'" @@ -76512,18 +86244,23 @@ SOURCE_DELAY = 4711, SOURCE_AUTO_POSITION = 0 FOR CHANNEL 'chan_jackie'" "GRANT r2 TO r1" "GRANT r2 TO u1" "SET ROLE all" +"GRANT r2 TO u2" "GRANT r3 TO r2 WITH ADMIN OPTION" "GRANT r3 to u2" -"GRANT r3 TO u1 WITH ADMIN OPTION" "SET ROLE r3" +"GRANT r3 TO u1 WITH ADMIN OPTION" "GRANT r3 TO u2 WITH ADMIN OPTION" "DROP ROLE r1,r2,r3" "GRANT CREATE ON *.* TO r1" "REVOKE CREATE ON *.* FROM r1" "GRANT CREATE ON db1.* TO r1" +"CREATE TABLE db2.test (c1 int)" "GRANT CREATE, DROP, INSERT ON db2.* TO r1" "CREATE TABLE db2.t1 (c1 INT)" "INSERT INTO db2.t1 VALUES (1),(2),(3)" +"SELECT c1 FROM db2.t1" +"UPDATE db2.t1 SET c1=1" +"ALTER TABLE db1.t1 ADD COLUMN (c2 INT)" "SHOW STATUS LIKE '%Acl_cache%'" "CREATE USER b30896461_test1@localhost" "CREATE USER b30896461_test2@localhost" @@ -76568,13 +86305,14 @@ SELECT * FROM db1.t2; END" "GRANT EXECUTE ON *.* TO r1" "CALL db1.sp1()" +"CALL db1.sp3()" "REVOKE EXECUTE ON *.* FROM r1" "GRANT EXECUTE ON db1.* TO r1" "CALL db1.sp2()" +"CALL db2.sp1()" "REVOKE EXECUTE ON db1.* FROM r1" "GRANT EXECUTE ON PROCEDURE db1.sp1 TO r1" "GRANT EXECUTE, SELECT ON db1.* TO r1" -"CALL db1.sp3()" "CREATE SCHEMA world" "USE world" "CREATE PROCEDURE world.proc_empty() BEGIN END" @@ -76587,6 +86325,7 @@ END" "SHOW GRANTS FOR u_worldrou@localhost USING r_worldrou" "CALL world.proc_empty()" "SELECT world.func_plusone(1)" +"SELECT world.func_plustwo(1)" "DROP SCHEMA world" "DROP ROLE r_worldrou" "DROP USER u_worldrou@localhost" @@ -76619,6 +86358,7 @@ END" "GRANT SELECT ON db1.* TO u2@localhost" "SELECT * FROM db1.v5" "SELECT * FROM db1.v2" +"SELECT * FROM db1.v4" "REVOKE r1 FROM u1@localhost" "CREATE USER user_with_role@localhost" "CREATE ROLE test_role" @@ -76655,14 +86395,19 @@ END" "CREATE ROLE `role`@`host`" "DROP ROLE `role`@`host`" "CREATE ROLE role, role1, role2" +"CREATE ROLE r1 IDENTIFIED BY 'test'",,syntax_error "SELECT user,host, plugin,IF(account_locked = 'Y',""Account is locked"",""ERROR"") FROM mysql.user u WHERE u.user NOT IN ('root', 'mysql.sys', 'mysql.session', 'mysql.infoschema')" "CREATE ROLE IF NOT EXISTS role1, role2" "GRANT 'role' TO role1" "SELECT count_alloc - count_free FROM performance_schema.memory_summary_global_by_event_name WHERE event_name LIKE '%acl_map_cache'" "CREATE USER user1, user2, user3@host3" +"GRANT role1 TO user1" "CREATE ROLE role2@host2" "CREATE ROLE role3" "GRANT role1, `role2`@`host2`, role3 TO user1, user2, `user3`@`host3`" +"GRANT sys_role TO peter@clickhost.net" +"GRANT role1 TO peter@clickhost.net" +"GRANT sys_role TO user1" "CREATE USER joan" "CREATE USER sally" "CREATE ROLE engineering" @@ -76679,10 +86424,14 @@ END" "CREATE USER `joe`@`localhost`" "GRANT wp_administrators TO joe@localhost WITH ADMIN OPTION" "GRANT SELECT ON test.* TO wp_administrators" +"GRANT engineering ON *.*, SUPER ON *.* TO joan, sally",,syntax_error +"GRANT SUPER, engineering ON *.* TO joan, sally" +"GRANT engineering,SELECT ON *.* TO joan" "REVOKE engineering ON *.* FROM joan, sally" "REVOKE wp_administrators, engineering ON *.* FROM joan, sally" "GRANT 'role',engineering TO current_user()" "SET ROLE 'role'" +"SET ROLE role1, role2" "SET ROLE `role`" "SET ROLE none" "SET ROLE engineering, 'role'" @@ -76690,6 +86439,8 @@ END" "GRANT role1 TO current_user()" "REVOKE 'role' FROM role1" "REVOKE role1, `role2`@`host2`, role3 FROM user1, user2, `user3`@`host3`" +"REVOKE engineering_role FROM foo@localhost" +"REVOKE engineering FROM managers" "REVOKE engineering FROM joan" "REVOKE engineering, role1 FROM root@localhost" "DROP ROLE 'role'" @@ -76697,10 +86448,12 @@ END" "DROP ROLE IF EXISTS role1, role2" "DROP ROLE IF EXISTS `role`, `role`@`host`" "ALTER USER `joe`@`localhost` DEFAULT ROLE wp_administrators" +"ALTER USER `joe`@`localhost` DEFAULT ROLE wp_administrators,engineering" "ALTER USER CURRENT_USER() DEFAULT ROLE NONE" "SHOW GRANTS FOR `wp_administrators`" "SHOW GRANTS FOR `joe`@`localhost`" "SHOW GRANTS FOR `joe`@`localhost` USING wp_administrators" +"SHOW GRANTS FOR `joe`@`localhost` USING role1" "GRANT engineering TO joe@localhost" "GRANT UPDATE ON test.* TO engineering" "SHOW GRANTS FOR `joe`@`localhost` USING engineering" @@ -76725,6 +86478,7 @@ END" "GRANT delete_stuff_privilege TO `replication`" "SHOW GRANTS FOR current_user() USING `replication`" "SHOW GRANTS FOR `joe`@`localhost` USING `replication`" +"SHOW GRANTS FOR `root`@`localhost` USING `replication`" "DROP ROLE `replication`" "DROP ROLE `delete_stuff_privilege`" "DROP ROLE consultants" @@ -76762,6 +86516,7 @@ END" "GRANT backup_admin TO db_admin" "GRANT schema_admin TO db_admin" "GRANT security_admin TO process_admin" +"GRANT no_such_grant TO user_admin" "GRANT CREATE USER ON *.* TO user_admin" "GRANT UPDATE,INSERT,DELETE ON mysql.user TO security_admin" "GRANT UPDATE,INSERT,DELETE ON mysql.db TO security_admin" @@ -76776,11 +86531,12 @@ END" "ALTER USER `joe_schema_designer`@`localhost` DEFAULT ROLE `schema_designer`" "SHOW GRANTS FOR 'joe_schema_designer'@'localhost' USING 'schema_designer'" "UPDATE t1 SET c1=1" +"DROP DATABASE joes" "SET ROLE `schema_admin`" "CREATE DATABASE joes" "CREATE TABLE joes.t1 (c1 INT)" "DROP TABLE joes.t1" -"DROP DATABASE joes" +"SELECT * FROM mysql.user" "CREATE TABLE db1.t1 (c1 int, c2 int)" "GRANT SELECT ON db1.t1 TO backup_admin" "GRANT UPDATE(c2) ON db1.t1 TO backup_admin" @@ -76789,6 +86545,7 @@ END" "GRANT db_admin to joe_schema_designer@localhost" "SHOW GRANTS FOR 'joe_schema_designer'@'localhost' USING 'db_admin'" "SET ROLE db_admin" +"UPDATE db1.t1 SET c1=1" "UPDATE db1.t1 SET c2=1" "CREATE PROCEDURE db1.sp1() BEGIN @@ -76801,9 +86558,9 @@ END" "GRANT EXECUTE ON PROCEDURE db1.sp1 TO `db_admin`" "GRANT EXECUTE ON PROCEDURE db1.sp2 TO `db_admin`" "SHOW GRANTS FOR CURRENT_USER() USING `db_admin`" +"CALL test.sp1()" "GRANT EXECUTE ON test.* TO 'joe_schema_designer'@'localhost'" "SHOW GRANTS FOR CURRENT_USER() USING db_admin" -"CALL test.sp1()" "SELECT user,host FROM mysql.user WHERE user NOT IN ('root', 'mysql.sys', 'mysql.session', 'mysql.infoschema')" "DROP ROLE maintenance_admin" "DROP ROLE user_admin" @@ -76824,9 +86581,9 @@ END" "CREATE DATABASE haha" "CREATE ROLE rr" "GRANT rr TO hoho@localhost" +"USE haha" "SET ROLE rr" "GRANT ALL ON haha.* TO hoho@localhost" -"USE haha" "DROP USER hoho@localhost" "DROP ROLE rr" "DROP DATABASE haha" @@ -76843,7 +86600,6 @@ END" "ALTER USER u1@localhost DEFAULT ROLE NONE" "SET DEFAULT ROLE NONE TO 'u1'@'localhost'" "SET DEFAULT ROLE ALL TO u1@localhost" -"DROP ROLE r3" "DROP ROLE r4" "DROP ROLE r5" "DROP ROLE r6" @@ -76866,6 +86622,9 @@ END" "SELECT * FROM other.t1" "GRANT SELECT ON other.t1 TO u1@localhost" "use other" +"SET ROLE `no such role`" +"SET DEFAULT ROLE `rrrrr` TO u1@localhost" +"ALTER USER u1@localhost DEFAULT ROLE `asdasd`" "DROP DATABASE other" "DROP USER r1" "REVOKE r1 from u1@localhost" @@ -76875,8 +86634,11 @@ END" "SET ROLE r11" "DROP USER u1@localhost, r1, r11" "CREATE ROLE r1@vilhelmina" +"GRANT R1@Vilhelmina TO u1@localhost" "GRANT r1@Vilhelmina TO u1@localhost" "SET ROLE r1@Vilhelmina" +"SET ROLE R1@vilhelmina" +"SET ROLE R1@Vilhelmina" "DROP USER u1@localhost, r1@vilhelmina" "CREATE ROLE `u1234567890123456789012345678901`" "CREATE USER 'u1'@'localhost'" @@ -76885,10 +86647,12 @@ END" "SHOW GRANTS FOR u1@localhost USING u1234567890123456789012345678901" "REVOKE u1234567890123456789012345678901 FROM u1@localhost" "DROP ROLE u1234567890123456789012345678901" +"CREATE ROLE `u12345678901234567890123456789012`" "CREATE ROLE `PUBLIC`,`EVENT_SCHEDULER`,`127.0.0.1`,`a b`" "DROP ROLE `PUBLIC`,`EVENT_SCHEDULER`,`127.0.0.1`,`a b`" "CREATE ROLE PUBLIC" "DROP ROLE PUBLIC" +"ALTER USER u1@localhost DEFAULT ROLE r2" "SELECT ExtractValue(ROLES_GRAPHML(),'//node[text()=""`mysql.sys`@`localhost`""]')" "SELECT ExtractValue(ROLES_GRAPHML(),'//node[text()=""`mysql.session`@`localhost`""]')" "DROP TABLE IF EXISTS test.t5" @@ -76925,6 +86689,7 @@ admin2 IDENTIFIED WITH mysql_native_password" "ALTER USER u1 DEFAULT ROLE r1" "SET DEFAULT ROLE 'r1' TO u1@localhost" "ALTER USER u1@localhost DEFAULT ROLE 'r1'" +"CREATE USER u1@localhost IDENTIFIED BY 'foo' DEFAULT ROLE 'rr1'" "CREATE USER u1@localhost IDENTIFIED BY 'foo' DEFAULT ROLE 'r2'" "CREATE USER foo@localhost IDENTIFIED BY 'foo'" "GRANT r1 to foo@localhost" @@ -76939,16 +86704,24 @@ admin2 IDENTIFIED WITH mysql_native_password" "SET DEFAULT ROLE r1 TO foo@localhost" "SELECT CURRENT_USER(),CURRENT_ROLE()" "CREATE USER 'ok' IDENTIFIED BY 'ok'" +"CREATE USER 'fail' IDENTIFIED BY 'fail' DEFAULT ROLE 'r1'" "DROP USER foo@localhost,ok" "CREATE USER foo@localhost" +"UPDATE db1.t1 SET c1=2" "SHOW GRANTS FOR CURRENT_USER() USING r1" "REVOKE SELECT ON db1.t1 FROM r1" "GRANT SELECT(c1) ON db1.t1 TO r1" +"SELECT c1 FROM db1.t2" +"SELECT c2 FROM db1.t1" "SELECT c1 FROM db1.t1" "REVOKE SELECT(c1) ON db1.t1 FROM r1" "CREATE TABLE db1.t3 (c1 INT, c2 INT, c3 INT)" "GRANT SELECT ON *.* TO r2" "GRANT SELECT ON db1.t2 TO r1 WITH GRANT OPTION" +"UPDATE db1.t2 SET c1=2" +"GRANT SELECT ON *.* TO u1@localhost" +"GRANT SELECT ON db1.* TO u1@localhost" +"GRANT SELECT ON db1.t1 TO u1@localhost" "GRANT SELECT ON db1.t2 TO u1@localhost" "REVOKE SELECT ON db1.t2 FROM u1@localhost" "GRANT SELECT (c1) ON db1.t2 TO u1@localhost" @@ -76957,8 +86730,10 @@ admin2 IDENTIFIED WITH mysql_native_password" "GRANT SELECT ON db1.* TO r2" "REVOKE SELECT ON db1.* FROM r2" "GRANT SELECT ON db1.t1 TO r2" +"SELECT * FROM db1.t3" "REVOKE SELECT ON db1.t1 FROM r2" "GRANT SELECT(c1) ON db1.t1 TO r2" +"SELECT c1 FROM db1.t3" "REVOKE SELECT(c1) ON db1.t1 FROM r2" "GRANT SELECT ON db1.t2 TO r1" "SHOW GRANTS FOR u1@localhost USING r1,r2" @@ -76981,14 +86756,20 @@ admin2 IDENTIFIED WITH mysql_native_password" "GRANT SELECT ON `db%`.* TO r3 WITH GRANT OPTION" "GRANT SELECT ON `secdb1`.* TO r4 WITH GRANT OPTION" "GRANT r1,r2,r3,r4 TO u1@localhost" -"SET ROLE r2" "SELECT * FROM db1aaaa.t1" +"SELECT * FROM dddddb1.t1" +"SET ROLE r2" "GRANT SELECT ON db_.* TO u2@localhost" +"GRANT SELECT ON `%db1`.* TO u2@localhost" "SET ROLE r4" "GRANT SELECT ON `secdb1`.* TO u2@localhost" "GRANT SELECT ON `secdb1`.`t1` TO u2@localhost" +"GRANT SELECT ON `secdb%`.* TO u2@localhost" +"GRANT SELECT ON `secdb_`.* TO u2@localhost" +"GRANT SELECT ON `secdb_`.`t1` TO u2@localhost" "GRANT INSERT ON `%db1`.* TO r1" "INSERT INTO dddddb1.t1 VALUES (1)" +"INSERT INTO db2.t1 VALUES (1)" "DROP ROLE r1,r2,r3,r4" "DROP DATABASE db1aaaa" "DROP DATABASE dddddb1" @@ -77013,6 +86794,7 @@ SELECT CURRENT_ROLE() AS CURRENT_ROLE, ROLES_GRAPHML() AS ROLES_GRAPHML" "REVOKE r1 FROM root@localhost" "CREATE USER uu@localhost, u1@localhost" "GRANT CREATE ROLE, DROP ROLE ON *.* TO uu@localhost" +"DROP ROLE u1@localhost" "DROP USER uu@localhost, u1@localhost" "CREATE table my_db.t1 (id int primary key)" "CREATE ROLE my_role" @@ -77037,14 +86819,15 @@ END " "REVOKE ALL ON *.* FROM my_role" "REVOKE ALL ON *.* FROM foo@localhost" "GRANT EXECUTE ON *.* TO foo@localhost" +"INSERT into my_db.t1 values(10)" "DROP USER my_user" "DROP USER foo@localhost, baz@localhost" "DROP ROLE my_role" "GRANT r2 TO r1 WITH ADMIN OPTION" "GRANT r1 TO u1 WITH ADMIN OPTION" "REVOKE r1 FROM u2" -"GRANT r2 TO u2" "CREATE USER u2 DEFAULT ROLE r1" +"CREATE USER u3 DEFAULT ROLE r2" "CREATE TABLE bug_test.test_table (test_id int, test_data varchar(50), row_is_verified bool)" "INSERT INTO bug_test.test_table VALUES(1, 'valueA', FALSE)" @@ -77065,8 +86848,11 @@ row_is_verified bool)" "DROP ROLE `r_verifier`@`localhost`" "CREATE ROLE r1,r2,r3,r4" "GRANT r4 TO r3" +"GRANT r1 TO r1" +"GRANT r3 TO r1" "SET @save_mandatory_roles = @@global.mandatory_roles" "SET GLOBAL mandatory_roles = 'r4'" +"GRANT r3 TO r4" "SET GLOBAL mandatory_roles = @save_mandatory_roles" "GRANT SELECT ON *.* TO test_role" "CREATE USER test_user DEFAULT ROLE test_role" @@ -77097,15 +86883,16 @@ row_is_verified bool)" "SET DEBUG_SYNC='now WAIT_FOR s1'" "SET DEBUG_SYNC='after_table_grant_revoke SIGNAL s2'" "REVOKE ALL ON my_db.t1 FROM foo_role" +"INSERT into my_db.t1 values(9) on duplicate key UPDATE id = values(id) + 90" "REVOKE ALL ON my_db.t1 FROM bar" "DROP USER foo, bar" "DROP ROLE foo_role" "CREATE USER b35471453@localhost" "GRANT CREATE ROLE, DROP ROLE ON *.* TO b35471453@localhost" "CREATE TABLE t35471453(c1 INT)" -"GRANT SET_ANY_DEFINER, ALLOW_NONEXISTENT_DEFINER ON *.* TO b35471453@localhost" "CREATE OR REPLACE DEFINER = 'role_35471453' VIEW v35471453 AS TABLE t35471453" +"GRANT SET_ANY_DEFINER, ALLOW_NONEXISTENT_DEFINER ON *.* TO b35471453@localhost" "REVOKE SET_ANY_DEFINER, ALLOW_NONEXISTENT_DEFINER ON *.* FROM b35471453@localhost" "DROP ROLE IF EXISTS role_35471453" "DROP VIEW v35471453" @@ -77219,6 +87006,7 @@ AS TABLE t35471453" "select row('b',1.5,3) IN (row('b',NULL,3), row('a',1.5,3), row(1,3,3))" "select row('b',1.5,3) IN (row('b',NULL,4), row('a',1.5,3), row(1,3,3))" "select (1,2,(3,4)) IN ((3,2,(3,4)), (1,2,(3,4)))" +"select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,4))" "select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)))" "explain select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)))" "select row(1,2,row(3,null)) IN (row(3,2,row(3,4)), row(1,2,row(4,5)))" @@ -77238,9 +87026,11 @@ AS TABLE t35471453" "SELECT ROW(NULL,2,3)<=>ROW(NULL,2,3)" "SELECT ROW(1,2,ROW(3,4,5))=ROW(1,2,ROW(3,4,5))" "SELECT ROW('test',2,3.33)=ROW('test',2,3.33)" +"SELECT ROW('test',2,3.33)=ROW('test',2,3.33,4)" "SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33))" "SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,3))" "SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL))" +"SELECT ROW('test',2,ROW(3,33))=ROW('test',2,4)" "create table t1 ( a int, b int, c int)" "insert into t1 values (1,2,3), (2,3,1), (3,2,1), (1,2,NULL)" "select * from t1 where ROW(1,2,3)=ROW(a,b,c)" @@ -77250,6 +87040,10 @@ AS TABLE t35471453" "select ROW(c,2,3) IN(row(1,b,a), row(2,3,1)) from t1" "select ROW(a,b,c) IN(row(1,2,3), row(3,2,1)) from t1" "select ROW(1,2,3) IN(row(a,b,c), row(1,2,3)) from t1" +"select ROW(1,1)" +"select 1 from t1 where ROW(1,1)" +"select count(*) from t1 order by ROW(1,1)" +"select count(*) from t1 having (1,1) order by i" "insert into t1 values (1, 4)" "insert into t1 values (10, 40)" "insert into t1 values (10, 43)" @@ -77257,6 +87051,15 @@ AS TABLE t35471453" "select a, MAX(b), (1, MAX(b)) = (1, 4) from t1 group by a" "SELECT ROW(2,10) <=> ROW(3,4)" "SELECT ROW(NULL,10) <=> ROW(3,NULL)" +"SELECT ROW(1,ROW(2,3)) IN (ROW(1,ROW(2,3)),ROW(1,1))" +"SELECT ROW(1,ROW(2,3)) IN (ROW(1,ROW(2,3)),ROW(1,1),ROW(1,ROW(2,3)))" +"SELECT ROW(1,ROW(2,3)) IN (ROW(1,ROW(2,3)),ROW(1,ROW(2,2,2)))" +"SELECT ROW(1,ROW(2,3,4)) IN (ROW(1,ROW(2,3,4)),ROW(1,ROW(2,2)))" +"SELECT ROW(1,ROW(2,3)) IN (ROW(1,ROW(2,3)),(SELECT 1,1))" +"SELECT ROW(1,ROW(2,3)) IN (ROW(1,ROW(2,3)),(SELECT 1,1),ROW(1,ROW(2,4)))" +"SELECT ROW(1,ROW(2,3)) IN ((SELECT 1,1),ROW(1,ROW(2,3)))" +"SELECT ROW(2,1) IN (ROW(21,2),ROW(ROW(1,1,3),0))" +"SELECT ROW(2,1) IN (ROW(ROW(1,1,3),0),ROW(21,2))" "CREATE TABLE t1(a int, b int, c int)" "INSERT INTO t1 VALUES (1, 2, 3), (NULL, 2, 3 ), (1, NULL, 3 ), (1, 2, NULL), @@ -77354,6 +87157,12 @@ ROW('1', (SELECT 1 FROM t1 WHERE a > '1234abc'))" "SELECT i FROM t1 WHERE ROW(1,2) = (SELECT 1,2 FROM DUAL WHERE 1 = 0)" "SELECT i FROM t1 WHERE ROW(1,2) = (SELECT 1,3 FROM DUAL WHERE 1 = 0)" "CREATE TABLE t1 ( a INT ) ENGINE = INNODB" +"SELECT row( 1, 1, 1 ) = row( 1, 1 ) FROM t1 GROUP BY a" +"SELECT 1 <=>ALL (SELECT 1)",,syntax_error +"SELECT ROW(ST_Intersection(POINT(1, 1), 1), (SELECT 1))" +"SELECT ROW(1, ST_Intersection(POINT(1, 1), 1), (SELECT 1))" +"SELECT ROW(POW(1000, 1000), (SELECT 1))" +"SELECT ROW(1, 2, POW(1000, 1000), (SELECT 1))" "CREATE TABLE v0(v1 DEC, v2 INT)" "INSERT INTO v0 VALUES (64, 93)" "CREATE ALGORITHM = TEMPTABLE VIEW v3 AS @@ -77402,9 +87211,11 @@ WHERE (v1, FALSE) IN "CREATE TABLE schema1.t1 (a INT)" "SET autocommit= FALSE" "INSERT INTO schema1.t1 VALUES (1)" +"ALTER SCHEMA schema1 DEFAULT CHARACTER SET utf8mb3" "SET autocommit= TRUE" "CREATE TABLE schema1.t1 (id INT)" "LOCK TABLE schema1.t1 WRITE" +"CREATE SCHEMA IF NOT EXISTS schema1" "INSERT INTO db1.t1 VALUES (1), (2)" "HANDLER db1.t1 OPEN" "CREATE TABLE db1.t1 (id INT)" @@ -77425,6 +87236,8 @@ WHERE (v1, FALSE) IN "CREATE VIEW s.v AS SELECT * FROM mysql.time_zone" "CREATE TABLE s.t (pk INTEGER PRIMARY KEY) ENGINE= InnoDB" "CREATE TABLE s.t_innodb (pk INTEGER PRIMARY KEY) ENGINE= InnoDB" +"ALTER TABLE s.t_innodb ADD COLUMN c INTEGER" +"SHOW CREATE TABLE s.t_innodb" "DROP TABLE s.t_innodb" "CREATE FUNCTION db1.f1() RETURNS INT RETURN 0" "SELECT db1.f1()" @@ -77439,9 +87252,13 @@ FULLTEXT fidx(title), PRIMARY KEY(id))" "call mtr.add_suppression(""\\[Warning\\] .*MY-\\d+.* Tablespace .*, name '.*', file '.*' is missing!"")" "DROP SCHEMA IF EXISTS s1" "CREATE SCHEMA IF NOT EXISTS s1" +"CREATE SCHEMA bogus__" +"CREATE SCHEMA IF NOT EXISTS bogus__" +"DROP SCHEMA bogus__" +"DROP SCHEMA IF EXISTS bogus__" "CREATE SCHEMA broken" -"DROP SCHEMA IF EXISTS broken" "DROP SCHEMA broken" +"DROP SCHEMA IF EXISTS broken" "CREATE SCHEMA s CHARACTER SET ascii" "SHOW VARIABLES LIKE 'collation_database'" "ALTER SCHEMA s ENCRYPTION = 'n'" @@ -77449,7 +87266,11 @@ FULLTEXT fidx(title), PRIMARY KEY(id))" "ALTER SCHEMA s1 READ ONLY DEFAULT" "CREATE DATABASE test1 COLLATE utf8mb4_bin CHARACTER SET utf8mb4" "SHOW CREATE DATABASE test1" +"CREATE TABLE s.t (pk INTEGER PRIMARY KEY)" "CREATE TABLE s.t_myisam (pk INTEGER PRIMARY KEY)" +"ALTER TABLE s.t_myisam ADD COLUMN c INTEGER" +"SHOW CREATE TABLE s.t_myisam" +"DROP TABLE s.t_myisam" "CREATE TABLE pt1 (a INT NOT NULL, PRIMARY KEY(a)) PARTITION BY RANGE (a) PARTITIONS 3 ( PARTITION p1 VALUES LESS THAN (1000), @@ -77718,6 +87539,13 @@ UNION ALL "update t1 set b=""a"" where a=1" "insert into t1 values(1,""test""),(2,""test2"")" "select 1 from t1,t1 as t2,t1 as t3" +"update t1 set b=""a""" +"update t1 set b=""a"" where b=""test""" +"delete from t1 where b=""test""" +"delete from t1 where a+0=1" +"select 1 from t1,t1 as t2,t1 as t3,t1 as t4,t1 as t5, t1 as t6" +"select /*+ SET_VAR(max_join_size = 10) */ +1 from t1,t1 as t2,t1 as t3,t1 as t4,t1 as t5, t1 as t6" "select /*+ SET_VAR(max_join_size = 11) */ 1 from t1,t1 as t2,t1 as t3,t1 as t4,t1 as t5, t1 as t6" "update t1 set b=""a"" limit 1" @@ -77728,8 +87556,8 @@ UNION ALL "SET MAX_JOIN_SIZE=1" "SELECT @@MAX_JOIN_SIZE, @@SQL_BIG_SELECTS" "insert into t1 values (null,""a""),(null,""a""),(null,""a""),(null,""a""),(null,""a""),(null,""a""),(null,""a""),(null,""a""),(null,""a""),(null,""a"")" -"SET SQL_BIG_SELECTS=1" "SELECT * from t1 order by a" +"SET SQL_BIG_SELECTS=1" "SET MAX_JOIN_SIZE=DEFAULT" "explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b" "set MAX_SEEKS_FOR_KEY=1" @@ -77738,6 +87566,7 @@ UNION ALL "select * from (select * from t1) x" "set max_join_size=3" "set local max_join_size=1" +"select * from (select a.a as aa, b.a as ba from t1 a, t1 b) x" "select * from (select 1 union select 2 union select 3) x" "SET SQL_SAFE_UPDATES=0,SQL_SELECT_LIMIT=DEFAULT, MAX_JOIN_SIZE=DEFAULT" "CREATE TABLE t1 (c1 INT NOT NULL, c2 VARCHAR(200) NOT NULL, @@ -77758,14 +87587,24 @@ SELECT n, n FROM qn" "INSERT INTO t2 SELECT * FROM t1 WHERE id <= 10" "SELECT /*+ SET_VAR(max_join_size = 110) */ COUNT(*) FROM t1, t2 WHERE t1.x = t2.x" +"SELECT /*+ SET_VAR(max_join_size = 109) */ +COUNT(*) FROM t1, t2 WHERE t1.x = t2.x" "SELECT /*+ SET_VAR(max_join_size = 20) */ COUNT(*) FROM t1, t2 WHERE t1.id = t2.x" +"SELECT /*+ SET_VAR(max_join_size = 19) */ +COUNT(*) FROM t1, t2 WHERE t1.id = t2.x" "SELECT /*+ SET_VAR(max_join_size = 110) */ COUNT(x) FROM t1 UNION ALL SELECT COUNT(x) FROM t2" "SELECT /*+ SET_VAR(max_join_size = 110) */ COUNT(x) FROM t1 UNION SELECT COUNT(x) FROM t2" +"SELECT /*+ SET_VAR(max_join_size = 109) */ COUNT(x) FROM t1 +UNION ALL SELECT COUNT(x) FROM t2" +"SELECT /*+ SET_VAR(max_join_size = 109) */ COUNT(x) FROM t1 +UNION SELECT COUNT(x) FROM t2" "SELECT /*+ SET_VAR(max_join_size = 1111) */ COUNT(*) FROM t1, t2 WHERE t1.x=t2.x AND (SELECT MAX(t1.id+t2.id+t3.id) FROM t2 AS t3)" +"SELECT /*+ SET_VAR(max_join_size = 1109) */ COUNT(*) FROM t1, t2 +WHERE t1.x=t2.x AND (SELECT MAX(t1.id+t2.id+t3.id) FROM t2 AS t3)" "SET max_join_size = 1111" "SELECT COUNT(*) FROM t1 LEFT JOIN t2 ON t1.x=t2.x AND (SELECT MAX(t1.id+t2.id+t3.id) FROM t2 AS t3)" @@ -77778,53 +87617,74 @@ WHERE t1.x=t2.x AND (SELECT DISTINCT t3.x>0 FROM t2 AS t3)" "SELECT /*+ SET_VAR(max_join_size=110) */ COUNT(*) FROM (SELECT DISTINCT x FROM t1) AS dt1, (SELECT DISTINCT x FROM t2) AS dt2 WHERE dt1.x=dt2.x" +"SELECT /*+ SET_VAR(max_join_size=109) */ COUNT(*) FROM +(SELECT DISTINCT x FROM t1) AS dt1, +(SELECT DISTINCT x FROM t2) AS dt2 WHERE dt1.x=dt2.x" "CREATE TABLE t(id INT PRIMARY KEY AUTO_INCREMENT, x INT, y INT, KEY (x))" "INSERT INTO t(x, y) VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10)" "INSERT INTO t(x, y) SELECT x, y FROM t" "SET max_join_size = 9" -"SET max_join_size = 10" "SELECT 1 FROM t LIMIT 10" "SELECT x FROM t ORDER BY x LIMIT 10" "SELECT * FROM t ORDER BY id LIMIT 10" +"SET max_join_size = 10" "SET max_join_size = 29" -"SET max_join_size = @@max_join_size + 1" "SELECT 1 FROM t WHERE y = 3 ORDER BY x LIMIT 3" +"SET max_join_size = @@max_join_size + 1" +"SELECT /*+ SET_VAR(max_join_size = 79) */ y FROM t ORDER BY y LIMIT 10" "SELECT /*+ SET_VAR(max_join_size = 80) */ y FROM t ORDER BY y LIMIT 10" "SET max_join_size = 79" -"SET max_join_size = 80" "SELECT SUM(y) FROM t LIMIT 10" "SELECT SUM(y) FROM t GROUP BY x LIMIT 10" "SELECT SUM(x) FROM t GROUP BY y LIMIT 10" +"SET max_join_size = 80" "SET max_join_size = 6" -"SET max_join_size = 7" "(SELECT 1 FROM t LIMIT 3) UNION DISTINCT (SELECT 1 FROM t LIMIT 4)" "(SELECT 1 FROM t LIMIT 3) UNION DISTINCT (SELECT 1 FROM t LIMIT 4) LIMIT 1" "(SELECT 1 FROM t LIMIT 3) UNION ALL (SELECT 1 FROM t LIMIT 4)" "(SELECT 1 FROM t LIMIT 3) UNION ALL (SELECT 1 FROM t LIMIT 4) LIMIT 10" +"SET max_join_size = 7" "SET max_join_size = 4" -"SET max_join_size = 5" "(SELECT 1 FROM t LIMIT 3) UNION ALL (SELECT 1 FROM t LIMIT 4) LIMIT 5" +"SET max_join_size = 5" "SET max_join_size = 17" "SELECT 1 FROM t AS t1, t AS t2 WHERE t1.x = t2.x LIMIT 16" "SET max_join_size = 81" "SELECT 1 FROM t AS t1, t AS t2 WHERE t1.y = t2.y LIMIT 16" "INSTALL COMPONENT 'file://component_test_sensitive_system_variables'" "CREATE USER wl13469_no_privilege" +"SELECT @@global.test_component.sensitive_string_1" +"SELECT @@session.test_component.sensitive_string_1" +"SELECT @@global.test_component.sensitive_ro_string_1" +"SELECT @@session.test_component.sensitive_ro_string_1" "SELECT @@session.session_track_system_variables INTO @save_session_track_system_variables" "SELECT @@session.autocommit INTO @save_session_autocommit" "SET @@session.session_track_system_variables='autocommit, debug_sensitive_session_string'" "SET @@session.autocommit= 1" "SET @@session.autocommit= 0" +"SET @@session.debug_sensitive_session_string= ""haha""" "SET @@session.autocommit= @save_session_autocommit" "SET @@session.session_track_system_variables= @save_session_track_system_variables" "DROP USER wl13469_no_privilege" "CREATE USER wl13469_with_privilege" "GRANT SENSITIVE_VARIABLES_OBSERVER ON *.* TO wl13469_with_privilege" -"SELECT @@global.test_component.sensitive_string_1" -"SELECT @@global.test_component.sensitive_ro_string_1" +"SET GLOBAL test_component.sensitive_string_1 = 'haha'" +"SET GLOBAL test_component.sensitive_string_2 = 'hoho'" +"SET GLOBAL test_component.sensitive_string_3 = 'hehe'" +"SET GLOBAL debug_sensitive_session_string = 'hehe'" +"SET PERSIST test_component.sensitive_string_1 = 'haha'" +"SET PERSIST test_component.sensitive_string_2 = 'hoho'" +"SET PERSIST test_component.sensitive_string_3 = 'hehe'" +"SET PERSIST debug_sensitive_session_string = 'hehe'" +"SET PERSIST_ONLY test_component.sensitive_string_1 = 'haha'" +"SET PERSIST_ONLY test_component.sensitive_string_2 = 'hoho'" +"SET PERSIST_ONLY test_component.sensitive_string_3 = 'hehe'" +"SET PERSIST_ONLY debug_sensitive_session_string = 'hehe'" +"SET PERSIST_ONLY test_component.sensitive_ro_string_1 = 'haha'" +"SET PERSIST_ONLY test_component.sensitive_ro_string_2 = 'hoho'" +"SET PERSIST_ONLY test_component.sensitive_ro_string_3 = 'hehe'" "SELECT @@session.debug_sensitive_session_string INTO @save_debug_sensitive_session_string" -"SET @@session.debug_sensitive_session_string= ""haha""" "SET @@session.debug_sensitive_session_string= ""hoho""" "SET @@session.debug_sensitive_session_string = @save_debug_sensitive_session_string" "DROP USER wl13469_with_privilege" @@ -77832,9 +87692,6 @@ WHERE t1.x=t2.x AND (SELECT DISTINCT t3.x>0 FROM t2 AS t3)" "call mtr.add_suppression(""Persisting SENSITIVE variables in encrypted form requires keyring component loaded through manifest file."")" "call mtr.add_suppression(""Cannot persist SENSITIVE system variables because keyring component support is unavailable and persist_sensitive_variables_in_plaintext is set to OFF."")" "SELECT @@global.persist_sensitive_variables_in_plaintext" -"SET PERSIST test_component.sensitive_string_1 = 'haha'" -"SET PERSIST_ONLY test_component.sensitive_string_1 = 'haha'" -"SET PERSIST_ONLY test_component.sensitive_ro_string_1 = 'haha'" "SELECT a.variable_name, b.variable_value, a.variable_source FROM performance_schema.variables_info AS a, performance_schema.global_variables AS b WHERE a.variable_name = b.variable_name AND a.variable_name LIKE 'test_component.sensitive%'" "UNINSTALL COMPONENT 'file://component_test_sensitive_system_variables'" "CALL mtr.add_suppression('Persisting SENSITIVE variables in encrypted form requires keyring component loaded through manifest file.')" @@ -77853,9 +87710,9 @@ WHERE t1.x=t2.x AND (SELECT DISTINCT t3.x>0 FROM t2 AS t3)" "SET PERSIST_ONLY back_log=200" "SET PERSIST_ONLY performance_schema_error_size=10000" "SET @global_saved_tmp = @@global.offline_mode" +"SET GLOBAL offline_mode = ON" "SELECT COUNT(USER) FROM INFORMATION_SCHEMA.PROCESSLIST" "SHOW STATUS LIKE 'threads_connected'" -"SET GLOBAL offline_mode = ON" "SET GLOBAL offline_mode = OFF" "SELECT @user_count" "SET @@global.offline_mode = @global_saved_tmp" @@ -77875,16 +87732,17 @@ WHERE t1.x=t2.x AND (SELECT DISTINCT t3.x>0 FROM t2 AS t3)" "USE wl3836" "SELECT COUNT(USER) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE DB LIKE 'wl3836'" "GRANT ALL ON wl3836.* TO 'user1'@'localhost', 'user2'@'localhost'" +"SET GLOBAL offline_mode=ON" "CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT) ENGINE=MYISAM" "SET GLOBAL offline_mode=OFF" "DROP DATABASE wl3836" -"SET GLOBAL offline_mode=ON" "SET @slave_saved_tmp = @@global.offline_mode" "SET GLOBAL offline_mode = @slave_saved_tmp" "SET DEBUG_SYNC='after_lock_offline_mode_acquire SIGNAL lock_offline_mode_acquired WAIT_FOR lock_thd_data_acquired'" "SET DEBUG_SYNC='now WAIT_FOR lock_offline_mode_acquired'" "SET DEBUG_SYNC='materialize_session_variable_array_THD_locked SIGNAL lock_thd_data_acquired'" "CALL mtr.add_suppression(""Source's UUID has changed, its old UUID is"")" +"SET GLOBAL SERVER_UUID= UUID()" "SELECT @@session.session_track_schema" "SELECT @@session.session_track_schema","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT @@session.session_track_system_variables" @@ -77898,14 +87756,18 @@ WHERE t1.x=t2.x AND (SELECT DISTINCT t3.x>0 FROM t2 AS t3)" "SELECT @@session.time_zone" "SET @@session.time_zone='Europe/Moscow'" "SET @@session.time_zone='MET'" +"SET @@session.time_zone='funny'" "SET @@session.autocommit= OFF" "SET @@session.autocommit= ON" +"SET @@session.autocommit= foo" "SET @@session.autocommit=OFF, @@time_zone='SYSTEM'" +"SET @@session.autocommit=ON, @@time_zone='INVALID'" "SELECT @@session.sql_mode" "SELECT @@session.sql_mode","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SET @@session.session_track_system_variables='sql_mode'" "SET @sql_mode_saved= @@session.sql_mode" "SET @@session.sql_mode='traditional'" +"SET @@session.sql_mode='invalid'" "SET @@session.sql_mode= @sql_mode_saved" "SET @@session.session_track_system_variables=''" "SET @@session.session_track_system_variables=NULL" @@ -77924,7 +87786,10 @@ END;" "SET @@session.sql_mode='ANSI'" "SET @@session.sql_mode=@@session.sql_mode","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SET @@session.session_track_system_variables='session_track_system_variables'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"USE non_existing_db","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SET @@session.session_track_schema=false","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"SET @@session.session_track_schema=ONN","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"SET @@session.session_track_schema=OFFF","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SET @@session.session_track_schema=OFF" "SET @@session.session_track_schema=@@global.session_track_schema" "SET @@session.session_track_system_variables='validate_password_policy,autocommit'" @@ -77947,6 +87812,12 @@ END;" "SET @@session.session_track_state_change=True" "SET @@session.session_track_state_change=falSe" "DROP TABLE test.t" +"SET @@session.session_track_state_change=oNN" +"SET @@session.session_track_state_change=FALS" +"SET @@session.session_track_state_change=20" +"SET @@session.session_track_state_change=OFFF" +"SET @@session.session_track_state_change=NULL" +"SET @@session.session_track_state_change=''" "SET @@session.session_track_system_variables='time_zone,transaction_isolation'" "SET @@session.time_zone='-6:00'" "SET @@session.transaction_isolation='READ-COMMITTED'" @@ -78233,6 +88104,9 @@ INDEX USING BTREE(c2) "SHOW OPEN TABLES FROM mysqltest1 LIKE 'z%'" "SHOW OPEN TABLES FROM mysqltest1 LIKE 't1%'" "SHOW OPEN TABLES FROM mysqltest1 LIKE '%1%'" +"SHOW TABLES FROM non_existing_database" +"SHOW TABLES FROM no_such_database" +"SHOW COLUMNS FROM no_such_table" "show status like 'slow_queries'" "select 1 from t1 limit 1" "create trigger tr1 before insert on t1 for each row @@ -78377,6 +88251,10 @@ WHERE routine_name = 'f1'" "show keys from `mysqlttest\1`.`a\b`" "drop table `mysqlttest\1`.`a\b`" "drop database `mysqlttest\1`" +"show engine foobar status" +"show engine foobar logs" +"show engine foobar mutex" +"show engine mutex status" "show engine csv status" "show engine csv logs" "show engine csv mutex" @@ -78389,6 +88267,7 @@ WHERE routine_name = 'f1'" "ANALYZE TABLE `ä`.`ä`" "SHOW TABLE STATUS FROM `ä` LIKE 'ä'" "DROP DATABASE `ä`" +"show columns from `#mysql50#????????`" "call mtr.add_suppression(""Can.t find file: '.\\\\test\\\\\\?{8}.frm'"")" "SHOW CREATE TRIGGER t1_bi" "CREATE PROCEDURE p1() SHOW CREATE TRIGGER t1_bi" @@ -78407,6 +88286,7 @@ SET NEW.c1 = 'тест'" "SHOW ENGINE MYISAM MUTEX" "SHOW ENGINE MYISAM STATUS" "DROP USER test_u@localhost" +"SHOW CREATE TABLE non_existent" "ALTER TABLE t1 CHARACTER SET = utf8mb3" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a = 1" "DROP TRIGGER t1_bi" @@ -78415,6 +88295,8 @@ SET NEW.c1 = 'тест'" "SELECT RELEASE_LOCK('t')" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW BEGIN END" "CREATE TEMPORARY TABLE t1 (b INT)" +"SHOW AUTHORS",,syntax_error +"SHOW CONTRIBUTORS",,syntax_error "CREATE TABLE t1 (i CHAR(3), n CHAR(20) CHARACTER SET utf8mb3 GENERATED ALWAYS AS (md5(i)))" "CREATE TABLE `t1` ( @@ -78422,6 +88304,7 @@ n CHAR(20) CHARACTER SET utf8mb3 GENERATED ALWAYS AS (md5(i)))" `n` char(20) CHARACTER SET utf8mb3 GENERATED ALWAYS AS (md5(i)) VIRTUAL ) ENGINE=InnoDB DEFAULT CHARSET=latin1" "CREATE DATABASE unknown" +"SHOW TABLES FROM UNKNOWN" "DROP DATABASE unknown" "CREATE TABLE t1 (c1 int(11) NOT NULL, c2 int(11) DEFAULT NULL, @@ -78554,6 +88437,9 @@ ELSE f END" "SHOW PARSE_TREE SELECT * FROM t JOIN t2 NATURAL JOIN (t3 LEFT JOIN t4 USING (col1, col2))" "SHOW PARSE_TREE SELECT * FROM t JOIN t2 JOIN t3 USING (col1, col2) JOIN (SELECT * FROM tab) AS t4" "SHOW PARSE_TREE SELECT db.func(), char(col1), char(col1 USING utf8mb4), concat(a,b), concat(a,b) COLLATE utf8mb4_turkish_ci" +"SHOW PARSE_TREE UPDATE tab SET O = 1" +"SHOW PARSE_TREE CREATE TABLE tab(id INT)" +"SHOW PARSE_TREE CREATE TABLE tab(id INVALID_SYNTAX)",,syntax_error "SET profiling = 1" "SHOW PROFILE FOR QUERY 1" "SHOW PROFILE CPU FOR QUERY 1" @@ -78641,9 +88527,25 @@ transaction_active int )" "drop table diag_stmt_non_reserved" "drop table if exists test_reserved" +"create table test_reserved (signal int)",,syntax_error +"create table test_reserved (resignal int)",,syntax_error +"create table test_reserved (condition int)",,syntax_error "drop procedure if exists test_invalid" "drop procedure if exists test_signal_syntax" "drop function if exists test_signal_func" +"create procedure test_invalid() +begin +SIGNAL; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL foo; +end " +"create procedure test_invalid() +begin +DECLARE foo CONDITION FOR 1234; +SIGNAL foo; +end " "create procedure test_signal_syntax() begin DECLARE foo CONDITION FOR SQLSTATE '12345'; @@ -78718,6 +88620,21 @@ begin DECLARE foo CONDITION FOR SQLSTATE '12345'; SIGNAL foo SET MYSQL_ERRNO = 'foo'; end " +"create procedure test_invalid() +begin +DECLARE foo CONDITION FOR SQLSTATE '12345'; +SIGNAL foo SET CLASS_ORIGIN = 'foo', CLASS_ORIGIN = 'bar'; +end " +"create procedure test_invalid() +begin +DECLARE foo CONDITION FOR SQLSTATE '12345'; +SIGNAL foo SET MESSAGE_TEXT = 'foo', MESSAGE_TEXT = 'bar'; +end " +"create procedure test_invalid() +begin +DECLARE foo CONDITION FOR SQLSTATE '12345'; +SIGNAL foo SET MYSQL_ERRNO = 'foo', MYSQL_ERRNO = 'bar'; +end " "create procedure test_signal_syntax() begin DECLARE foo CONDITION FOR SQLSTATE '12345'; @@ -78735,12 +88652,103 @@ CURSOR_NAME = 'foo', MESSAGE_TEXT = 'foo', MYSQL_ERRNO = 'foo'; end " +"SIGNAL SQLSTATE '00000' " +"SIGNAL SQLSTATE '00001' " +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '00000'; +end " +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '00001'; +end " +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET bla_bla = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET CONDITION_IDENTIFIER = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET CONDITION_NUMBER = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET CONNECTION_NAME = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET MESSAGE_LENGTH = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET MESSAGE_OCTET_LENGTH = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET PARAMETER_MODE = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET PARAMETER_NAME = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET PARAMETER_ORDINAL_POSITION = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET RETURNED_SQLSTATE = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET ROUTINE_CATALOG = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET ROUTINE_NAME = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET ROUTINE_SCHEMA = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET SERVER_NAME = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET SPECIFIC_NAME = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET TRIGGER_CATALOG = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET TRIGGER_NAME = 'foo'; +end ",,syntax_error +"create procedure test_invalid() +begin +SIGNAL SQLSTATE '12345' SET TRIGGER_SCHEMA = 'foo'; +end ",,syntax_error "drop procedure if exists test_resignal_syntax" +"create procedure test_invalid() +begin +RESIGNAL foo; +end " "create procedure test_resignal_syntax() begin RESIGNAL; end " "drop procedure test_resignal_syntax " +"create procedure test_invalid() +begin +DECLARE foo CONDITION FOR 1234; +RESIGNAL foo; +end " "create procedure test_resignal_syntax() begin DECLARE foo CONDITION FOR SQLSTATE '12345'; @@ -78862,6 +88870,21 @@ begin DECLARE foo CONDITION FOR SQLSTATE '12345'; RESIGNAL foo SET MYSQL_ERRNO = 'foo'; end " +"create procedure test_invalid() +begin +DECLARE foo CONDITION FOR SQLSTATE '12345'; +RESIGNAL foo SET CLASS_ORIGIN = 'foo', CLASS_ORIGIN = 'bar'; +end " +"create procedure test_invalid() +begin +DECLARE foo CONDITION FOR SQLSTATE '12345'; +RESIGNAL foo SET MESSAGE_TEXT = 'foo', MESSAGE_TEXT = 'bar'; +end " +"create procedure test_invalid() +begin +DECLARE foo CONDITION FOR SQLSTATE '12345'; +RESIGNAL foo SET MYSQL_ERRNO = 'foo', MYSQL_ERRNO = 'bar'; +end " "create procedure test_resignal_syntax() begin DECLARE foo CONDITION FOR SQLSTATE '12345'; @@ -78878,19 +88901,44 @@ COLUMN_NAME = 'foo', CURSOR_NAME = 'foo', MESSAGE_TEXT = 'foo'; end " +"create procedure test_invalid() +begin +RESIGNAL SQLSTATE '00000'; +end " +"create procedure test_invalid() +begin +RESIGNAL SQLSTATE '00001'; +end " +"prepare stmt from 'SIGNAL SQLSTATE \'23000\''" +"prepare stmt from 'RESIGNAL SQLSTATE \'23000\''" "drop procedure if exists test_signal" "drop procedure if exists test_resignal" "drop table if exists t_warn" "drop table if exists t_cursor" "create table t_warn(a integer(2))" "create table t_cursor(a integer)" +"SIGNAL foo" "SIGNAL SQLSTATE '01000'" +"SIGNAL SQLSTATE '02000'" +"SIGNAL SQLSTATE '23000'" +"SIGNAL SQLSTATE VALUE '23000'" +"SIGNAL SQLSTATE 'HY000' SET MYSQL_ERRNO = 65536" +"SIGNAL SQLSTATE 'HY000' SET MYSQL_ERRNO = 99999" +"SIGNAL SQLSTATE 'HY000' SET MYSQL_ERRNO = 4294967295" +"SIGNAL SQLSTATE 'HY000' SET MYSQL_ERRNO = 0" +"SIGNAL SQLSTATE 'HY000' SET MYSQL_ERRNO = -1",,syntax_error +"SIGNAL SQLSTATE 'HY000' SET MYSQL_ERRNO = 65535" +RESIGNAL +"RESIGNAL foo" +"RESIGNAL SQLSTATE '12345'" +"RESIGNAL SQLSTATE VALUE '12345'" "create procedure test_signal() begin # max range DECLARE foo CONDITION FOR SQLSTATE 'AABBB'; SIGNAL foo SET MYSQL_ERRNO = 65535; end " +"call test_signal() " "drop procedure test_signal " "create procedure test_signal() begin @@ -78910,7 +88958,6 @@ begin DECLARE too_few_records CONDITION FOR SQLSTATE '01000'; SIGNAL too_few_records SET MYSQL_ERRNO = 1261; end " -"call test_signal() " "create procedure test_signal() begin # Not found @@ -79019,6 +89066,7 @@ begin DECLARE error CONDITION FOR SQLSTATE ""55000""; SIGNAL error SET MYSQL_ERRNO = 1111; end " +"SIGNAL SQLSTATE '77777' SET MESSAGE_TEXT='' " "create procedure test_signal() begin DECLARE foo CONDITION FOR SQLSTATE '77777'; @@ -79154,6 +89202,9 @@ SIGNAL something SET MESSAGE_TEXT = message_text, MYSQL_ERRNO = sqlcode; end " +"call test_signal(""Parameter string"", NULL) " +"call test_signal(NULL, 1234) " +"call test_signal(""Parameter string"", 45678) " "create procedure test_signal() begin DECLARE something CONDITION FOR SQLSTATE ""AABBB""; @@ -79164,6 +89215,14 @@ MYSQL_ERRNO = @sqlcode; end " "set @sqlcode= 12 " "set @message_text= ""User variable"" " +"create procedure test_invalid() +begin +DECLARE something CONDITION FOR SQLSTATE ""AABBB""; + +SIGNAL something SET +MESSAGE_TEXT = @message_text := 'illegal', +MYSQL_ERRNO = @sqlcode := 1234; +end ",,syntax_error "create procedure test_signal() begin DECLARE aaa VARCHAR(64); @@ -79429,6 +89488,7 @@ SIGNAL not_found SET MESSAGE_TEXT = msg, MYSQL_ERRNO = 1012; end " +"insert into t1 values (3), (4) " "create trigger t1_ai after insert on t1 for each row begin DECLARE msg VARCHAR(128); @@ -79439,6 +89499,7 @@ SIGNAL error SET MESSAGE_TEXT = msg, MYSQL_ERRNO = 1012; end " +"insert into t1 values (5), (6) " "drop table t1 " "drop table t1 ",IGNORE_SPACE "create table t1 (errno integer, msg varchar(128)) " @@ -79952,6 +90013,7 @@ END; CALL peter_p1(); END " +"CALL peter_p2() " "drop procedure peter_p1 " "drop procedure peter_p2 " "CREATE PROCEDURE peter_p1 () @@ -79997,6 +90059,7 @@ resignal sqlstate '99002' set mysql_errno = 2; signal sqlstate '99001' set mysql_errno = 1, message_text = ""Original""; end " +"call peter_p3() " "drop procedure peter_p3 " "drop table t_warn" "drop table t_cursor" @@ -80005,6 +90068,7 @@ begin DECLARE foo CONDITION FOR SQLSTATE '12345'; SIGNAL foo SET MYSQL_ERRNO = 0x12; /* 18 */ end " +"call test_signal " "create procedure test_signal() begin DECLARE foo CONDITION FOR SQLSTATE '12345'; @@ -80083,6 +90147,21 @@ MESSAGE_TEXT = 65.4321; end " "create procedure test_signal() begin +DECLARE céèçà foo CONDITION FOR SQLSTATE '12345'; +SIGNAL céèçà SET MYSQL_ERRNO = 1000; +end ",,syntax_error +"create procedure test_signal() +begin +DECLARE ""céèçà"" CONDITION FOR SQLSTATE '12345'; +SIGNAL ""céèçà"" SET MYSQL_ERRNO = 1000; +end ",,syntax_error +"create procedure test_signal() +begin +DECLARE 'céèçà' CONDITION FOR SQLSTATE '12345'; +SIGNAL 'céèçà' SET MYSQL_ERRNO = 1000; +end ",,syntax_error +"create procedure test_signal() +begin DECLARE `céèçà` CONDITION FOR SQLSTATE '12345'; SIGNAL `céèçà` SET MYSQL_ERRNO = 1000; end " @@ -80183,6 +90262,7 @@ RESIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = asdf; SELECT 10 + 'a'; END; END " +"CALL p4()" "CALL p5()" "CALL p6()" "DROP PROCEDURE p4" @@ -80334,7 +90414,6 @@ SIGNAL SQLSTATE '01000'; END; END" "SET max_error_count= 0" -"CALL p4()" "CALL p7()" "CALL p8()" "CALL p9()" @@ -80560,6 +90639,10 @@ call po_create_order(""P"", 1, @my_po)" "/* Marry Smith wants a coffee table */ call po_create_order(""P"", 2, @my_po)" "call po_add_order_line (@my_po, 1, 200, 1)" +"call po_add_order_line (@my_po, 1, 999, 1)" +"call po_add_order_line (99, 1, 100, 1)" +"call po_create_order(""M"", 7, @my_po)" +"call po_create_order(""X"", 1, @my_po)" "/* The local school wants 10 class tables and 20 chairs */ call po_create_order(""M"", 4, @my_po)" "call po_add_order_line (@my_po, 1, 300, 10)" @@ -80650,6 +90733,8 @@ end if; end " "call proc_top_a(1)" +"call proc_top_a(2)" +"call proc_top_a(3)" "create procedure proc_top_b(p1 integer) begin select ""Starting ...""; @@ -80717,6 +90802,7 @@ end if; end " "call proc_top_b(1)" +"call proc_top_b(2)" "call proc_top_b(3)" "SET @start_global_value = @@global.max_error_count" "SELECT @start_global_value" @@ -80937,6 +91023,7 @@ RETURN 3" "SHOW CREATE FUNCTION f3" "DROP TRIGGER ti_ai" "DROP TRIGGER ti_bu" +"set global event_scheduler=1" "select count(*) from information_schema.COLUMN_PRIVILEGES" "select count(*) from information_schema.SCHEMA_PRIVILEGES" "select count(*) from information_schema.TABLE_PRIVILEGES" @@ -80946,6 +91033,7 @@ RETURN 3" "SET GLOBAL max_connections = DEFAULT" "ALTER USER u1@localhost IDENTIFIED BY 'pass1'" "SET PASSWORD FOR u1@localhost = 'pass2'" +"SET PASSWORD = 'cant have'" "set @@session.binlog_format='row'" "SET @@global.binlog_expire_logs_seconds=3600" "SET @@global.binlog_expire_logs_auto_purge=ON" @@ -80959,7 +91047,11 @@ RETURN 3" "SHOW GLOBAL VARIABLES LIKE 'skip_name_resolve'" "SHOW SESSION VARIABLES LIKE 'skip_name_resolve'" "SELECT @@skip_name_resolve" +"SELECT @@LOCAL.skip_name_resolve" "SELECT @@GLOBAL.skip_name_resolve" +"SET @@skip_name_resolve=0" +"SET @@LOCAL.skip_name_resolve=0" +"SET @@GLOBAL.skip_name_resolve=0" "CREATE USER b20438524@'%' IDENTIFIED BY 'pwd'" "UPDATE mysql.user SET host='localhost1' WHERE user='b20438524'" "DELETE FROM mysql.user WHERE user='b20438524'" @@ -81074,6 +91166,7 @@ ORDER BY start_time" "SET @@session.long_query_time=0" "SET @my_start=CURRENT_TIMESTAMP(6)" "CREATE USER 'duplicate_user'@'%' IDENTIFIED BY 'mypassword'" +"CREATE USER ‘bad_characters’@’%’ IDENTIFIED BY 'mypassword'",,syntax_error "SELECT COUNT(argument)/@protdiv FROM mysql.general_log WHERE INSTR(argument,""CREATE USER"")=1 @@ -81124,6 +91217,7 @@ ORDER BY start_time" "DROP TABLE islow" "SET GLOBAL slow_query_log=1" "SET long_query_time=0" +"CREATE TABLE b(id INT NOT NULL AUTO_INCREMENT)" "DROP TABLE IF EXISTS mslow" "CREATE TABLE mslow(i INT) ENGINE=myisam" "INSERT INTO mslow VALUES (1), (2), (3), (4), (5), (6), (7), (8)" @@ -81150,6 +91244,7 @@ WHERE VARIABLE_NAME='sort_buffer_size'" "SELECT @@sort_buffer_size = @@GLOBAL.sort_buffer_size" "SELECT COUNT(@@sort_buffer_size)" "SELECT COUNT(@@local.sort_buffer_size)" +"SELECT sort_buffer_size = @@SESSION.sort_buffer_size" "SET @@GLOBAL.sort_buffer_size=32767" "SET @@session.sort_buffer_size=32767" "select @@session.sort_buffer_size" @@ -81207,6 +91302,7 @@ END" BEGIN CALL p_not_exists ( ); END" +"CALL p3 ( f2 () )" "CREATE PROCEDURE p3 ( arg2 INTEGER ) BEGIN CALL p_not_exists ( ); @@ -81226,6 +91322,7 @@ BEGIN INSERT INTO t1 SET c1 = some_value; RETURN(LAST_INSERT_ID()); END" +"SELECT db1.f1(1)" "DROP FUNCTION db1.f1" "CREATE TABLE t1 (id1 INT PRIMARY KEY)" "CREATE PROCEDURE `p1`() @@ -81295,6 +91392,7 @@ END" BEGIN DECLARE v1 TINYINT DEFAULT 450000; END" +"CALL sp2()" "DROP PROCEDURE sp2" "CREATE FUNCTION fn1(arg TINYINT UNSIGNED) RETURNS float deterministic RETURN abs('1abcd')" "CREATE FUNCTION fn2() RETURNS tinyint @@ -81302,6 +91400,8 @@ BEGIN DECLARE v1 TINYINT DEFAULT 450000; RETURN v1; END" +"SELECT fn1(25)" +"SELECT fn1(-25)" "CREATE FUNCTION fn1() RETURNS float deterministic RETURN floor('1.1a')" "CREATE FUNCTION fn2() RETURNS float deterministic RETURN floor('1.1a')" "CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @a=fn2()" @@ -81340,14 +91440,22 @@ END " BEGIN END " "CREATE PROCEDURE cafe() BEGIN END" +"CREATE PROCEDURE café() BEGIN END" +"CREATE PROCEDURE CAFE() BEGIN END" "DROP PROCEDURE CaFé" "CREATE PROCEDURE очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_e() BEGIN END" +"CREATE PROCEDURE очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é() BEGIN END" +"CREATE PROCEDURE очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_E() BEGIN END" "SHOW CREATE PROCEDURE очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é" "DROP PROCEDURE очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é" "CREATE FUNCTION cafe() RETURNS INT return 15081947" +"CREATE FUNCTION café() RETURNS INT return 15081947" +"CREATE FUNCTION CAFE() RETURNS INT return 15081947" "SHOW CREATE FUNCTION CaFé" "DROP FUNCTION CaFé" "CREATE FUNCTION очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_e() RETURNS INT return 15081947" +"CREATE FUNCTION очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é() RETURNS INT return 15081947" +"CREATE FUNCTION очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_E() RETURNS INT return 15081947" "SHOW CREATE FUNCTION очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é" "DROP FUNCTION очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é" "CREATE FUNCTION myfunc(dt VARCHAR(50)) RETURNS VARCHAR(32) DETERMINISTIC @@ -81357,6 +91465,7 @@ SET dt_local = dt; RETURN CONCAT(UNIX_TIMESTAMP(dt_local)); END; " "SELECT myfunc('2019-01-01 00:00:00')" +"SELECT myfunc('2019-01-01 00:00:71')" "DROP FUNCTION myfunc" "PREPARE stmt FROM 'SELECT CONCAT(UNIX_TIMESTAMP(?))'" "SET @var = '2019-01-01 00:00:00'" @@ -81890,7 +91999,6 @@ END" "SHOW FUNCTION CODE TESTF_bug11763507" "SHOW PROCEDURE CODE testp_bug11763507" "SHOW PROCEDURE CODE TESTP_bug11763507" -"CREATE TEMPORARY TABLE t2(a INT)" "CREATE VIEW t3 AS SELECT 30" "CREATE FUNCTION f() RETURNS INT RETURN 1" @@ -82061,7 +92169,6 @@ RETURN f()" "SHOW FUNCTION CODE f4" "SHOW FUNCTION CODE f5" "SHOW FUNCTION CODE f6" -"DROP TEMPORARY TABLE t2" "DROP VIEW t3" "CREATE PROCEDURE p11_many_handlers () BEGIN @@ -82160,6 +92267,9 @@ begin call p1(); return 1; end" +"select f1(0)" +"select f1(f1(0))" +"select f1(f1(f1(0)))" "create procedure p1() begin drop table if exists t1; @@ -82235,6 +92345,11 @@ deallocate prepare update_stmt; end" "prepare stmt from 'select 1'" "create procedure p1() execute stmt" +"create function f1() returns int +begin +deallocate prepare stmt; +return 1; +end" "create procedure p1() begin prepare stmt from 'select 1 A'; @@ -82257,21 +92372,92 @@ execute pst; drop table if exists t1, t2; end" "call p1(@a)" +"create procedure syntaxerror(t int)",,syntax_error "create table t3 ( x int )" "insert into t3 values (2), (3)" "create procedure bad_into(out param int) select x from t3 into param" +"call bad_into(@x)" "drop procedure bad_into" "create procedure proc1() set @x = 42" "create function func1() returns int return 42" +"create procedure foo() +create procedure bar() set @x=3" +"create procedure foo() +create function bar() returns double return 2.3" "drop procedure proc1" +"alter procedure foo" +"alter function foo" +"drop procedure foo" +"drop function foo" +"call foo()" "drop procedure if exists foo" +"show create procedure foo" +"show create function foo" +"create procedure foo() +foo: loop +leave bar; +end loop" +"create procedure foo() +foo: loop +iterate bar; +end loop" +"create procedure foo() +foo: begin +iterate foo; +end" +"create procedure foo() +foo: loop +foo: loop +set @x=2; +end loop foo; +end loop foo" +"create procedure foo() +foo: loop +set @x=2; +end loop bar" +"create procedure foo() +return 42" "create procedure p(x int) set @x = x" "create function f(x int) returns int return x+42" +"call p(1, 2)" +"select f()" +"select f(1, 2)" +"create procedure p(val int, out res int) +begin +declare x int default 0; +declare continue handler for foo set x = 1; + +insert into test.t1 values (val); +if (x) then +set res = 0; +else +set res = 1; +end if; +end" +"create procedure p(val int, out res int) +begin +declare x int default 0; +declare foo condition for 1146; +declare continue handler for bar set x = 1; + +insert into test.t1 values (val); +if (x) then +set res = 0; +else +set res = 1; +end if; +end" +"create function f(val int) returns int +begin +declare x int; + +set x = val+3; +end" "create function f(val int) returns int begin declare x int; @@ -82281,6 +92467,29 @@ if x < 4 then return x; end if; end" +"select f(10)" +"create procedure p() +begin +declare c cursor for insert into test.t1 values (""foo"", 42); + +open c; +close c; +end",,syntax_error +"create procedure p() +begin +declare x int; +declare c cursor for select * into x from test.t limit 1; + +open c; +close c; +end" +"create procedure p() +begin +declare c cursor for select * from test.t; + +open cc; +close c; +end" "create table t1 (val int)" "create procedure p() begin @@ -82298,6 +92507,7 @@ open c; close c; close c; end" +"alter procedure bar3 sql security invoker" "create table t1 (val int, x float)" "insert into t1 values (42, 3.1), (19, 1.2)" "create procedure p() @@ -82305,6 +92515,15 @@ begin declare x int; declare c cursor for select * from t1; +open c; +fetch c into x, y; +close c; +end" +"create procedure p() +begin +declare x int; +declare c cursor for select * from t1; + open c; fetch c into x; close c; @@ -82320,6 +92539,46 @@ open c; fetch c into x, y, z; close c; end" +"create procedure p(in x int, x char(10)) +begin +end" +"create function p(x int, x char(10)) +begin +end",,syntax_error +"create procedure p() +begin +declare x float; +declare x int; +end" +"create procedure p() +begin +declare c condition for 1064; +declare c condition for 1065; +end" +"create procedure p() +begin +declare c cursor for select * from t1; +declare c cursor for select field from t1; +end" +"create procedure u() +use sptmp" +"create procedure p() +begin +declare c cursor for select * from t1; +declare x int; +end" +"create procedure p() +begin +declare x int; +declare continue handler for sqlstate '42S99' set x = 1; +declare foo condition for sqlstate '42S99'; +end" +"create procedure p() +begin +declare x int; +declare continue handler for sqlstate '42S99' set x = 1; +declare c cursor for select * from t1; +end" "create procedure p(in x int, inout y int, out z int) begin set y = x+y; @@ -82330,12 +92589,17 @@ end" "set @tmp_z = 0" "call p(@tmp_x, @tmp_y, @tmp_z)" "select @tmp_x, @tmp_y, @tmp_z" +"call p(42, 43, @tmp_z)" +"call p(42, @tmp_y, 43)" "create procedure p() begin end" "create function f1(i int) returns int begin insert into t1 (val) values (i); return 0; end" +"select val, f1(val) from t1" +"select val, f1(val) from t1 as tab" +"update t1 set val= f1(val)" "select f1(17)" "delete from t1 where val= 17" "create procedure bug1965() @@ -82344,12 +92608,14 @@ declare c cursor for select val from t1 order by valname; open c; close c; end" +"call bug1965()" "drop procedure bug1965" +"select 1 into a" "create table t3 (column_1_0 int)" "create procedure bug1653() update t3 set column_1 = 0" -"create table t3 (column_1 int)" "call bug1653()" +"create table t3 (column_1 int)" "drop procedure bug1653" "create procedure bug2259() begin @@ -82358,6 +92624,7 @@ declare c1 cursor for select s1 from t1; fetch c1 into v1; end" +"call bug2259()" "drop procedure bug2259" "create procedure bug2272() begin @@ -82366,6 +92633,7 @@ declare v int; update t1 set v = 42; end" "insert into t1 values (666, 51.3)" +"call bug2272()" "drop procedure bug2272" "create procedure bug2329_1() begin @@ -82379,6 +92647,8 @@ declare v int; replace t1 set v = 5; end" +"call bug2329_1()" +"call bug2329_2()" "drop procedure bug2329_1" "drop procedure bug2329_2" "create function bug3287() returns int @@ -82390,6 +92660,7 @@ when v is not null then return 1; end case; return 2; end" +"select bug3287()" "drop function bug3287" "create procedure bug3287(x int) case x @@ -82398,6 +92669,7 @@ insert into test.t1 values (x, 0.1); when 1 then insert into test.t1 values (x, 1.1); end case" +"call bug3287(2)" "drop procedure bug3287" "create table t3 (s1 int, primary key (s1))" "insert into t3 values (5),(6)" @@ -82415,7 +92687,9 @@ end if; set y = x; end" "set @x = 0" +"call bug3279(@x)" "drop procedure bug3279" +"create procedure nodb.bug3339() begin end" "create procedure bug2653_1(a int, out b int) set b = aa" "create procedure bug2653_2(a int, out b int) @@ -82426,8 +92700,12 @@ else set b = a; end if; end" +"call bug2653_1(1, @b)" +"call bug2653_2(2, @b)" "drop procedure bug2653_1" "drop procedure bug2653_2" +"create procedure bug4344() drop procedure bug4344" +"create procedure bug4344() drop function bug4344" "create procedure bug3294() begin declare continue handler for sqlexception drop table t5; @@ -82435,11 +92713,38 @@ drop table t5; drop table t5; end" "create table t5 (x int)" +"call bug3294()" "drop procedure bug3294" "drop procedure if exists bug8776_1" "drop procedure if exists bug8776_2" "drop procedure if exists bug8776_3" "drop procedure if exists bug8776_4" +"create procedure bug8776_1() +begin +declare continue handler for sqlstate '42S0200test' begin end; +begin end; +end" +"create procedure bug8776_2() +begin +declare continue handler for sqlstate '4200' begin end; +begin end; +end" +"create procedure bug8776_3() +begin +declare continue handler for sqlstate '420000' begin end; +begin end; +end" +"create procedure bug8776_4() +begin +declare continue handler for sqlstate '42x00' begin end; +begin end; +end" +"create procedure bug6600() +check table t1" +"create procedure bug6600() +lock table t1 read" +"create procedure bug6600() +unlock table t1",,syntax_error "create procedure bug7299() begin declare v int; @@ -82449,9 +92754,34 @@ declare exit handler for sqlexception select 'Error!'; open c; fetch c into v; end" +"call bug7299()" "drop procedure bug7299" "create procedure bug9073() begin +declare continue handler for sqlexception select 1; +declare continue handler for sqlexception select 2; +end" +"create procedure bug9073() +begin +declare condname1 condition for 1234; +declare continue handler for condname1 select 1; +declare exit handler for condname1 select 2; +end" +"create procedure bug9073() +begin +declare condname1 condition for sqlstate '42000'; +declare condname2 condition for sqlstate '42000'; +declare exit handler for condname1 select 1; +declare continue handler for condname2 select 2; +end" +"create procedure bug9073() +begin +declare condname1 condition for sqlstate '42000'; +declare exit handler for condname1 select 1; +declare exit handler for sqlstate '42000' select 2; +end" +"create procedure bug9073() +begin declare condname1 condition for sqlstate '42000'; declare continue handler for condname1 select 1; begin @@ -82462,6 +92792,29 @@ end; end; end" "drop procedure bug9073" +"create procedure bug7047() +alter procedure bug7047" +"create function bug7047() returns int +begin +alter function bug7047; +return 0; +end" +"create function bug8408() returns int +begin +select * from t1; +return 0; +end" +"create function bug8408() returns int +begin +show warnings; +return 0; +end" +"create function bug8408(a int) returns int +begin +declare b int; +select b; +return b; +end" "drop function if exists bug8408_f" "drop procedure if exists bug8408_p" "create function bug8408_f() returns int @@ -82472,6 +92825,7 @@ end" "create procedure bug8408_p() select * from t1" "call bug8408_p()" +"select bug8408_f()" "drop procedure bug8408_p" "drop function bug8408_f" "create function bug8408() returns int @@ -82483,6 +92837,33 @@ end" "insert into t1 value (2, 2.7), (3, 3.14), (7, 7.0)" "select *,bug8408() from t1" "drop function bug8408" +"create procedure bug10537() +load data local infile '/tmp/somefile' into table t1" +"create function bug8409() +returns int +begin +flush tables; +return 5; +end" +"create function bug8409() returns int begin reset binary logs and gtids; +return 1; end" +"create function bug8409() returns int begin RESET REPLICA; +return 1; end" +"create function bug8409() returns int begin flush privileges; +return 1; end" +"create function bug8409() returns int begin flush tables with read lock; +return 1; end" +"create function bug8409() returns int begin flush tables; +return 1; end" +"create function bug8409() returns int begin flush logs; +return 1; end" +"create function bug8409() returns int begin flush status; +return 1; end" +"create function bug8409() returns int begin flush user_resources; +return 1; end" +"create procedure bug9529_901234567890123456789012345678901234567890123456789012345() +begin +end" "create procedure bug17015_0123456789012345678901234567890123456789012345678901234() begin end" @@ -82491,6 +92872,11 @@ end" "create procedure bug10969() begin declare s1 int default 0; +select default(s1) from t30; +end" +"create procedure bug10969() +begin +declare s1 int default 0; select default(t30.s1) from t30; end" "drop procedure bug10969" @@ -82519,6 +92905,7 @@ CLOSE C1; CLOSE C1; SELECT 'end of proc'; END P1" +"call SP001()" "drop procedure SP001" "drop function if exists bug11394" "drop function if exists bug11394_1" @@ -82532,6 +92919,7 @@ else return (i in (100, 200, bug11394(i-1), 400)); end if; end" +"select bug11394(2)" "drop function bug11394" "create function bug11394_1(i int) returns int begin @@ -82541,6 +92929,7 @@ else return (select bug11394_1(i-1)); end if; end" +"select bug11394_1(2)" "drop function bug11394_1" "create function bug11394_2(i int) returns int return i" "select bug11394_2(bug11394_2(10))" @@ -82551,11 +92940,14 @@ if i > 0 then call bug11394(i - 1,(select 1)); end if; end" -"set @@max_sp_recursion_depth=10" "call bug11394(2, 1)" +"set @@max_sp_recursion_depth=10" "set @@max_sp_recursion_depth=default" "drop procedure bug11394" +"CREATE PROCEDURE BUG_12490() HELP CONTENTS" +"CREATE FUNCTION BUG_12490() RETURNS INT HELP CONTENTS" "CREATE TABLE t_bug_12490(a int)" +"CREATE TRIGGER BUG_12490 BEFORE UPDATE ON t_bug_12490 FOR EACH ROW HELP CONTENTS" "DROP TABLE t_bug_12490" "drop function if exists bug11834_1" "drop function if exists bug11834_2" @@ -82564,6 +92956,27 @@ end" "prepare stmt from ""select bug11834_2()""" "drop function bug11834_1" "drop function bug11834_2" +"CREATE FUNCTION bug12953() RETURNS INT +BEGIN +OPTIMIZE TABLE t1; +RETURN 1; +END" +"CREATE FUNCTION bug12995() RETURNS INT +BEGIN +HANDLER t1 OPEN; +RETURN 1; +END" +"CREATE FUNCTION bug12995() RETURNS INT +BEGIN +HANDLER t1 READ FIRST; +RETURN 1; +END" +"CREATE FUNCTION bug12995() RETURNS INT +BEGIN +HANDLER t1 CLOSE; +RETURN 1; +END" +"SELECT bug12995()" "drop procedure if exists bug12712" "drop function if exists bug12712" "create procedure bug12712() @@ -82577,12 +92990,48 @@ begin call bug12712(); return 0; end" +"set @x = bug12712()" "drop procedure bug12712" "drop function bug12712" +"create function bug12712() +returns int +begin +set session autocommit = 0; +return 0; +end" +"create function bug12712() +returns int +begin +set @@autocommit = 0; +return 0; +end" +"create function bug12712() +returns int +begin +set local autocommit = 0; +return 0; +end" +"create trigger bug12712 +before insert on t1 for each row set session autocommit = 0" "drop procedure if exists bug13510_1" "drop procedure if exists bug13510_2" "drop procedure if exists bug13510_3" "drop procedure if exists bug13510_4" +"create procedure bug13510_1() +begin +declare password varchar(10); + +set password = 'foo1'; +select password; +end" +"set names='foo2'",,syntax_error +"create procedure bug13510_2() +begin +declare names varchar(10); + +set names = 'foo2'; +select names; +end" "create procedure bug13510_3() begin declare password varchar(10); @@ -82601,6 +93050,54 @@ end" "call bug13510_4()" "drop procedure bug13510_3" "drop procedure bug13510_4" +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN DROP TRIGGER test1; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN DROP TRIGGER test1; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create table t2 (a int); END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN create table t2 (a int); return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create index t1_i on t1 (a); END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN create index t1_i on t1 (a); return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN alter table t1 add column b int; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN alter table t1 add column b int; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN rename table t1 to t2; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN rename table t1 to t2; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN truncate table t1; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN truncate table t1; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop table t1; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN drop table t1; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop index t1_i on t1; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN drop index t1_i on t1; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN unlock tables; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN unlock tables; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN LOCK TABLE t1 READ; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN LOCK TABLE t1 READ; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create database mysqltest; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN create database mysqltest; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop database mysqltest; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN drop database mysqltest; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create user 'mysqltest_1'; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN create user 'mysqltest_1'; return 1; END " +"CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN grant select on t1 to 'mysqltest_1'; END " +"CREATE FUNCTION bug21975() returns int BEGIN grant select on t1 to 'mysqltest_1'; return 1; END " +"CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN revoke select on t1 from 'mysqltest_1'; END " +"CREATE FUNCTION bug21975() returns int BEGIN revoke select on t1 from 'mysqltest_1'; return 1; END " +"CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN revoke all privileges on *.* from 'mysqltest_1'; END " +"CREATE FUNCTION bug21975() returns int BEGIN revoke all privileges on *.* from 'mysqltest_1'; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop user 'mysqltest_1'; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN drop user 'mysqltest_1'; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN rename user 'mysqltest_2' to 'mysqltest_1'; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN rename user 'mysqltest_2' to 'mysqltest_1'; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create view v1 as select 1; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN create view v1 as select 1; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN alter view v1 as select 1; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN alter view v1 as select 1; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop view v1; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN drop view v1; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create trigger tr2 before insert on t1 for each row do select 1; END ",,syntax_error +"CREATE FUNCTION bug_13627_f() returns int BEGIN create trigger tr2 before insert on t1 for each row do select 1; return 1; END ",,syntax_error +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop function bug_13627_f; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN drop function bug_13627_f; return 1; END " +"CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create function f2 () returns int return 1; END " +"CREATE FUNCTION bug_13627_f() returns int BEGIN create function f2 () returns int return 1; return 1; END " "CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN CREATE TEMPORARY TABLE t2 (a int); @@ -82621,6 +93118,10 @@ END " "drop function bug12329" "create function bug12329() returns int return (select a+100 from t2)" "select bug12329()" +"create procedure p1(out param1 int) +begin +select count(*) into param1 from t3; +end" "DROP PROCEDURE IF EXISTS bug13037_p1" "DROP PROCEDURE IF EXISTS bug13037_p2" "DROP PROCEDURE IF EXISTS bug13037_p3" @@ -82638,18 +93139,28 @@ END" BEGIN SELECT bug13037_foo; END" +"CALL bug13037_p1()" +"CALL bug13037_p2()" +"CALL bug13037_p3()" "DROP PROCEDURE bug13037_p1" "DROP PROCEDURE bug13037_p2" "DROP PROCEDURE bug13037_p3" "create database mysqltest2" "create procedure mysqltest2.p1() select version()" +"create procedure p2() select version()" "show procedure status like 'p1'" +"CREATE FUNCTION bug13012() RETURNS INT +BEGIN +REPAIR TABLE t1; +RETURN 1; +END" "CREATE PROCEDURE bug13012_1() REPAIR TABLE t1" "CREATE FUNCTION bug13012_2() RETURNS INT BEGIN CALL bug13012_1(); RETURN 1; END" +"SELECT bug13012_2()" "drop procedure bug13012_1" "drop function bug13012_2" "drop function if exists bug11555_1" @@ -82667,12 +93178,28 @@ END" "create trigger t1_ai after insert on t1 for each row insert into t2 values (new.i)" "create function bug11555_1() returns int return (select max(i) from t2)" "create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1()" +"insert into v1 values (2)" +"create procedure ``() select 1" +"create procedure ` `() select 1" +"create procedure `bug15658 `() select 1" +"create procedure ``.bug15658() select 1" +"create procedure `x `.bug15658() select 1" "create procedure ` bug15658`() select 1" "call ` bug15658`()" "show procedure status like '%bug15658'" "drop procedure ` bug15658`" "drop function if exists bug14270" "create table t1 (s1 int primary key)" +"create function bug14270() returns int +begin +load index into cache t1; +return 1; +end" +"create function bug14270() returns int +begin +cache index t1 key (`primary`) in keycache1; +return 1; +end" "create procedure bug15091() begin declare selectstr varchar(6000) default ' '; @@ -82683,12 +93210,28 @@ set selectstr = concat(selectstr, c.operatorid, 'in (',conditionstr, ')'); end" +"call bug15091()" "drop procedure bug15091" +"create aggregate function bug16896() returns int return 1",,syntax_error +"CREATE IF NOT EXISTS PROCEDURE bug14702() +BEGIN +END",,syntax_error +"CREATE PROCEDURE bug20953() CREATE VIEW v AS SELECT 1 INTO @a" +"CREATE PROCEDURE bug20953() CREATE VIEW v AS SELECT 1 INTO DUMPFILE ""file""" +"CREATE PROCEDURE bug20953() CREATE VIEW v AS SELECT 1 INTO OUTFILE ""file""" "CREATE PROCEDURE bug20953() CREATE VIEW v AS SELECT 1 FROM (SELECT 1) AS d1" "DROP PROCEDURE bug20953" +"CREATE PROCEDURE bug20953(i INT) CREATE VIEW v AS SELECT i" +"CREATE PROCEDURE bug20953() +BEGIN +DECLARE i INT; +CREATE VIEW v AS SELECT i; +END " +"PREPARE stmt FROM ""CREATE VIEW v AS SELECT ?""" "drop procedure if exists bug24491" "create procedure bug24491() insert into t1 (id, value) select * from (select 4 as i, 'FOURTH' as v) as y on duplicate key update v = 'DUP'" +"call bug24491()" "drop procedure bug24491" "create procedure bug24491() insert into t1 (id, value) select * from (select 4 as id, 'FOURTH' as value) as y on duplicate key update y.value = 'DUP'" @@ -82710,6 +93253,8 @@ RETURN 1; END " "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW CALL bug18914_p1()" +"SELECT bug18914_f1()" +"SELECT bug18914_f2()" "DROP FUNCTION bug18914_f1" "DROP FUNCTION bug18914_f2" "DROP PROCEDURE bug18914_p1" @@ -82775,14 +93320,1001 @@ declare c2 cursor for select b from table_25345_b; return 1; end " "call proc_25345()" +"select func_25345()" "select func_25345_b()" "drop table table_25345_a" "drop table table_25345_b" "drop procedure proc_25345" "drop function func_25345" "drop function func_25345_b" +"create function bug20701() returns varchar(25) binary return ""test""" "create function bug20701() returns varchar(25) return ""test""" "drop function bug20701" +"create procedure proc_26503_error_1() +begin +retry: +repeat +begin +declare continue handler for sqlexception +begin +iterate retry; +end + +select ""do something""; +end +until true end repeat retry; +end",,syntax_error +"create procedure proc_26503_error_2() +begin +retry: +repeat +begin +declare continue handler for sqlexception +iterate retry; + +select ""do something""; +end +until true end repeat retry; +end",,syntax_error +"create procedure proc_26503_error_3() +begin +retry: +repeat +begin +declare continue handler for sqlexception +begin +leave retry; +end + +select ""do something""; +end +until true end repeat retry; +end",,syntax_error +"create procedure proc_26503_error_4() +begin +retry: +repeat +begin +declare continue handler for sqlexception +leave retry; + +select ""do something""; +end +until true end repeat retry; +end",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE c char(100); +DECLARE cur1 CURSOR FOR SHOW TABLES; + +OPEN cur1; +FETCH cur1 INTO c; +select c; +CLOSE cur1; +END",,syntax_error +"SELECT inexistent(), 1 + ,",,syntax_error +"SELECT inexistent()" +"SELECT .inexistent()",,syntax_error +"SELECT ..inexistent()",,syntax_error +"create function f1() returns int +begin +set password = 'foo'; +return 1; +end" +"create trigger t1 +before insert on t2 for each row set password = 'foo';" +"create function f1() returns int +begin +drop temporary table t1; +return 1; +end" +"create temporary table t1 as select f1()" +"create function f2() returns int +begin +create temporary table t2 as select f1(); +return 1; +end" +"create temporary table t1 as select f2()" +"create function f1() returns int +begin +drop temporary table t2,t1; +return 1; +end" +"create temporary table t2(a int)" +"create function f2() returns int +begin +drop temporary table t2; +return 1; +end" +"select f2()" +"drop procedure if exists proc_33983_a" +"drop procedure if exists proc_33983_b" +"drop procedure if exists proc_33983_c" +"drop procedure if exists proc_33983_d" +"create procedure proc_33983_a() +begin +label1: +begin +label2: +begin +select 1; +end label1; +end; +end" +"create procedure proc_33983_b() +begin +label1: +repeat +label2: +repeat +select 1; +until FALSE end repeat label1; +until FALSE end repeat; +end" +"create procedure proc_33983_c() +begin +label1: +while TRUE do +label2: +while TRUE do +select 1; +end while label1; +end while; +end" +"create procedure proc_33983_d() +begin +label1: +loop +label2: +loop +select 1; +end loop label1; +end loop; +end" +"CREATE PROCEDURE p1(a INT) BEGIN END" +"CALL p1((SELECT * FROM t1))" +"create procedure p1() +begin +create table t1 (a int); +drop table t1; +end" +"create procedure proc_8759() +begin +declare should_be_illegal condition for sqlstate '00000'; +declare continue handler for should_be_illegal set @x=0; +end" +"create procedure proc_8759() +begin +declare continue handler for sqlstate '00000' set @x=0; +end" +"create procedure proc_36510() +begin +declare should_be_illegal condition for sqlstate '00123'; +declare continue handler for should_be_illegal set @x=0; +end" +"create procedure proc_36510() +begin +declare continue handler for sqlstate '00123' set @x=0; +end" +"create procedure proc_36510() +begin +declare should_be_illegal condition for 0; +declare continue handler for should_be_illegal set @x=0; +end" +"create procedure proc_36510() +begin +declare continue handler for 0 set @x=0; +end" +"set @old_recursion_depth = @@max_sp_recursion_depth" +"set @@max_sp_recursion_depth = 255" +"create procedure p1(a int) +begin +declare continue handler for 1436 -- ER_STACK_OVERRUN_NEED_MORE +select 'exception'; +call p1(a+1); +end" +"call p1(1)" +"set @@max_sp_recursion_depth = @old_recursion_depth" +"SELECT MAX (a) FROM t1 WHERE b = 999999" +"SELECT AVG (a) FROM t1 WHERE b = 999999" +"SELECT non_existent (a) FROM t1 WHERE b = 999999" +"CREATE TABLE t1 ( f2 INTEGER, f3 INTEGER )" +"INSERT INTO t1 VALUES ( 1, 1 )" +"CREATE FUNCTION func_1 () RETURNS INTEGER +BEGIN +INSERT INTO t1 SELECT * FROM t1 ; +RETURN 1 ; +END" +"INSERT INTO t1 SELECT * FROM (SELECT 2 AS f1, 2 AS f2) AS A WHERE func_1() = 5" +"DROP FUNCTION func_1" +"CREATE TABLE t1 (pk INT, b INT, KEY (b))" +"CREATE ALGORITHM = TEMPTABLE VIEW v1 AS SELECT * FROM t1" +"CREATE PROCEDURE p1 (a int) UPDATE IGNORE v1 SET b = a" +"CALL p1(5)" +"ALTER TABLE t1 CHANGE COLUMN b b2 INT" +"CALL p1(7)" +"SELECT very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999()" +"CALL very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999()" +"SELECT very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999.simple_func()" +"CALL very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999.simple_proc()" +"SELECT db_name.very_long_fn_name_111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999()" +"CALL db_name.very_long_pr_name_111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999()" +"DROP PROCEDURE IF EXISTS p4" +"DROP PROCEDURE IF EXISTS p4","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"DROP PROCEDURE IF EXISTS p5" +"DROP PROCEDURE IF EXISTS p5","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"DROP PROCEDURE IF EXISTS p6" +"DROP PROCEDURE IF EXISTS p6","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"CREATE PROCEDURE p1() +BEGIN +SELECT CAST('10x' as unsigned integer); +SELECT 1; +CALL p2(); +END" +"CREATE PROCEDURE p2() +BEGIN +SELECT CAST('10x' as unsigned integer); +END" +"CREATE PROCEDURE p1() +BEGIN +DECLARE c INT DEFAULT 0; +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +SET c = c + 1; +SELECT 'Warning caught!' AS Msg; +END; +CALL p2(); # 1 warning +CALL p3(); # 1 warning +CALL p4(); # No warnings +CALL p5(); # 1 warning +SELECT c; +SELECT @@warning_count; +SHOW WARNINGS; +END" +"CREATE PROCEDURE p2() +BEGIN +SELECT CAST('2x' as unsigned integer); +END" +"CREATE PROCEDURE p3() +BEGIN +SELECT CAST('3x' as unsigned integer); +GET DIAGNOSTICS @n = NUMBER; # does not clear the warning +END" +"CREATE PROCEDURE p4() +BEGIN +SELECT CAST('4x' as unsigned integer); +INSERT INTO t1 VALUES(1); # Clears the warning +END" +"CREATE PROCEDURE p5() +BEGIN +SELECT CAST('5x' as unsigned integer); +CALL p2(); +END" +"CREATE PROCEDURE p6() +BEGIN +SELECT CAST('6x' as unsigned integer); +SHOW WARNINGS; +END" +"CREATE PROCEDURE p7() +BEGIN +DECLARE c INT DEFAULT 0; +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +SET c = c + 1; +SELECT 'Warning caught!' AS Msg; +END; +CALL p6(); +SELECT c; +END" +"CREATE PROCEDURE p1() +BEGIN +DECLARE c CURSOR FOR SELECT a FROM t1; + +OPEN c; + +BEGIN +DECLARE v1 INT; +DECLARE v2 INT; + +DECLARE EXIT HANDLER FOR SQLEXCEPTION +SELECT ""Error caught (expected)""; + +DECLARE EXIT HANDLER FOR NOT FOUND +SELECT ""End of Result Set found!""; + +WHILE TRUE DO +FETCH c INTO v1, v2; +END WHILE; +END; + +CLOSE c; + +SELECT a INTO @foo FROM t1 LIMIT 1; # Clear warning stack +END" +"CREATE TABLE t1 (a INT, b INT NOT NULL)" +"CREATE PROCEDURE p1() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING SELECT 'warning'; +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SELECT 'exception'; +INSERT INTO t1 VALUES (CAST('10 ' AS SIGNED), NULL); +END" +"CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW +BEGIN +DECLARE EXIT HANDLER FOR SQLWARNING +SET NEW.a = 10; + +SET NEW.a = 99999999999; +END" +"UPDATE t1 SET b = 20" +"DROP TRIGGER t1_bu" +"SET @sql_mode_saved = @@sql_mode" +"SET sql_mode = traditional" +"CREATE PROCEDURE p1() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'warning caught (expected)'; + +INSERT IGNORE INTO t1 VALUES (1); +END" +"CREATE PROCEDURE p2() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +SELECT 'error caught (unexpected)'; + +INSERT IGNORE INTO t1 VALUES (1); +END" +"SET sql_mode = @sql_mode_saved" +"CREATE TABLE t1(x SMALLINT, y SMALLINT, z SMALLINT)" +"CREATE TABLE t2(a SMALLINT, b SMALLINT, c SMALLINT, +d SMALLINT, e SMALLINT, f SMALLINT)" +"CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW +INSERT INTO t2(a, b, c) VALUES(99999, 99999, 99999)" +"CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW +INSERT INTO t2(d, e, f) VALUES(99999, 99999, 99999)" +"CREATE PROCEDURE p1() +INSERT INTO t1 VALUES(99999, 99999, 99999)" +"CREATE TABLE t2(a SMALLINT, b SMALLINT, c SMALLINT NOT NULL)" +"CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +INSERT INTO t2 VALUES( +CAST('111111X' AS SIGNED), +CAST('222222X' AS SIGNED), +NULL); +END" +"CREATE PROCEDURE p1() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +SELECT 'H1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H2' AS HandlerId; + +SIGNAL SQLSTATE '01000'; # Should be handled by H2. +END" +"CREATE PROCEDURE p2() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +SELECT 'H1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H2' AS HandlerId; + +BEGIN + +SELECT 'B1' AS BlockId; +BEGIN + +SELECT 'B2' AS BlockId; +BEGIN +SELECT 'B3' AS BlockId; +SIGNAL SQLSTATE '01000'; # Should be handled by H2. +END; + +END; + +END; + +END" +"CREATE PROCEDURE p3() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +SELECT 'H1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'H3' AS HandlerId; + +SIGNAL SQLSTATE '01000'; # Should be handled by H3. +END" +"CREATE PROCEDURE p4() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +SELECT 'H1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'H2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H3' AS HandlerId; + +SIGNAL SQLSTATE '01000'; # Should be handled by H2. +END" +"CREATE PROCEDURE p5() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +SELECT 'H1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'H2' AS HandlerId; + +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H3' AS HandlerId; + +SIGNAL SQLSTATE '01000'; # Should be handled by H3. +END; +END" +"CREATE PROCEDURE p6() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN +SELECT 'H1' AS HandlerId; +SIGNAL SQLSTATE 'HY000'; # Should *not* be handled by H1. +END; + +SELECT 'S1' AS SignalId; +SIGNAL SQLSTATE 'HY000'; # Should be handled by H1. +END" +"CREATE PROCEDURE p7() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +SELECT 'H1' AS HandlerId; +SIGNAL SQLSTATE '01000'; # Should *not* be handled by H1. +END; + +SELECT 'S1' AS SignalId; +SIGNAL SQLSTATE '01000'; # Should be handled by H1. +END" +"CREATE PROCEDURE p8() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN +SELECT 'H2' AS HandlerId; +SIGNAL SQLSTATE '01000'; # Should *not* be handled by H1. +END; + +SELECT 'S1' AS SignalId; +SIGNAL SQLSTATE 'HY000'; # Should be handled by H2. +END" +"CREATE PROCEDURE p9() +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H1:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H1:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H2:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H2:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H3:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H3:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H4:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H4:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H5:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H5:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H6:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H6:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN +SELECT 'H2' AS HandlerId; +SIGNAL SQLSTATE '01000'; # Should *not* be handled by H1. +END; + +SELECT 'S6' AS SignalId; +SIGNAL SQLSTATE 'HY000'; +END; + +SELECT 'S5' AS SignalId; +SIGNAL SQLSTATE 'HY000'; + +END; + +SELECT 'S4' AS SignalId; +SIGNAL SQLSTATE 'HY000'; + +END; + +SELECT 'S3' AS SignalId; +SIGNAL SQLSTATE 'HY000'; + +END; + +SELECT 'S2' AS SignalId; +SIGNAL SQLSTATE 'HY000'; + +END; + +SELECT 'S1' AS SignalId; +SIGNAL SQLSTATE 'HY000'; # Should be handled by H2. + +END" +"CREATE PROCEDURE p10() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'H1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H2' AS HandlerId; + +BEGIN +BEGIN +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H1:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H1:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H2:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H2:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H3:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H3:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H4:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H4:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H5:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H5:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000' +SELECT 'Wrong:H6:1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'Wrong:H6:2' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN +SELECT 'H2' AS HandlerId; +SIGNAL SQLSTATE '01000'; # Should be handled by H1. +END; + +SELECT 'S6' AS SignalId; +SIGNAL SQLSTATE 'HY000'; +END; + +SELECT 'S5' AS SignalId; +SIGNAL SQLSTATE 'HY000'; + +END; + +SELECT 'S4' AS SignalId; +SIGNAL SQLSTATE 'HY000'; + +END; + +SELECT 'S3' AS SignalId; +SIGNAL SQLSTATE 'HY000'; + +END; + +SELECT 'S2' AS SignalId; +SIGNAL SQLSTATE 'HY000'; + +END; + +SELECT 'S1' AS SignalId; +SIGNAL SQLSTATE 'HY000'; # Should be handled by H2. + +END; +END; +END; +END" +"CREATE PROCEDURE p11() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +SELECT 'H1' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H2' AS HandlerId; + +BEGIN +DECLARE CONTINUE HANDLER FOR SQLSTATE '01000', 1249 +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +SELECT 'H3' AS HandlerId; + +DECLARE CONTINUE HANDLER FOR SQLWARNING +SELECT 'H4' AS HandlerId; + +BEGIN +SELECT 'H5' AS HandlerId; + +SELECT 'S3' AS SignalId; +SIGNAL SQLSTATE 'HY000'; # H3 + +SELECT 'S4' AS SignalId; +SIGNAL SQLSTATE '22003'; # H3 + +SELECT 'S5' AS SignalId; +SIGNAL SQLSTATE '01000' SET MYSQL_ERRNO = 1249; # H4 +END; +END; + +SELECT 'S6' AS SignalId; +SIGNAL SQLSTATE 'HY000'; # H1 + +SELECT 'S7' AS SignalId; +SIGNAL SQLSTATE '22003'; # H1 + +SELECT 'S8' AS SignalId; +SIGNAL SQLSTATE '01000' SET MYSQL_ERRNO = 1249; # H5 +END; + +SELECT 'S1' AS SignalId; +SIGNAL SQLSTATE 'HY000'; # H1 + +SELECT 'S2' AS SignalId; +SIGNAL SQLSTATE '01000' SET MYSQL_ERRNO = 1249; # H2 +END" +"CREATE PROCEDURE p12() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLSTATE '01001' +BEGIN +DECLARE CONTINUE HANDLER FOR SQLSTATE '01001' +BEGIN +DECLARE CONTINUE HANDLER FOR SQLSTATE '01001' +BEGIN +DECLARE CONTINUE HANDLER FOR SQLSTATE '01001' +BEGIN +DECLARE CONTINUE HANDLER FOR SQLSTATE '01001' +BEGIN +SELECT 'H1:5' AS HandlerId; +SIGNAL SQLSTATE '01002'; +END; +SELECT 'H1:4' AS HandlerId; +SIGNAL SQLSTATE '01001'; +END; +SELECT 'H1:3' AS HandlerId; +SIGNAL SQLSTATE '01001'; +END; +SELECT 'H1:2' AS HandlerId; +SIGNAL SQLSTATE '01001'; +END; +SELECT 'H1:1' AS HandlerId; +SIGNAL SQLSTATE '01001'; +END; + +######################################################### + +DECLARE CONTINUE HANDLER FOR SQLSTATE '01002' +SELECT 'OK' AS Msg; + +######################################################### + +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +SELECT 'H2:5' AS HandlerId; +SIGNAL SQLSTATE '01001'; +END; +SELECT 'H2:4' AS HandlerId; +SIGNAL SQLSTATE '01000'; +END; +SELECT 'H2:3' AS HandlerId; +SIGNAL SQLSTATE '01000'; +END; +SELECT 'H2:2' AS HandlerId; +SIGNAL SQLSTATE '01000'; +END; +SELECT 'H2:1' AS HandlerId; +SIGNAL SQLSTATE '01000'; +END; + +####################################################### + +SELECT 'Throw 01000' AS Msg; +SIGNAL SQLSTATE '01000'; +END; + +END" +"CREATE PROCEDURE p13() +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING +BEGIN +DECLARE EXIT HANDLER FOR SQLWARNING +BEGIN +SELECT 'EXIT handler 3' AS Msg; +END; + +SELECT 'CONTINUE handler 2: 1' AS Msg; +SIGNAL SQLSTATE '01000'; +SELECT 'CONTINUE handler 2: 2' AS Msg; +END; + +SELECT 'CONTINUE handler 1: 1' AS Msg; +SIGNAL SQLSTATE '01000'; +SELECT 'CONTINUE handler 1: 2' AS Msg; +END; + +SELECT 'Throw 01000' AS Msg; +SIGNAL SQLSTATE '01000'; +END" +"CALL p13()" +"DROP PROCEDURE p13" +"CREATE TABLE t1(msg VARCHAR(255))" +"CREATE FUNCTION f1() RETURNS INT +BEGIN + +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION # handler 1 +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION # handler 2 +BEGIN +INSERT INTO t1 VALUE('WRONG: Inside H2'); +RETURN 2; +END; + +INSERT INTO t1 VALUE('CORRECT: Inside H1'); +RETURN 1; +END; + +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING # handler 3 +BEGIN +INSERT INTO t1 VALUE('WRONG: Inside H3'); +RETURN 3; +END; + +INSERT INTO t1 VALUE('CORRECT: Calling f1()'); +RETURN f1(); # -- exception here +END; + +INSERT INTO t1 VALUE('WRONG: Returning 10'); +RETURN 10; + +END" +"CREATE TABLE t1(a CHAR, b CHAR, c CHAR)" +"CREATE TABLE t2(a SMALLINT, b SMALLINT, c SMALLINT)" +"CREATE PROCEDURE p1() +BEGIN +DECLARE EXIT HANDLER FOR SQLWARNING +SELECT 'Warning caught' AS msg; + +# The INSERT below raises 3 SQL-conditions (warnings). The EXIT HANDLER +# above must be invoked once (for one condition), but all three conditions +# must be cleared from the Diagnostics Area. + +INSERT INTO t1 VALUES('qqqq', 'ww', 'eee'); + +# The following INSERT will not be executed, because of the EXIT HANDLER. + +INSERT INTO t1 VALUES('zzz', 'xx', 'yyyy'); +END" +"CREATE PROCEDURE p2() +BEGIN +DECLARE CONTINUE HANDLER FOR 1292 +SELECT 'Warning 1292 caught' AS msg; + +# The following INSERT raises 6 SQL-warnings with code 1292, +# and 3 SQL-warnings with code 1264. The CONTINUE HANDLER above must be +# invoked once, and all nine SQL-warnings must be cleared from +# the Diagnostics Area. + +INSERT INTO t2 +SELECT +CAST(CONCAT(CAST('1X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER), +CAST(CONCAT(CAST('2X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER), +CAST(CONCAT(CAST('3X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER); +END" +"CREATE PROCEDURE p3() +BEGIN +DECLARE CONTINUE HANDLER FOR 1292 +SELECT 'Warning 1292 caught' AS msg; + +DECLARE CONTINUE HANDLER FOR 1264 +SELECT 'Warning 1264 caught' AS msg; + +# The following INSERT raises 6 SQL-warnings with code 1292, +# and 3 SQL-warnings with code 1264. Only one of the CONTINUE HANDLERs above +# must be called, and only once. The SQL Standard does not define, which one +# should be invoked. + +INSERT INTO t2 +SELECT +CAST(CONCAT(CAST('1X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER), +CAST(CONCAT(CAST('2X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER), +CAST(CONCAT(CAST('3X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER); +END" +"CREATE PROCEDURE p4() +BEGIN +DECLARE CONTINUE HANDLER FOR 1292 +SELECT 'Warning 1292 caught' AS msg; + +DECLARE CONTINUE HANDLER FOR 1264 +SELECT 'Warning 1264 caught' AS msg; + +# The following INSERT raises 4 SQL-warnings with code 1292, +# and 3 SQL-warnings with code 1264. Only one of the CONTINUE HANDLERs above +# must be called, and only once. The SQL Standard does not define, which one +# should be invoked. + +INSERT INTO t2 +SELECT +CAST(999999 AS SIGNED INTEGER), +CAST(CONCAT(CAST('2X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER), +CAST(CONCAT(CAST('3X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER); +END" +"CREATE PROCEDURE p5() +BEGIN +DECLARE EXIT HANDLER FOR 1292 +BEGIN +SELECT 'Handler for 1292' AS Msg; +SIGNAL SQLSTATE '01000' SET MYSQL_ERRNO = 1234; +SHOW WARNINGS; +END; + +INSERT INTO t2 +SELECT +CAST(999999 AS SIGNED INTEGER), +CAST(CONCAT(CAST('2X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER), +CAST(CONCAT(CAST('3X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER); +END" +"CREATE PROCEDURE p6() +BEGIN +DECLARE CONTINUE HANDLER FOR 1292 +BEGIN +SHOW WARNINGS; +SELECT 'Handler for 1292' Msg; +END; + +INSERT INTO t2 +SELECT +CAST(CONCAT(CAST('1X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER), +CAST(CONCAT(CAST('2X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER), +CAST(CONCAT(CAST('3X' AS UNSIGNED INTEGER), '999999XX') AS SIGNED INTEGER); +END" +"CREATE PROCEDURE p1() +BEGIN +DECLARE var1 INTEGER DEFAULT 'string'; +DECLARE EXIT HANDLER FOR SQLWARNING SELECT 'H1'; +END" +"CREATE PROCEDURE p2() +BEGIN +DECLARE EXIT HANDLER FOR SQLWARNING SELECT 'H2'; +CALL p1(); +END" +"CREATE PROCEDURE p1() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SELECT 'triggered p1'; +# This will trigger an error. +SIGNAL SQLSTATE 'HY000'; +END" +"CREATE PROCEDURE p2() +BEGIN +DECLARE CONTINUE HANDLER FOR SQLWARNING SELECT 'triggered p2'; +# This will trigger a warning. +SIGNAL SQLSTATE '01000'; +END" +"SET @old_max_error_count= @@session.max_error_count" +"SET SESSION max_error_count= 0" +"SET SESSION max_error_count= @old_max_error_count" +"CREATE FUNCTION f1() RETURNS INTEGER +BEGIN +DECLARE v VARCHAR(5) DEFAULT -1; +SELECT b FROM t1 WHERE a = 2 INTO v; +RETURN v; +END" +"CREATE FUNCTION f2() RETURNS INTEGER +BEGIN +DECLARE v INTEGER; + +DECLARE CONTINUE HANDLER FOR NOT FOUND +SET @msg = 'Handler activated.'; + +SELECT f1() INTO v; + +RETURN v; +END" +"SET @msg = ''" +"SELECT @msg" +"drop function f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk" +"drop function test.f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk" +"drop function mysqltest111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjj.test" +"SET @orig_character_set_client = @@character_set_client" +"SET character_set_client = utf8mb3" +"CREATE PROCEDURE test𝌆() SELECT 1" +"CREATE FUNCTION test𝌆() RETURNS INT RETURN 1" +"CREATE PROCEDURE p(IN test𝌆 INT) SELECT 1" +"CREATE FUNCTION f(test𝌆 INT) RETURNS INT RETURN 1" +"CREATE PROCEDURE p2() COMMENT 'test𝌆' SELECT 1" +"CREATE FUNCTION f2() RETURNS INT COMMENT 'test𝌆' RETURN 1" +"CREATE PROCEDURE p2() SELECT 1" +"ALTER PROCEDURE p2 COMMENT 'test𝌆'" +"ALTER FUNCTION f2 COMMENT 'test𝌆'" +"SET character_set_client = @orig_character_set_client" +"CREATE FUNCTION mysqltest.f2() RETURNS INT RETURN f1()" "CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER DETERMINISTIC LANGUAGE SQL BEGIN RETURN a-1; END " "SELECT routine_name, routine_type, data_type, routine_body, @@ -82803,6 +94335,7 @@ $$ external_name, external_language, parameter_style, routine_definition FROM information_schema.routines WHERE routine_schema = ""test"" " +"SELECT foo(2)" "CREATE FUNCTION JAVASCRIPT(x INTEGER) RETURNS INTEGER DETERMINISTIC LANGUAGE JAVASCRIPT AS $$ @@ -82811,6 +94344,7 @@ $$ " "SHOW CREATE FUNCTION JAVASCRIPT" "SHOW FUNCTION STATUS WHERE Name = 'JAVASCRIPT'" +"SELECT JAVASCRIPT(2)" "DROP FUNCTION JAVASCRIPT" "CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC LANGUAGE PYTHON AS $$ @@ -82842,6 +94376,12 @@ AS $$ return x-1; $$ " +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC +LANGUAGE $$JAVASCRIPT +AS $$ +return x-1; +$$ +",,syntax_error "CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC LANGUAGE 123j AS $$ return x-1; @@ -82852,6 +94392,39 @@ AS $$ return x-1; $$ " +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC +LANGUAGE ""JAVASCRIPT"" +AS $$ +return x-1; +$$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC +LANGUAGE 'JAVASCRIPT' +AS $$ +return x-1; +$$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC LANGUAGE "" "" +AS $$ +return x-1; +$$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC LANGUAGE J? +AS $$ +return x-1; +$$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC +LANGUAGE \JAVASCRIPT +AS $$ +return x-1; +$$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC LANGUAGE 123 +AS $$ +return x-1; +$$ +",,syntax_error "CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER LANGUAGE JAVASCRIPT DETERMINISTIC LANGUAGE SQL BEGIN RETURN a-1; END " @@ -82862,6 +94435,12 @@ return x-1; $$ " "CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +LANGUAGE SQL DETERMINISTIC LANGUAGE JAVASCRIPT PYTHON +AS $$ +return x-1; +$$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER LANGUAGE JAVASCRIPT @@ -82882,6 +94461,27 @@ AS $$ return x-1; $$ " +"CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE +BEGIN RETURN a-1; END ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER +LANGUAGE SQL DETERMINISTIC LANGUAGE +BEGIN RETURN a-1; END ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE +BEGIN a-1; END ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE +AS $$ +return x-1; +$$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +LANGUAGE JAVASCRIPT DETERMINISTIC LANGUAGE +AS $$ +return x-1; +$$ +",,syntax_error "CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC NO SQL LANGUAGE JAVASCRIPT AS $$ @@ -82928,6 +94528,12 @@ AS $$ return x-1; $$ " +"CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE SQL +AS $$ return a-1; $$ ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +BEGIN RETURN a-1; END ",,syntax_error "CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE SQL BEGIN DECLARE b INTEGER DEFAULT a; END " "SELECT routine_name, routine_type, data_type, routine_body, @@ -82942,11 +94548,13 @@ AS $$ let b = a; $$ " "SHOW CREATE procedure bar" "SHOW PROCEDURE STATUS WHERE Name = 'bar'" "SHOW PROCEDURE STATUS where Language like ""%JAVA%""" +"CALL bar(2)" "CREATE PROCEDURE JAVASCRIPT(a INTEGER) DETERMINISTIC LANGUAGE JAVASCRIPT AS $$ let b = a; $$ " "SHOW CREATE procedure JAVASCRIPT" "SHOW PROCEDURE STATUS WHERE Name = 'JAVASCRIPT'" +"CALL JAVASCRIPT(2)" "DROP procedure JAVASCRIPT" "CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE PYTHON AS $$ let b = a; $$ " @@ -82961,10 +94569,24 @@ AS $$ let b = a; $$ " AS $$ let b = a; $$ " "CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE $NOLANG AS $$ let b = a; $$ " +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE $$JAVASCRIPT +AS $$ let b = a; $$ ",,syntax_error "CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE 123j AS $$ let b = a; $$ " "CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE __ AS $$ let b = a; $$ " +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE ""JAVASCRIPT"" +AS $$ let b = a; $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE 'JAVASCRIPT' +AS $$ let b = a; $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE "" "" +AS $$ let b = a; $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE J? +AS $$ let b = a; $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE \JAVASCRIPT +AS $$ let b = a; $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE 123 +AS $$ let b = a; $$ ",,syntax_error "CREATE PROCEDURE bar(a INTEGER) LANGUAGE JAVASCRIPT DETERMINISTIC LANGUAGE SQL BEGIN DECLARE b INTEGER DEFAULT a; END " @@ -82972,6 +94594,9 @@ BEGIN DECLARE b INTEGER DEFAULT a; END " LANGUAGE SQL DETERMINISTIC LANGUAGE JAVASCRIPT AS $$ let b = a; $$ " "CREATE PROCEDURE bar(a INTEGER) +LANGUAGE SQL DETERMINISTIC LANGUAGE JAVASCRIPT PYTHON +AS $$ b = a $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) LANGUAGE JAVASCRIPT @@ -82983,6 +94608,15 @@ AS $$ let b = a; $$ " "CREATE PROCEDURE bar(a INTEGER) LANGUAGE JAVASCRIPT DETERMINISTIC AS $$ let b = a; $$ " +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE +BEGIN DECLARE b INTEGER DEFAULT a; END ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +LANGUAGE SQL DETERMINISTIC LANGUAGE +BEGIN DECLARE b INTEGER DEFAULT a; END ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE +BEGIN a-1; END ",,syntax_error "CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC NO SQL LANGUAGE JAVASCRIPT AS $$ let b = a; $$ " @@ -83014,12 +94648,22 @@ BEGIN DECLARE b INTEGER DEFAULT a; END " "CREATE PROCEDURE bar(a INTEGER) NOT DETERMINISTIC LANGUAGE JAVASCRIPT AS $$ let b = a; $$ " "CREATE PROCEDURE bar(a INTEGER) +LANGUAGE SQL DETERMINISTIC LANGUAGE SQL +$$ let b = a; $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +BEGIN DECLARE b INTEGER DEFAULT a; END ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE SQL BEGIN DECLARE b INTEGER DEFAULT a; END " +"ALTER FUNCTION foo LANGUAGE JAVASCRIPT " "ALTER FUNCTION foo LANGUAGE SQL NO SQL " +"ALTER FUNCTION foo LANGUAGE NO SQL ",,syntax_error "DROP FUNCTION foo " +"ALTER PROCEDURE bar LANGUAGE JAVASCRIPT " "ALTER PROCEDURE bar LANGUAGE SQL NO SQL " "SHOW CREATE PROCEDURE bar" +"ALTER PROCEDURE bar LANGUAGE NO SQL ",,syntax_error "DROP PROCEDURE bar " "CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER DETERMINISTIC LANGUAGE JAVASCRIPT @@ -83043,6 +94687,12 @@ AS "" return x-1; "" " +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +AS $$ +return x-1; +$$ +DETERMINISTIC LANGUAGE JAVASCRIPT +",,syntax_error "CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) DETERMINISTIC LANGUAGE JAVASCRIPT AS @@ -83173,6 +94823,136 @@ return x$$ + $y$$z + a; $code$ " +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +$$ +return x-1; +$$ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE 'return x-1;' ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE return x-1 ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC AS LANGUAGE JAVASCRIPT +""return x-1;"" ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +$code$ +return ""$$"" + a + ""$$""; +$code$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $ +return x-1; +$ ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +return ""$$"" + a + ""$$""; +$$ +",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $code$ +return ""$code$"" + a + ""$code$""; +$code$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +return x-1; +$code$ ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$code$ +return ""$$"" + a + ""$$""; +$$ +",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$Code$ +return ""$$"" + a + ""$$""; +$CODE$ +",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$CodE$ +return ""$$"" + a + ""$$""; +$code$ +",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +const $x = 3; +const $y$ = 4; +return $x + $y$ + a; +",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$code$ +const x$$ = 3; +const $y$$z = 4; +return x$$ + $y$$z + a; + +$ +",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$1234567890qwertyuiopasdfghjklzxcvbnm_QWERTYUIOPASDFGHJKLZXCVBNM™∞•–≠∑†π“‘∂ƒ˙∆˚…Ω≈√∫≤≥⁄€‹›fifl‡‚—˝˛◊ı˘$ +return ""$$"" + a + ""$$""; +$1234567890qwertyuiopasdfghjklzxcvbnm_QWERTYUIOPASDFGHJKLZXCVBNM™∞•–≠∑†π“‘∂ƒ˙∆˚…Ω≈√∫≤≥⁄€‹›fifl‡‚—˝˛◊ı˗$ +",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $+a$ +return x-1; +$+a$ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $a-$ +return x-1; +$a-$ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $a(b$ +return x-1; +$a(b$ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $a~b$ +return x-1; +$a~b$ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +return x-1; +$$ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $ $ +return x-1; +$ $ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $I'm$ +return x-1; +$I'm$ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $'Hi'$ +return x-1; +$'Hi'$ ",,syntax_error +"CREATE FUNCTION foo(x INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $a""b""$ +return x-1; +$a""b""$ ",,syntax_error "CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) DETERMINISTIC LANGUAGE JAVASCRIPT AS $$ @@ -83245,6 +95025,24 @@ AS $x😀y😔$ return ""😀😔$"" + a + ""😀$😔$""; $x😀y😔$ " +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $😀😔$ +return ""😀$😔"" + a + ""😀$😔$""; +$😔😀$ +",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +return ""\$$"" + a + ""\$code$""; +$$ +",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $code$ +return ""\$$"" + a + ""\$code$""; +$code$ +",,syntax_error "CREATE FUNCTION foo(x INTEGER) RETURNS VARCHAR(20) DETERMINISTIC LANGUAGE JAVASCRIPT AS $code$ rtrn ""$$"" + x + ""$foo$""; $code$ " @@ -83256,6 +95054,24 @@ const $y = 1 return $x + $y; $$ " +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS 'return ""$$"" + a + ""$foo$"";' +AS $$ return a-1; $$ ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS VARCHAR(20) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $code$ return ""$$"" + a + ""$foo$""; $code$ +AS $$ return a-1; $$ ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ return a-1; $$ +BEGIN RETURN a-1; END ",,syntax_error +"CREATE FUNCTION foo(a INTEGER) RETURNS INTEGER +DETERMINISTIC LANGUAGE SQL +AS $$ return a-1; $$ +BEGIN RETURN a-1; END ",,syntax_error +"CREATE FUNCTION foo() RETURNS INTEGER +DETERMINISTIC LANGUAGE JAVASCRIPT",,syntax_error "CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE JAVASCRIPT AS $$ @@ -83279,6 +95095,12 @@ AS let b = a; "" " "CREATE PROCEDURE bar(a INTEGER) +AS $$ +let b = a; +$$ +DETERMINISTIC LANGUAGE JAVASCRIPT +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE JAVASCRIPT AS ' @@ -83410,6 +95232,136 @@ $code$ " "CREATE PROCEDURE bar(a INTEGER) DETERMINISTIC LANGUAGE JAVASCRIPT +$$ +let b = a; +$$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE 'let b = a;' ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE let b = a ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC AS LANGUAGE JAVASCRIPT +""let b = a;"" ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +$code$ +let b = ""$$"" + a + ""$$""; +$code$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $ +let b = a; +$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +let b = ""$$"" + a + ""$$""; +$$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $code$ +let b = ""$code$"" + a + ""$code$""; +$code$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +let b = a; +$code$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$code$ +let b = ""$$"" + a + ""$$""; +$$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$Code$ +let b = ""$$"" + a + ""$$""; +$CODE$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$CodE$ +let b = ""$$"" + a + ""$$""; +$code$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +const $x = 3; +const $y$ = 4; +let b = $x + $y$ + a; +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$code$ +const x$$ = 3; +const $y$$z = 4; +let b = x$$ + $y$$z + a; + +$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS +$1234567890qwertyuiopasdfghjklzxcvbnm_QWERTYUIOPASDFGHJKLZXCVBNM™∞•–≠∑†π“‘∂ƒ˙∆˚…Ω≈√∫≤≥⁄€‹›fifl‡‚—˝˛◊ı˘$ +let b = ""$$"" + a + ""$$""; +$1234567890qwertyuiopasdfghjklzxcvbnm_QWERTYUIOPASDFGHJKLZXCVBNM™∞•–≠∑†π“‘∂ƒ˙∆˚…Ω≈√∫≤≥⁄€‹›fifl‡‚—˝˛◊ı˗$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $+a$ +let b = a; +$+a$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $a-$ +let b = a; +$a-$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $a(b$ +let b = a; +$a(b$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $a~b$ +let b = a; +$a~b$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +let b = a; +$$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $ $ +let b = a; +$ $ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $I'm$ +let b = a; +$I'm$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $'Hi'$ +let b = a; +$'Hi'$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $a""b""$ +let b = a; +$a""b""$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT AS $$ let b = ""∂"" + a + ""$∂$""; $$ @@ -83480,6 +95432,24 @@ AS $x😀y😔$ let b = ""😀😔$"" + a + ""😀$😔$""; $x😀y😔$ " +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $😀😔$ +let b = ""😀$😔"" + a + ""😀$😔$""; +$😔😀$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ +let b = ""\$$"" + a + ""\$code$""; +$$ +",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $code$ +let b = ""\$$"" + a + ""\$code$""; +$code$ +",,syntax_error "CREATE PROCEDURE bar(x INTEGER) DETERMINISTIC LANGUAGE JAVASCRIPT AS $code$ let b := ""$$"" + x + ""$foo$""; $code$ " @@ -83491,10 +95461,37 @@ const $y = 1 let b = $x + $y; $$ " +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS 'let b = ""$$"" + a + ""$foo$"";' +AS $$ let b = a-1; $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $code$ let b = ""$$"" + a + ""$foo$""; $code$ +AS $$ let b = a-1; $$ ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE JAVASCRIPT +AS $$ let b = a-1; $$ +BEGIN RETURN a-1; END ",,syntax_error +"CREATE PROCEDURE bar(a INTEGER) +DETERMINISTIC LANGUAGE SQL +AS $$ let b = a-1; $$ +BEGIN RETURN a-1; END ",,syntax_error +"CREATE PROCEDURE bar() +DETERMINISTIC LANGUAGE JAVASCRIPT",,syntax_error +"CREATE FUNCTION $$foo(x INTEGER) INTEGER DETERMINISTIC +LANGUAGE JAVASCRIPT AS $$ let b = x-1; $$ ",,syntax_error +"CREATE PROCEDURE $$bar(a INTEGER) DETERMINISTIC +LANGUAGE JAVASCRIPT AS $$ let b = a; $$ ",,syntax_error +"SELECT $$Hello world!$$",,syntax_error +"SELECT $hi$Hello world!$hi$",,syntax_error "SELECT 1 AS $hi" "SELECT 1 AS h$i" "SELECT 1 AS h$$i" "SELECT 1 AS h$i$" +"SELECT 1 AS $$",,syntax_error +"SELECT 1 AS $hi$",,syntax_error +"SELECT 1 AS $h$i",,syntax_error "SELECT 1 AS `$$`" "SELECT 1 AS `$hi$`" "SELECT 1 AS `$h$i`" @@ -83525,8 +95522,12 @@ end" "set @@max_sp_recursion_depth= 0" "drop procedure if exists p4" "savepoint sv" +"rollback to savepoint sv" "alter procedure p1 comment 'changed comment'" "alter function f1 comment 'new comment'" +"create procedure p2() begin end" +"create function f2() returns int return 1" +"alter function f1 comment 'changed comment'" "select f1()" "create trigger t1_ai after insert on t1 for each row insert into t2 (a, b) values (new.a, f1())" @@ -83548,8 +95549,6 @@ insert into t2 (a, b) values (new.a, (select max(a) from v1))" "create function f2() returns varchar(20) return ""f2()""" "set @@session.autocommit=0" "lock table v1 read" -"select f2()" -"rollback to savepoint sv" "set @@session.autocommit=default" "create function f2() returns int begin @@ -83614,6 +95613,8 @@ RETURN 1; END" "CREATE FUNCTION db1.f2() RETURNS INTEGER RETURN 2" "SELECT db1.f2()" +"show procedure code foo" +"show function code foo" "drop procedure if exists sp1" "drop procedure if exists sp2" "drop procedure if exists sp3" @@ -83760,17 +95761,20 @@ begin insert into bug_27907_logs (a) values (1); end" "drop table bug_27907_logs" +"insert into bug_27907_t1(a) values (1)" "drop table bug_27907_t1" "drop function if exists f_bug22427" "create function f_bug22427() returns int return (select max(i) from t1)" "select f_bug22427()" "create table if not exists t1 select f_bug22427() as i" +"create table t1 select f_bug22427() as i" "drop function f_bug22427" "DROP table IF EXISTS t1,t2" "CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW BEGIN UPDATE t2 SET c2= c2 + 1; END" +"INSERT INTO t2 values(4)" "DROP TRIGGER t1_ai" "CREATE TABLE t1 SELECT 1 AS fld1, 'A' AS fld2" "CREATE TABLE t2 (fld3 INT, fld4 CHAR(1))" @@ -83834,10 +95838,15 @@ end" "grant execute on function db1_secret.db to ''@'%'" "call db1_secret.stamp(2)" "select db1_secret.db()" +"select * from db1_secret.t1" +"drop procedure db1_secret.stamp" +"drop function db1_secret.db" "call db1_secret.stamp(3)" "alter procedure stamp sql security invoker" "alter function db sql security invoker" "call stamp(4)" +"call db1_secret.stamp(5)" +"call db1_secret.stamp(6)" "create table t2 (s1 int)" "create user user2@localhost" "grant usage on db2.* to user1@localhost" @@ -83875,8 +95884,10 @@ from information_schema.routines where routine_schema like 'db%'" "grant execute on procedure sptest.p1 to userc@localhost with grant option" "show grants for userc@localhost" "call sptest.p1(1)" -"call sptest.p1(3)" "grant execute on procedure sptest.p1 to userb@localhost" +"drop procedure sptest.p1" +"call sptest.p1(2)" +"call sptest.p1(3)" "call sptest.p1(4)" "grant all privileges on procedure sptest.p1 to userc@localhost" "show grants for userb@localhost" @@ -83889,6 +95900,7 @@ from information_schema.routines where routine_schema like 'db%'" "grant select on t1 to user1@localhost" "create function bug_9503 () returns int sql security invoker begin declare v int; select min(s1) into v from t1; return v; end" +"select bug_9503()" "grant execute on function bug_9503 to user1@localhost" "do 1" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM user1@localhost" @@ -83910,6 +95922,7 @@ select min(s1) into v from t1; return v; end" begin select 1 from dual; end" +"call mysqltest_1.p1()" "drop procedure mysqltest_1.p1" "revoke usage on *.* from mysqltest_1@localhost" "drop function if exists bug12812" @@ -83918,6 +95931,8 @@ begin return 'ok'; end; create user user_bug12812@localhost IDENTIFIED BY 'ABC'" +"SELECT test.bug12812()" +"CREATE VIEW v1 AS SELECT test.bug12812()" "DROP USER user_bug12812@localhost" "drop function bug12812" "create database db_bug14834" @@ -83946,6 +95961,8 @@ select * from db_bug14533.t1" "grant execute on procedure db_bug14533.bug14533_2 to user_bug14533@localhost" "call db_bug14533.bug14533_1()" "call db_bug14533.bug14533_2()" +"desc db_bug14533.t1" +"select * from db_bug14533.t1" "drop user user_bug14533@localhost" "drop database db_bug14533" "DROP DATABASE IF EXISTS mysqltest" @@ -83954,6 +95971,8 @@ select * from db_bug14533.t1" "GRANT ALL PRIVILEGES ON mysqltest.* TO mysqltest_2@localhost" "CREATE PROCEDURE wl2897_p1() SELECT 1" "CREATE FUNCTION wl2897_f1() RETURNS INT RETURN 1" +"CREATE DEFINER=root@localhost PROCEDURE wl2897_p2() SELECT 2" +"CREATE DEFINER=root@localhost FUNCTION wl2897_f2() RETURNS INT RETURN 2" "CREATE DEFINER='a @ b @ c'@localhost PROCEDURE wl2897_p3() SELECT 3" "CREATE DEFINER='a @ b @ c'@localhost FUNCTION wl2897_f3() RETURNS INT RETURN 3" "SHOW CREATE PROCEDURE wl2897_p1" @@ -83997,6 +96016,9 @@ SET @b:= (SELECT COUNT(*) FROM t1); RETURN @b; END" "CREATE SQL SECURITY INVOKER VIEW v1 AS SELECT f_evil()" +"SELECT f_evil()" +"SELECT f_suid(f_evil())" +"CALL p_suid(f_evil())" "DROP FUNCTION f_evil" "DROP PROCEDURE p_suid" "DROP FUNCTION f_suid" @@ -84029,9 +96051,19 @@ END" "create user bug57061_user@localhost" "create function mysqltest_db.f1() returns int return 0" "create procedure mysqltest_db.p1() begin end" +"drop function if exists mysqltest_db.f_does_not_exist" +"drop procedure if exists mysqltest_db.p_does_not_exist" +"drop function if exists mysqltest_db.f1" +"drop procedure if exists mysqltest_db.p1" "drop user bug57061_user@localhost" "drop database mysqltest_db" "create user bug12602983_user@localhost" +"select mysqltest_db.f_does_not_exist()" +"call mysqltest_db.p_does_not_exist()" +"select mysqltest_db.f1()" +"call mysqltest_db.p1()" +"create view bug12602983_v1 as select mysqltest_db.f_does_not_exist()" +"create view bug12602983_v1 as select mysqltest_db.f1()" "drop user bug12602983_user@localhost" "CREATE DATABASE mysqltest_db" "CREATE PROCEDURE mysqltest_db.p1(IN f1 INT) SELECT 1" @@ -84058,12 +96090,12 @@ END" "CREATE DEFINER = `usr_definer`@`localhost` PROCEDURE testdb.proc_definer() SELECT ""ProcDefiner""" "CREATE DEFINER = `usr_definer`@`localhost` FUNCTION testdb.func_definer() RETURNS VARCHAR(11) DETERMINISTIC RETURN ""FuncDefiner""" "SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA=""testdb"" ORDER BY ROUTINE_DEFINITION" -"SHOW PROCEDURE STATUS WHERE db=""testdb""" -"SHOW FUNCTION STATUS WHERE db=""testdb""" "SHOW CREATE PROCEDURE testdb.proc_root" "SHOW CREATE PROCEDURE testdb.proc_definer" "SHOW CREATE FUNCTION testdb.func_root" "SHOW CREATE FUNCTION testdb.func_definer" +"SHOW PROCEDURE STATUS WHERE db=""testdb""" +"SHOW FUNCTION STATUS WHERE db=""testdb""" "SET ROLE role_show_routine" "SET @start_partial_revokes = @@global.partial_revokes" "SET @@global.partial_revokes=ON" @@ -84180,6 +96212,22 @@ SET f1='str'; CALL p1(f1, f2); RETURN f2; END" +"CREATE FUNCTION f(f1 VARCHAR(64) COLLATE ucs2_unicode_ci) +RETURNS VARCHAR(64) CHARACTER SET ucs2 +BEGIN +RETURN 'str'; +END" +"CREATE FUNCTION f(f1 VARCHAR(64) CHARACTER SET ucs2) +RETURNS VARCHAR(64) COLLATE ucs2_unicode_ci +BEGIN +RETURN 'str'; +END" +"CREATE FUNCTION f(f1 VARCHAR(64) CHARACTER SET ucs2) +RETURNS VARCHAR(64) CHARACTER SET ucs2 +BEGIN +DECLARE f2 VARCHAR(64) COLLATE ucs2_unicode_ci; +RETURN 'str'; +END" "DROP FUNCTION IF EXISTS bug48766" "CREATE FUNCTION bug48766 () RETURNS ENUM( 'w' ) CHARACTER SET ucs2 @@ -84475,10 +96523,6 @@ END","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "DROP TABLE table_12976_b","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "DROP PROCEDURE proc_12976_a","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "DROP PROCEDURE proc_12976_b","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" -"DROP PROCEDURE IF EXISTS p4","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" -"DROP PROCEDURE IF EXISTS p4" -"DROP PROCEDURE IF EXISTS p5","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" -"DROP PROCEDURE IF EXISTS p6","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE PROCEDURE p1() BEGIN DECLARE v TINYINT DEFAULT 1e200; @@ -84512,6 +96556,9 @@ DECLARE var DECIMAL(1); SET var := arg; SELECT arg, var; END" +"CALL p4('aaa')" +"CALL p5('aa')" +"CALL p6(10)" "CREATE PROCEDURE p1 (arg DECIMAL(64,2)) BEGIN DECLARE var DECIMAL(64,2); @@ -84531,6 +96578,7 @@ BEGIN RETURN arg; END" "SELECT f1(-2500)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"SELECT f1(-2500)" "CREATE FUNCTION f1(arg MEDIUMINT) RETURNS MEDIUMINT BEGIN RETURN arg; @@ -84540,6 +96588,7 @@ BEGIN RETURN arg; END" "SELECT f1(8388699)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"SELECT f1(8388699)" "CREATE TABLE t1(col VARCHAR(255))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1(col) VALUES('Hello, world!')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE PROCEDURE p1() @@ -84611,6 +96660,9 @@ END","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" BEGIN SELECT arg; END","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"CALL p1((1, 2))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"CALL p1((SELECT * FROM t1 LIMIT 1))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"CALL p1((SELECT col1, col2 FROM t1 LIMIT 1))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE PROCEDURE p1(x VARCHAR(50)) BEGIN SET x = SUBSTRING(x, 1, 3); @@ -84894,6 +96946,7 @@ end" return i+1" "call sub1(""sub1a"", (select 7))" "call sub1(""sub1b"", (select max(i) from t2))" +"call sub1(""sub1c"", (select i,d from t2 limit 1))" "call sub1(""sub1d"", (select 1 from (select 1) a))" "call sub2(""sub2"")" "select sub3((select max(i) from t2))" @@ -85377,6 +97430,8 @@ return (select count(*) + f5( i - 1) from t1 where data = i); end if; end" "select f5(1)" +"select f5(2)" +"select f5(3)" "create function f6() returns int begin declare n int; @@ -85406,6 +97461,8 @@ return (select * from (select 100) as r)" "select *, f0() from v0" "lock tables t1 read, t1 as t11 read" "select id, f3() from t1 as t11 order by id" +"select *, f0() from v0, (select 123) as d1" +"select id, f3() from t1" "create function f9() returns int begin declare a, b int; @@ -85425,8 +97482,8 @@ create temporary table t3 (id int); insert into t3 select id from t4; return (select count(*) from t3); end" -"create table t4 as select 1 as id" "select f10()" +"create table t4 as select 1 as id" "create function f11() returns int begin drop temporary table if exists t3; @@ -85434,6 +97491,8 @@ create temporary table t3 (id int); insert into t3 values (1), (2), (3); return (select count(*) from t3 as a, t3 as b); end" +"select f11()" +"select f11() from t1" "create function f12_1() returns int begin drop temporary table if exists t3; @@ -85609,7 +97668,6 @@ end" "drop procedure if exists h_xs" "drop procedure if exists h_xx" "create table t3 (a smallint primary key)" -"insert into t3 (a) values (1)" "create procedure h_ee() deterministic begin @@ -86374,6 +98432,7 @@ declare continue handler for sqlstate 'HY000' begin end; create table t2 as select * from t3; end" +"call bug4904()" "drop procedure bug4904" "create table t3 (s1 char character set latin1, s2 char character set latin2)" "create procedure bug4904 () @@ -86382,7 +98441,6 @@ declare continue handler for sqlstate 'HY000' begin end; select s1 from t3 union select s2 from t3; end" -"call bug4904()" "drop procedure if exists bug336" "create procedure bug336(out y int) begin @@ -87149,6 +99207,11 @@ set f1= concat( 'hello', f1 ); return f1; end" "drop function bug9048" +"create function bug9048(f1 char binary) returns char binary +begin +set f1= concat( 'hello', f1 ); +return f1; +end" "drop procedure if exists bug12849_1" "create procedure bug12849_1(inout x char) select x into x" "set @var='a'" @@ -87225,10 +99288,12 @@ end" begin select bug12379(); end" +"select bug12379()" "call bug12379_1()" "select 2" "call bug12379_2()" "select 3" +"call bug12379_3()" "select 4" "drop function bug12379" "drop procedure bug12379_1" @@ -87562,6 +99627,8 @@ close c; end" "set @@max_sp_recursion_depth=4" "select @@max_sp_recursion_depth" +"select bug10100f(3)" +"select bug10100f(6)" "call bug10100t(5)" "call bug10100pt(1,5)" "call bug10100pv(1,5)" @@ -87569,6 +99636,7 @@ end" "call bug10100pd(1,5)" "call bug10100pc(1,5)" "set @@max_sp_recursion_depth=0" +"select bug10100f(5)" "drop function bug10100f" "drop procedure bug10100p" "drop procedure bug10100t" @@ -87643,6 +99711,7 @@ end" begin declare x int default x; end" +"call bug14376()" "drop procedure bug14376" "create procedure bug14376() begin @@ -87654,7 +99723,6 @@ declare x int default x; select x; end; end" -"call bug14376()" "create procedure bug14376(x int) begin declare x int default x; @@ -87729,6 +99797,7 @@ end" begin select p1; end" +"call mysqltest1.p1(@rs)" "drop procedure if exists bug15441" "create table t3 (id int not null primary key, county varchar(25))" "insert into t3 (id, county) values (1, 'York')" @@ -87736,6 +99805,7 @@ end" begin update t3 set id=2, county=values(c); end" +"call bug15441('county')" "drop procedure bug15441" "create procedure bug15441(county varchar(25)) begin @@ -88234,6 +100304,15 @@ END" "select * from (select 1 as a) as t1 natural join (select * from test.t3) as t2" "DROP PROCEDURE IF EXISTS bug16899_p1" "DROP FUNCTION IF EXISTS bug16899_f1" +"CREATE DEFINER=1234567890abcdefGHIKLsdafdsjakfhkshfkshsndvkjsddngjhasdkjghskahfdksjhcnsndkhjkghskjfjsdhfkhskfdhksjdhfkjshfksh@localhost PROCEDURE bug16899_p1() +BEGIN +SET @a = 1; +END" +"CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X +FUNCTION bug16899_f1() RETURNS INT +BEGIN +RETURN 1; +END" "drop procedure if exists bug21416" "create procedure bug21416() show create procedure bug21416" "call bug21416()" @@ -88333,8 +100412,10 @@ select 1/0 into div_zero; end" "select func_20028_a()" "select func_20028_b()" +"select func_20028_c()" "call proc_20028_a()" "call proc_20028_b()" +"call proc_20028_c()" "SET sql_mode='TRADITIONAL'" "drop function func_20028_a" "drop function func_20028_b" @@ -88355,8 +100436,6 @@ declare div_zero integer; set SQL_MODE=''; select 1/0 into div_zero; end" -"select func_20028_c()" -"call proc_20028_c()" "drop table table_20028" "drop procedure if exists proc_21462_a" "drop procedure if exists proc_21462_b" @@ -88370,6 +100449,9 @@ select ""Called B""; end" "call proc_21462_a" "call proc_21462_a()" +"call proc_21462_a(1)" +"call proc_21462_b" +"call proc_21462_b()" "call proc_21462_b(1)" "drop procedure proc_21462_a" "drop procedure proc_21462_b" @@ -88385,7 +100467,6 @@ end while; end" "call proc_bug19733()" "drop procedure proc_bug19733" -"DROP VIEW IF EXISTS v1, v2" "DROP TABLE IF EXISTS t3, t4" "CREATE TABLE t3 (t3_id INT)" "CREATE TABLE t4 (t4_id INT)" @@ -88677,9 +100758,12 @@ end" "select bug20777(9223372036854775808) as '9223372036854775808 2**63+0'" "select bug20777(9223372036854775809) as '9223372036854775809 2**63+1'" "select bug20777(9223372036854775810) as '9223372036854775810 2**63+2'" +"select bug20777(-9223372036854775808) as 'lower bounds signed bigint'" "select bug20777(9223372036854775807) as 'upper bounds signed bigint'" +"select bug20777(0) as 'lower bounds unsigned bigint'" "select bug20777(18446744073709551615) as 'upper bounds unsigned bigint'" "select bug20777(18446744073709551616) as 'upper bounds unsigned bigint + 1'" +"select bug20777(-1) as 'lower bounds unsigned bigint - 1'" "create table examplebug20777 as select 0 as 'i', bug20777(9223372036854775806) as '2**63-2', @@ -88913,6 +100997,7 @@ RETURN NOW()" "CREATE PROCEDURE db28318_a.t1() SELECT ""db28318_a.t1""" "CREATE PROCEDURE db28318_b.t2() CALL t1()" "use db28318_a" +"CALL db28318_b.t2()" "DROP PROCEDURE db28318_a.t1" "DROP PROCEDURE db28318_b.t2" "DROP DATABASE db28318_a" @@ -89031,11 +101116,26 @@ END" BEGIN SELECT a FROM t1 A WHERE A.b IN (SELECT b FROM t2 AS B); END" +"CREATE PROCEDURE p1() +BEGIN +DECLARE v INT DEFAULT 0; +SET @@SESSION.v= 10; +END" "CREATE PROCEDURE p2() BEGIN DECLARE v INT DEFAULT 0; SET v= 10; END" +"CREATE PROCEDURE p3() +BEGIN +DECLARE v INT DEFAULT 0; +SELECT @@SESSION.v; +END" +"CREATE PROCEDURE p4() +BEGIN +DECLARE v INT DEFAULT 0; +SET @@GLOBAL.v= 10; +END" "CREATE PROCEDURE p5() BEGIN DECLARE init_connect INT DEFAULT 0; @@ -89046,6 +101146,11 @@ SELECT @@SESSION.IDENTITY; SELECT @@GLOBAL.init_connect; SELECT init_connect; END" +"CREATE PROCEDURE p6() +BEGIN +DECLARE v INT DEFAULT 0; +SET @@v= 0; +END" "SET @old_init_connect= @@GLOBAL.init_connect" "SET @@GLOBAL.init_connect= @old_init_connect" "CREATE DATABASE mixedCaseDbName" @@ -89075,6 +101180,7 @@ SELECT a INTO v FROM t_non_existing; RETURN 1; END" "CREATE TABLE t1 (a INT) ENGINE = myisam" +"SELECT * FROM t1 WHERE a = f1()" "CREATE PROCEDURE p1(a INT, b CHAR) BEGIN IF a > 0 THEN @@ -89127,12 +101233,11 @@ END" "CALL p1(2)" "CALL p1(3)" "CREATE VIEW v2_unrelated AS SELECT 1 AS r1" +"CALL p1(4)" "CREATE TEMPORARY TABLE t1 (f1 int)" "ALTER VIEW v2_unrelated AS SELECT 2 AS r1" -"CALL p1(5)" "DROP VIEW t1, v2_unrelated" "CALL p1(6)" -"CALL p1(7)" "insert into t1 (c1) values (1), (2), (3), (4), (5)" "create procedure p1() begin @@ -89142,6 +101247,14 @@ select * from t1 limit a, b; end" "insert into t1 (a) values (1), (2), (3), (4), (5)" "create procedure p1(p1 integer, p2 integer) +select * from t1 limit a, b" +"create procedure p1(p1 date, p2 date) select * from t1 limit p1, p2",,syntax_error +"create procedure p1(p1 integer, p2 float) select * from t1 limit p1, p2",,syntax_error +"create procedure p1(p1 integer, p2 char(1)) select * from t1 limit p1, p2",,syntax_error +"create procedure p1(p1 varchar(5), p2 char(1)) select * from t1 limit p1, p2",,syntax_error +"create procedure p1(p1 decimal, p2 decimal) select * from t1 limit p1, p2",,syntax_error +"create procedure p1(p1 double, p2 double) select * from t1 limit p1, p2",,syntax_error +"create procedure p1(p1 integer, p2 integer) select * from t1 limit p1, p2" "call p1(NULL, NULL)" "call p1(0, 0)" @@ -89152,6 +101265,20 @@ select * from t1 limit p1, p2" "call p1(1, 0)" "call p1(1, 5)" "call p1(3, 2)" +"create function f1(p1 integer, p2 integer) +returns int +begin +declare a int; +set a = (select count(*) from t1 limit a, b); +return a; +end" +"create function f1() returns integer +begin +declare a integer; +declare b, c real; +set a = (select count(*) from t1 limit a, b); +return a; +end",,syntax_error "create function f1() returns int begin @@ -89159,6 +101286,48 @@ declare a, b, c int; set a = (select count(*) from t1 limit b, c); return a; end" +"create function f1(p1 date, p2 date) +returns int +begin +declare a int; +set a = (select count(*) from t1 limit p1, p2); +return a; +end",,syntax_error +"create function f1(p1 integer, p2 float) +returns int +begin +declare a int; +set a = (select count(*) from t1 limit p1, p2); +return a; +end",,syntax_error +"create function f1(p1 integer, p2 char(1)) +returns int +begin +declare a int; +set a = (select count(*) from t1 limit p1, p2); +return a; +end",,syntax_error +"create function f1(p1 varchar(5), p2 char(1)) +returns int +begin +declare a int; +set a = (select count(*) from t1 limit p1, p2); +return a; +end",,syntax_error +"create function f1(p1 decimal, p2 decimal) +returns int +begin +declare a int; +set a = (select count(*) from t1 limit p1, p2); +return a; +end",,syntax_error +"create function f1(p1 double, p2 double) +returns int +begin +declare a int; +set a = (select count(*) from t1 limit p1, p2); +return a; +end",,syntax_error "create function f1(p1 integer, p2 integer) returns int begin @@ -89177,6 +101346,7 @@ end" "CREATE VIEW v1 AS SELECT a FROM t2" "CREATE PROCEDURE proc() SELECT * FROM t1 NATURAL JOIN v1" "ALTER TABLE t2 CHANGE COLUMN a b CHAR" +"CALL proc()" "CREATE PROCEDURE p1() INSERT INTO t1(a) VALUES (1)" "CREATE TRIGGER t1_ai AFTER INSERT ON t1 @@ -89306,6 +101476,27 @@ BEGIN RETURN NULL; END;" "SELECT f2() IS NULL" "SELECT f3() IS NULL" "SELECT f4() IS NULL" +"CREATE PROCEDURE p(p INT) +SET p = DEFAULT",,syntax_error +"CREATE PROCEDURE p() +BEGIN +DECLARE v INT; +SET v = DEFAULT; +END",,syntax_error +"CREATE PROCEDURE p() +BEGIN +DECLARE v INT DEFAULT 1; +SET v = DEFAULT; +END",,syntax_error +"CREATE PROCEDURE p() +BEGIN +DECLARE v INT DEFAULT (SELECT * FROM t1); +SET v = DEFAULT; +END",,syntax_error +"CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW +BEGIN +SET NEW.a = DEFAULT; +END",,syntax_error "CREATE PROCEDURE p1() SET @@default_storage_engine = DEFAULT" "SET @default_storage_engine_saved = @@default_storage_engine" @@ -89329,6 +101520,8 @@ BEGIN DECLARE output INT; SET output = ( SELECT b FROM t1 LEFT JOIN t2 USING ( a ) GROUP BY t1.a ); END " +"PREPARE s FROM +'SET @x = ( SELECT b FROM t1 LEFT JOIN t2 USING ( a ) GROUP BY t1.a )'" "SET @v = 1" "PREPARE stmt FROM 'SELECT 1 FROM ( SELECT ? FROM t1 GROUP BY a ) al;'" "EXECUTE stmt USING @v" @@ -89339,6 +101532,7 @@ END " "DROP USER myuser@localhost" "CREATE FUNCTION f1(a INT) RETURNS INT return 1" "CREATE PROCEDURE p1(IN a INT, INOUT b INT, OUT c INT) select 1" +"SELECT * FROM mysql.proc" "SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'f1'" "SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'f1'" "SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'p1'" @@ -89371,6 +101565,7 @@ set id = connection_id(); kill query id; select 'Not reached'; end" +"call bug6807()" "drop procedure bug6807" "create view v1 as select a from t3; create procedure bug10100pt(level int, lim int) @@ -89404,6 +101599,11 @@ execute stmt2; end if; end" "set @@max_sp_recursion_depth=255" +"call bug10100p(255, @var)" +"call bug10100pt(1,255)" +"call bug10100pv(1,255)" +"call bug10100pd(1,255)" +"call bug10100pc(1,255)" "drop procedure if exists bug15298_1" "drop procedure if exists bug15298_2" "grant all privileges on test.* to 'mysqltest_1'@'localhost'" @@ -89478,13 +101678,15 @@ INDEX(`int_field`) )" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_name_len_16@localhost" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_name_len_22_01234@localhost" -"GRANT SELECT ON test1.t1 TO user_name_len_22_01234@localhost" "SELECT * FROM test1.t1" +"GRANT SELECT ON test1.t1 TO user_name_len_22_01234@localhost" "CREATE DEFINER=user_name_len_22_01234@localhost PROCEDURE test1.p1_len22() SELECT * FROM test1.t1" "GRANT EXECUTE ON PROCEDURE test1.p1_len22 TO user_name_len_22_01234@localhost" "GRANT EXECUTE ON PROCEDURE test1.p1_len22 TO user_name_len_16@localhost" "CALL test1.p1_len22()" +"CREATE DEFINER=user_name_len_33_0123456789012345@localhost PROCEDURE test1.p1_len33() +SELECT * FROM test1.t1" "REVOKE SELECT ON test1.t1 FROM user_name_len_22_01234@localhost" "GRANT SELECT ON test1.t1 TO user_name_len_32_012345678901234@localhost" "CREATE DEFINER = user_name_len_32_012345678901234@localhost FUNCTION test1.f1_len32() RETURNS INT @@ -89496,6 +101698,8 @@ RETURN (SELECT COUNT(*) FROM test1.t1)" "CREATE DEFINER=user_name_len_22_01234@localhost PROCEDURE test1.p1_len22() SQL SECURITY INVOKER SELECT * FROM test1.t1" +"CREATE DEFINER=user_name_len_33_0123456789012345@localhost FUNCTION test1.f1_len33() RETURNS INT +RETURN (SELECT COUNT(*) FROM test1.t1)" "CREATE TABLE t1(y INT)" "INSERT INTO t1 VALUES (5),(7),(9),(11),(15)" "CREATE PROCEDURE `v1`(_limit_val BIGINT, _offset_val BIGINT) @@ -89623,6 +101827,8 @@ END LOOP loop3; CLOSE c; END " "CALL pc(1)" +"CALL pc(2)" +"CALL pc_with_flush()" "DROP PROCEDURE pc" "DROP PROCEDURE pc_with_flush" "CREATE TABLE foo ( @@ -89731,12 +101937,13 @@ END " "SET DEBUG='+d,fail_stored_routine_load'" "SET DEBUG='-d,fail_stored_routine_load'" "SET DEBUG='+d,simulate_routine_length_error'" +"CREATE PROCEDURE p1() SELECT ""simulate_routine_length_error""" "SET DEBUG='-d,simulate_routine_length_error'" "CREATE SCHEMA new_db" "CREATE PROCEDURE new_db.proc() SELECT 1 AS my_column" "SET DEBUG='+d,fail_drop_db_routines'" -"SET DEBUG='-d,fail_drop_db_routines'" "DROP SCHEMA IF EXISTS new_db" +"SET DEBUG='-d,fail_drop_db_routines'" "DROP SCHEMA new_db" "CREATE FUNCTION f1() RETURNS INT BEGIN @@ -89767,6 +101974,8 @@ return 2" "create function st_y() returns int return 3" "select a()" +"select st_x()" +"select st_y()" "select st_x(ST_PointFromText(""POINT(10 20)"")), st_y(ST_PointFromText(""POINT(10 20)""))" "select test.a(), test.st_x(), test.st_y()" "drop function st_x" @@ -89906,6 +102115,7 @@ insert into t2 values (1, 0); end if; return i; end" +"insert into t1 values (bug10015_5(4)), (bug10015_5(5))" "drop function bug10015_5" "create function bug10015_6(i int) returns int begin @@ -89921,20 +102131,40 @@ end" "drop function bug10015_6" "create function bug10015_7() returns int begin +alter table t1 add k int; +return 1; +end" +"create function bug10015_7() returns int +begin +start transaction; +return 1; +end" +"create function bug10015_7() returns int +begin +drop table t1; +return 1; +end" +"create function bug10015_7() returns int +begin drop temporary table t1; return 1; end" "drop function bug10015_7" "create function bug10015_7() returns int begin +commit; +return 1; +end" +"create function bug10015_7() returns int +begin call bug10015_8(); return 1; end" "create procedure bug10015_8() alter table t1 add k int" +"select *, bug10015_7() from t1" "drop procedure bug10015_8" "create procedure bug10015_8() start transaction" "create procedure bug10015_8() drop temporary table if exists t1_temp" -"select *, bug10015_7() from t1" "create procedure bug10015_8() commit" "drop function if exists bug13825_0" "drop function if exists bug13825_1" @@ -90017,10 +102247,12 @@ return p; end" "begin " "savepoint x" +"set @a:= bug13825_0()" +"set @a:= bug13825_1()" +"update t2 set i = 2" "set @a:= bug13825_2()" "rollback to savepoint x" "release savepoint x" -"insert into t1 values (6)" "call bug13825_0()" "call bug13825_1()" "insert into t1 values (7)" @@ -90187,6 +102419,16 @@ END" "drop function if exists bug23333" "CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM" "CREATE TABLE t2 (a int NOT NULL auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB" +"create function bug23333() +RETURNS int(11) +DETERMINISTIC +begin +insert into t1 values (null); +select count(*) from t1 into @a; +return @a; +end" +"insert into t2 values (bug23333(),1)" +"select count(*),@a from t1 /* must be 1,1 */" "SELECT @@GLOBAL.default_storage_engine INTO @old_engine" "SET @@GLOBAL.default_storage_engine=InnoDB" "SET @@SESSION.default_storage_engine=InnoDB" @@ -90217,6 +102459,7 @@ BEGIN INSERT INTO t1_not_null SET f1 = 10, f2 = NULL; RETURN 1; END" +"UPDATE t1_aux SET f2 = 2 WHERE f1 = f1_two_inserts()" "ALTER TABLE t1_not_null ENGINE = InnoDB" "ALTER TABLE t1_aux ENGINE = InnoDB" "DROP TABLE t1_aux, t1_not_null" @@ -90300,8 +102543,9 @@ SET @x = OLD.a; SET @y = NEW.b; END" "ALTER TABLE t1 CHANGE COLUMN a a2 INT" +"UPDATE t1 SET a2 = 5, b = 6" "ALTER TABLE t1 CHANGE COLUMN a2 a INT" -"ALTER TABLE t1 CHANGE COLUMN b b2 INT" +"UPDATE t1 SET a = 5, b2 = 6" "CREATE PROCEDURE p1() ALTER TABLE t1 ADD COLUMN c INT DEFAULT 3" "CREATE PROCEDURE p2() @@ -90488,7 +102732,6 @@ END CASE; END" "SET @x = 0" "ALTER TABLE t2 ADD COLUMN b INT DEFAULT 3" -"ALTER TABLE t2 DROP COLUMN a" "CREATE PROCEDURE p1() BEGIN DECLARE v INT DEFAULT (SELECT * FROM t1); @@ -90511,6 +102754,7 @@ BEGIN SET NEW.a = (SELECT * FROM t1) * 2; END" "UPDATE t2 SET a = 10" +"UPDATE t2 SET a = 20" "UPDATE t2 SET a = 30" "CREATE PROCEDURE p1() BEGIN @@ -90599,7 +102843,7 @@ SET @x = (SELECT CHARSET(a) FROM v1 LIMIT 1); END" "SET @x = NULL" "ALTER TABLE t1 CHANGE COLUMN a a CHAR(2)" -"UPDATE t2 SET a = 20" +"drop table if exists t1,t2,v1,v2" "drop view if exists t1,t2,v1,v2" "CREATE TABLE `t1` ( a int not null auto_increment, @@ -90617,6 +102861,7 @@ UNIQUE KEY `email` USING BTREE (`email`) "create table t1 ( min_num dec(6,6) default .000001)",IGNORE_SPACE "set session sql_mode = 'IGNORE_SPACE'" "create table t1 ( min_num dec(6,6) default 0.000001)",IGNORE_SPACE +"set @@SQL_MODE=NULL",IGNORE_SPACE "set session sql_mode=ansi",IGNORE_SPACE "create table t1 (f1 integer auto_increment primary key, @@ -90711,6 +102956,7 @@ order by masks.p, example",NO_BACKSLASH_ESCAPES "set sql_mode=2097152",ANSI_QUOTES "set sql_mode=4194304",ANSI_QUOTES "set sql_mode=32+(65536*4)",ANSI_QUOTES +"set sql_mode=4294967296*2",ANSI_QUOTES "set sql_mode=PAD_CHAR_TO_FULL_LENGTH",ANSI_QUOTES "create table t1 (a int auto_increment primary key, b char(5))" "insert into t1 (b) values('a'),('b\t'),('c ')" @@ -90873,6 +103119,7 @@ END "SELECT '\''","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE test(id INT, count DOUBLE)" "INSERT INTO test VALUES (1,0), (2,0)" +"UPDATE test SET count = count + 1 WHERE id = '1invalid'" "PREPARE stmt FROM 'UPDATE test SET count = count + 1 WHERE id = ?'" "SET @a = '1invalid'" "SET sql_mode= 'PAD_CHAR_TO_FULL_LENGTH'" @@ -90885,6 +103132,7 @@ a TIMESTAMP NOT NULL, CONSTRAINT `t1_con` CHECK (GET_FORMAT(DATETIME, 'internal') <=> ('0000-00-00 00:00:00' <= a)) ) ENGINE=InnoDB" +"DROP DATABASE test" "SET @start_max_connections = @@global.max_connections" "SET @@global.max_connections = 2500" "SET @@global.max_connections = @start_max_connections" @@ -90935,6 +103183,18 @@ WHERE VARIABLE_NAME = 'Current_tls_ca' AND VARIABLE_VALUE = 'gizmo'" "SET GLOBAL ssl_capath = 'gizmo'" "SET GLOBAL ssl_crl = 'gizmo'" "SET GLOBAL ssl_crlpath = 'gizmo'" +"SET GLOBAL ssl_cipher = 'gizmo'" +"SET GLOBAL tls_ciphersuites = 'gizmo'" +"SET GLOBAL tls_version = 'gizmo'" +"SET SESSION ssl_ca = 'gizmo'" +"SET SESSION ssl_cert = 'gizmo'" +"SET SESSION ssl_key = 'gizmo'" +"SET SESSION ssl_capath = 'gizmo'" +"SET SESSION ssl_crl = 'gizmo'" +"SET SESSION ssl_crlpath = 'gizmo'" +"SET SESSION ssl_cipher = 'gizmo'" +"SET SESSION tls_ciphersuites = 'gizmo'" +"SET SESSION tls_version = 'gizmo'" "SELECT VARIABLE_NAME FROM performance_schema.session_status WHERE VARIABLE_NAME IN ('Current_tls_ca', 'Current_tls_capath', 'Current_tls_cert', @@ -90995,6 +103255,10 @@ end " "create procedure proc37908() begin select 1; end " "create function func37908() returns int sql security invoker return (select * from db37908.t1 limit 1)" +"select * from db37908.t1" +"show status where variable_name ='uptime' and 2 in (select * from db37908.t1)" +"show procedure status where name ='proc37908' and 1 in (select f1 from db37908.t1)" +"show function status where name ='func37908' and 1 in (select func37908())" "drop database db37908" "drop procedure proc37908" "drop function func37908" @@ -91100,53 +103364,141 @@ END; "CREATE TABLE t1 (col1 date)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES('2004-01-01'),('2004-02-29')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES('0000-10-31')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-0-31')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-01-02'),('2004-0-31')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-10-0')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-09-31')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-10-32')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2003-02-29')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-13-15')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES ('59')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "set @@sql_mode='STRICT_ALL_TABLES'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES('2004-01-03'),('2004-0-31')" "set @@sql_mode='STRICT_ALL_TABLES,NO_ZERO_IN_DATE'" +"INSERT INTO t1 VALUES('2004-0-30')" +"INSERT INTO t1 VALUES('2004-01-04'),('2004-0-31'),('2004-01-05')" "INSERT IGNORE INTO t1 VALUES('2004-0-29')" "set @@sql_mode='STRICT_ALL_TABLES,NO_ZERO_DATE'" "INSERT IGNORE INTO t1 VALUES('0000-00-00')" "INSERT INTO t1 VALUES ('2004-0-30')" +"INSERT INTO t1 VALUES ('2004-2-30')" "set @@sql_mode='STRICT_ALL_TABLES,ALLOW_INVALID_DATES'" "set @@sql_mode='STRICT_ALL_TABLES,ALLOW_INVALID_DATES'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" -"INSERT INTO t1 VALUES ('2004-2-30')" "INSERT IGNORE INTO t1 VALUES('2004-02-29'),('2004-13-15'),('0000-00-00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "set @@sql_mode='strict_trans_tables'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "set @@sql_mode='strict_trans_tables'" "CREATE TABLE t1 (col1 date) engine=myisam" +"INSERT INTO t1 VALUES('2004-13-31'),('2004-1-1')" "INSERT INTO t1 VALUES ('2004-1-2'), ('2004-13-31'),('2004-1-3')" "INSERT IGNORE INTO t1 VALUES('2004-13-31'),('2004-1-4')" +"INSERT INTO t1 VALUES ('2003-02-29')" "INSERT ignore INTO t1 VALUES('2003-02-30')" "INSERT ignore INTO t1 VALUES('2003-02-31')" "CREATE TABLE t1 (col1 date) engine=innodb" "CREATE TABLE t1 (col1 datetime)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES('2004-10-31 15:30:00'),('2004-02-29 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES('0000-10-31 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-0-31 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-0-31 15:30:00')" +"INSERT INTO t1 VALUES('2004-10-0 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-10-0 15:30:00')" +"INSERT INTO t1 VALUES('2004-09-31 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-10-32 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-10-32 15:30:00')" +"INSERT INTO t1 VALUES('2003-02-29 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-13-15 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('0000-00-00 15:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (col1 timestamp)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-02-29 25:30:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-02-29 15:65:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('2004-02-29 15:31:61')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('0000-00-00 00:00:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES('0000-00-00 00:00:00')" "INSERT IGNORE INTO t1 VALUES('0000-00-00 00:00:00')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES('0000-00-00 00:00:00')" -"INSERT INTO t1 VALUES('0000-00-00 00:00:00')" +"INSERT INTO t1 VALUES('2004-02-30 15:30:04')" "CREATE TABLE t1 (col1 date, col2 datetime, col3 timestamp)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col1) VALUES (STR_TO_DATE('15.10.2004','%d.%m.%Y'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col2) VALUES (STR_TO_DATE('15.10.2004 10.15','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col3) VALUES (STR_TO_DATE('15.10.2004 10.15','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(STR_TO_DATE('31.0.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(STR_TO_DATE('0.10.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.0.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(STR_TO_DATE('0.10.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.0.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(STR_TO_DATE('0.10.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col1) VALUES (CAST('2004-10-15' AS DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col2) VALUES (CAST('2004-10-15 10:15' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col3) VALUES (CAST('2004-10-15 10:15' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col1) VALUES(CAST('0000-10-31' AS DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(CAST('2004-10-0' AS DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(CAST('2004-0-10' AS DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(CAST('0000-00-00' AS DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col2) VALUES(CAST('0000-10-31 15:30' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(CAST('2004-10-0 15:30' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(CAST('2004-0-10 15:30' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(CAST('0000-00-00' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(CAST('0000-10-31 15:30' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(CAST('2004-10-0 15:30' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(CAST('2004-0-10 15:30' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(CAST('0000-00-00' AS DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col1) VALUES (CONVERT('2004-10-15',DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col2) VALUES (CONVERT('2004-10-15 10:15',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col3) VALUES (CONVERT('2004-10-15 10:15',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col1) VALUES(CONVERT('0000-10-31' , DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(CONVERT('2004-10-0' , DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(CONVERT('2004-0-10' , DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(CONVERT('0000-00-00',DATE))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col2) VALUES(CONVERT('0000-10-31 15:30',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(CONVERT('2004-10-0 15:30',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(CONVERT('2004-0-10 15:30',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(CONVERT('0000-00-00',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(CONVERT('0000-10-31 15:30',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(CONVERT('2004-10-0 15:30',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(CONVERT('2004-0-10 15:30',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col3) VALUES(CONVERT('0000-00-00',DATETIME))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1(col1 TINYINT, col2 TINYINT UNSIGNED)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES(-128,0),(0,0),(127,255),('-128','0'),('0','0'),('127','255'),(-128.0,0.0),(0.0,0.0),(127.0,255.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT MOD(col1,0) FROM t1 WHERE col1 > 0 LIMIT 2","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-129)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(128)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(-1)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(256)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('-129')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('128')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES('-1')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES('256')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(128.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(-1.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(256.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT MOD(col1,0) FROM t1 WHERE col1 > 0 LIMIT 1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1 = col1 - 50 WHERE col1 < 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col2=col2 + 50 WHERE col2 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1=col1 / 0 WHERE col1 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "set @@sql_mode='ERROR_FOR_DIVISION_BY_ZERO'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 values (1/0,1/0)" "INSERT INTO t1 values (1/0,1/0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES ('')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES ('a59b')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES ('1a')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 (col1) VALUES ('2a')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 values (1/0,1/0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "set @@sql_mode='ansi'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -91155,16 +103507,48 @@ END; "UPDATE IGNORE t1 SET col2=1/NULL where col1=0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1(col1 SMALLINT, col2 SMALLINT UNSIGNED)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES(-32768,0),(0,0),(32767,65535),('-32768','0'),('32767','65535'),(-32768.0,0.0),(32767.0,65535.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-32769)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(32768)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(65536)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('-32769')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('32768')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES('65536')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-32769.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(32768.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(65536.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col2 = col2 + 50 WHERE col2 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1 = col1 / 0 WHERE col1 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1= MOD(col1,0) WHERE col1 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES(-32769,-1),(32768,65536)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES('-32769','-1'),('32768','65536')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES(-32769,-1.0),(32768.0,65536.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (col1 MEDIUMINT, col2 MEDIUMINT UNSIGNED)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES(-8388608,0),(0,0),(8388607,16777215),('-8388608','0'),('8388607','16777215'),(-8388608.0,0.0),(8388607.0,16777215.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-8388609)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(8388608)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(16777216)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('-8388609')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('8388608')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES('16777216')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-8388609.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(8388608.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(16777216.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1 =col1 / 0 WHERE col1 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES(-8388609,-1),(8388608,16777216)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES('-8388609','-1'),('8388608','16777216')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES(-8388609.0,-1.0),(8388608.0,16777216.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (col1 INT, col2 INT UNSIGNED)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES(-2147483648,0),(0,0),(2147483647,4294967295),('-2147483648','0'),('2147483647','4294967295'),(-2147483648.0,0.0),(2147483647.0,4294967295.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-2147483649)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(2147643648)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(4294967296)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('-2147483649')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('2147643648')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES('4294967296')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-2147483649.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(2147643648.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(4294967296.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col2 =col2 + 50 WHERE col2 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 values (-2147483649, -1),(2147643648,4294967296)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 values ('-2147483649', '-1'),('2147643648','4294967296')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 values (-2147483649.0, -1.0),(2147643648.0,4294967296.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -91172,12 +103556,33 @@ END; "INSERT INTO t1 VALUES(-9223372036854775808,0),(0,0),(9223372036854775807,18446744073709551615)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES('-9223372036854775808','0'),('9223372036854775807','18446744073709551615')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES(-9223372036854774000.0,0.0),(9223372036854775700.0,1844674407370954000.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-9223372036854775809)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(9223372036854775808)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(18446744073709551616)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('-9223372036854775809')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES('9223372036854775808')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES('18446744073709551616')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(-9223372036854785809.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES(9223372036854785808.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES(18446744073709551616.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES(-9223372036854775809,-1),(9223372036854775808,18446744073709551616)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES('-9223372036854775809','-1'),('9223372036854775808','18446744073709551616')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES(-9223372036854785809.0,-1.0),(9223372036854785808.0,18446744073709551616.0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (col1 NUMERIC(4,2))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES (10.55),(10.5555),(0),(-10.55),(-10.5555),(11),(1e+01)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES ('10.55'),('10.5555'),('-10.55'),('-10.5555'),('11'),('1e+01')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES (101.55)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES (101)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES (-101.55)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES (1010.55)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES (1010)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES ('101.55')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES ('101')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES ('-101.55')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES ('-1010.55')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES ('-100E+1')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES ('-100E')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1 =col1 * 50000 WHERE col1 =11","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 values (1/0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES(1000),(-1000)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES('1000'),('-1000')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -91187,6 +103592,13 @@ END; "INSERT INTO t1 VALUES (-1.1E-37,0),(+3.4E+38,+3.4E+38)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES ('-1.1E-37',0),('+3.4E+38','+3.4E+38')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col1) VALUES (3E-46)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES (+3.4E+39)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES (-1.1E-3)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES ('+3.4E+39')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES ('-1.1E-3')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1 =col1 * 5000 WHERE col1 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col2 =col2 / 0 WHERE col2 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col2= MOD(col2,0) WHERE col2 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 (col1) VALUES (1/0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES (+3.4E+39,-3.4E+39)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES ('+3.4E+39','-3.4E+39')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -91194,30 +103606,58 @@ END; "INSERT INTO t1 VALUES (-2.2E-307,0),(2E-307,0),(+1.7E+308,+1.7E+308)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES ('-2.2E-307',0),('-2E-307',0),('+1.7E+308','+1.7E+308')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col1) VALUES (-2.2E-330)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES (+1.7E+309)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES ('+1.8E+309')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES ('-1.2E-3')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 (col1) values (1/0)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT IGNORE INTO t1 VALUES (+1.9E+309,-1.9E+309)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES ('+2.0E+309','-2.0E+309')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (col1 CHAR(5), col2 VARCHAR(6))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES ('hello', 'hello'),('he', 'he'),('hello ', 'hello ')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES ('hellobob')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES ('hellobob')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col2) VALUES ('hello ')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1 ='hellobob' WHERE col1 ='he'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col2 ='hellobob' WHERE col2 ='he'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES ('hellobob', 'hellobob')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "UPDATE IGNORE t1 SET col2 ='hellotrudy' WHERE col2 ='he'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (col1 enum('red','blue','green'))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES ('red'),('blue'),('green')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES ('yellow')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES ('redd')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1 ='yellow' WHERE col1 ='green'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 VALUES ('yellow')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "UPDATE IGNORE t1 SET col1 ='yellow' WHERE col1 ='blue'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (col1 INT NOT NULL, col2 CHAR(5) NOT NULL, col3 DATE NOT NULL)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES (100, 'hello', '2004-08-20')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col1,col2,col3) VALUES (101, 'hell2', '2004-08-21')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1,col2,col3) VALUES (NULL, '', '2004-01-01')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1,col2,col3) VALUES (102, NULL, '2004-01-01')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES (103,'',NULL)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col1=NULL WHERE col1 =100","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col2 =NULL WHERE col2 ='hello'","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE t1 SET col2 =NULL where col3 IS NOT NULL","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 values (NULL,NULL,NULL)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "CREATE TABLE t1 (col1 INT NOT NULL default 99, col2 CHAR(6) NOT NULL)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 VALUES (1, 'hello')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO t1 (col2) VALUES ('hello2')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col2) VALUES (NULL)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) VALUES (2)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 VALUES(default(col1),default(col2))","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 (col1) SELECT 1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO t1 SELECT 1,NULL","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 values (NULL,NULL)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 (col1) values (3)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT IGNORE INTO t1 () values ()","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create table t1 (charcol char(255), varcharcol varchar(255), binarycol binary(255), varbinarycol varbinary(255), tinytextcol tinytext, tinyblobcol tinyblob)" +"insert into t1 (charcol) values (repeat('x',256))" +"insert into t1 (varcharcol) values (repeat('x',256))" +"insert into t1 (binarycol) values (repeat('x',256))" +"insert into t1 (varbinarycol) values (repeat('x',256))" +"insert into t1 (tinytextcol) values (repeat('x',256))" +"insert into t1 (tinyblobcol) values (repeat('x',256))" "create table t1 (col1 datetime)" "insert into t1 values(STR_TO_DATE('31.10.2004 15.30 abc','%d.%m.%Y %H.%i'))" "insert into t1 values(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'))" @@ -91228,16 +103668,25 @@ tinyblobcol tinyblob)" "insert into t1 values(STR_TO_DATE('2004.12.12 10:22:59','%Y.%m.%d %T'))" "select count(*) from t1 where STR_TO_DATE('2004.12.12 10:22:61','%Y.%m.%d %T') IS NULL" "create table t1 (col1 char(3), col2 integer)" +"insert into t1 (col1) values (cast(1000 as char(3)))" +"insert into t1 (col1) values (cast(1000E+0 as char(3)))" +"insert into t1 (col1) values (cast(1000.0 as char(3)))" +"insert into t1 (col2) values (cast('abc' as signed integer))" +"insert into t1 (col2) values (10E+0 + 'a')" +"insert into t1 (col2) values (cast('10a' as unsigned integer))" "insert into t1 (col2) values (cast('10' as unsigned integer))" "insert into t1 (col2) values (cast('10' as signed integer))" "insert into t1 (col2) values (10E+0 + '0 ')" "create table t1 (col1 date, col2 datetime, col3 timestamp)" -"set sql_mode='NO_ZERO_DATE'" "insert into t1 values (0,0,0)" "insert into t1 values (0.0,0.0,0.0)" +"insert into t1 (col1) values (convert('0000-00-00',date))" +"insert into t1 (col1) values (cast('0000-00-00' as date))" +"set sql_mode='NO_ZERO_DATE'" "create table t1 (col1 date)" "insert ignore into t1 values ('0000-00-00')" "insert ignore into t1 (col1) values (cast('0000-00-00' as date))" +"alter table t1 modify col1 datetime" "insert ignore into t1 values ('0000-00-00 00:00:00'), ('0000-00-00 00:00:00'), (NULL)" @@ -91249,24 +103698,98 @@ select'a'; insert into t1 values (200); end;" "drop procedure t1" "set sql_mode=@org_mode" "CREATE TABLE t1 (i int not null)" -"ALTER TABLE t1 ADD j int" -"SET @@sql_mode = ''" "INSERT INTO t1 VALUES (DEFAULT)" +"INSERT INTO t1 VALUES (DEFAULT(i))" +"ALTER TABLE t1 ADD j int" "INSERT INTO t1 SET j = 1" "INSERT INTO t1 SET j = 1, i = DEFAULT" +"INSERT INTO t1 SET j = 1, i = DEFAULT(i)" "INSERT INTO t1 VALUES (DEFAULT,1)" +"SET @@sql_mode = ''" "set @@sql_mode='traditional'" +"create table t1(a varchar(65537)) charset latin1" +"create table t1(a varbinary(65537))" "create table t1(a int, b date not null)" "alter table t1 modify a bigint unsigned not null" +"insert into t1 values ('2000-10-00')" +"insert into t1 values (1000)" "insert into t1 values ('2000-10-01')" +"update t1 set d = 1100" "create table t1(a int, b timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)" "alter table t1 add primary key(a)" "create table t1(a int, b timestamp not null default 20050102030405)" "create table t1(a bit(2))" +"insert into t1 values(b'101')" "create table t1 (date date not null)" "create table t2 select date from t1" "set @@sql_mode= @org_mode" "set @@sql_mode= @org_mode","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"create table t1 (i int) +comment '123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*123456789*'" +"create table t1 ( +i int comment +'123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789* +123456789*123456789*123456789*123456789*')" "create table t1 (i int comment '123456789*123456789*123456789*123456789* @@ -91307,7 +103830,23 @@ col3 smallint, col4 smallint unsigned, col5 mediumint, col6 mediumint unsigned, col7 int, col8 int unsigned, col9 bigint, col10 bigint unsigned)" +"insert into t1(col1) values('-')" +"insert into t1(col2) values('+')" +"insert into t1(col3) values('-')" +"insert into t1(col4) values('+')" +"insert into t1(col5) values('-')" +"insert into t1(col6) values('+')" +"insert into t1(col7) values('-')" +"insert into t1(col8) values('+')" +"insert into t1(col9) values('-')" +"insert into t1(col10) values('+')" "create table t1(a year)" +"insert into t1 values ('-')" +"insert into t1 values ('+')" +"insert into t1 values ('2000a')" +"insert into t1 values ('2E3x')" +"create table t1 (f1 set('a','a'))" +"create table t1 (f1 enum('a','a'))" "set @@sql_mode='NO_ZERO_DATE'" "create table t1(a datetime not null)" "SET sql_mode='NO_ZERO_DATE'" @@ -91317,12 +103856,18 @@ CONCAT(STR_TO_DATE('2001','%Y')), STR_TO_DATE('2001','%Y')+1" "SET @@sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES'" "INSERT IGNORE INTO t1 VALUES('2004-0-30')" +"UPDATE t1 SET a = '0000-00-00'" "UPDATE IGNORE t1 SET a = '0000-00-00'" +"UPDATE t1 SET a = '2004-0-30'" "UPDATE IGNORE t1 SET a = '2004-0-30'" "INSERT IGNORE INTO t1 SELECT * FROM t1" +"CREATE TABLE t2(b DATE) SELECT a FROM t1" "CREATE TABLE t2 (b DATE) IGNORE SELECT a FROM t1" +"INSERT INTO t1 VALUES(1/0)" "INSERT IGNORE INTO t1 VALUES(1/0)" +"UPDATE t1 SET a = (1/0)" "UPDATE IGNORE t1 SET a = (1/0)" +"CREATE TABLE t2(b DATE) SELECT (1/0) FROM t1" "CREATE TABLE t2 (b DATE) IGNORE SELECT (1/0) FROM t1" "SET @@sql_mode = 'STRICT_ALL_TABLES,ALLOW_INVALID_DATES'" "CREATE TABLE t1 (a1 INT, a2 DATETIME)" @@ -91351,9 +103896,14 @@ END" "INSERT INTO t1 (Id, c1, c2) VALUES (1, 1, 0)" "SET sql_mode='traditional'" "CREATE TABLE t1 (col1 char(3))" +"INSERT INTO t1 VALUES(1000)" +"INSERT INTO t1 VALUES(cast(1000 as char(4)))" +"INSERT INTO t1 VALUES(cast(1000 as char(3)))" "CREATE TABLE t1 (col1 bigint) engine=innodb" "INSERT INTO t1 values(-9223372036854775808)" +"INSERT INTO t1 VALUES(-9223372036854775809)" "INSERT INTO t1 VALUES(9223372036854775807)" +"INSERT INTO t1 VALUES(9223372036854775808)" "CREATE TABLE t2 (col1 bigint unsigned)" "CREATE TABLE t1( a INT)" "CREATE TABLE t2( a INT, b INT)" @@ -91364,6 +103914,7 @@ id TINYINT UNSIGNED NOT NULL DEFAULT 0 "CREATE TRIGGER t1_BI BEFORE INSERT ON t1 FOR EACH ROW SET NEW.id := -1" +"INSERT INTO t1 VALUES (18)" "DROP trigger t1_BI" "CREATE TABLE t1(c1 varchar(50)) engine=InnoDB" "ALTER TABLE t1 ADD KEY in_c1(c1)" @@ -91606,6 +104157,7 @@ KEY col_int_key (col_int_key) "CREATE TABLE c(g DATETIME(6) NOT NULL)" "INSERT c(g) VALUES (now()+interval 1 day)" "INSERT c(g) VALUES (now()-interval 1 day)" +"SELECT 1 FROM a WHERE (SELECT f FROM b WHERE (SELECT 1 FROM c)) <=> e GROUP BY d" "DROP TABLES a, b, c" "CREATE TABLE p (Id INT,PRIMARY KEY (Id))" "INSERT INTO p VALUES (1)" @@ -91657,6 +104209,11 @@ f1 varchar(1), KEY k1 (f1) )" "INSERT INTO t1 VALUES ('6'),('6')" +"EXPLAIN FORMAT=tree SELECT 1 WHERE ( +SELECT 1 +FROM t1 LEFT JOIN t1 AS t2 ON 'f' IN ( SELECT f1 FROM t1 ) +WHERE EXISTS ( SELECT * FROM t1 LEFT JOIN t1 AS t3 ON t3.f1='a' ) +)" "CREATE TABLE t1 ( pk integer PRIMARY KEY, f1 integer, @@ -91704,8 +104261,24 @@ UNIQUE KEY ix2 (col_int_key,col_int_unique) "SELECT d0.f1, d0.pk, t1.pk, t1.f1 FROM ( SELECT DISTINCT * FROM t1 ) AS d0 LEFT JOIN t1 ON d0.pk IN ( SELECT 1 FROM t1 ) ORDER BY d0.f1" "CREATE TABLE t1(a TINYBLOB)" "INSERT INTO t1 VALUES('aaa'),('bbb'),(''),('ccc')" +"SELECT DISTINCT * FROM t1 +ORDER BY UUID_TO_BIN( +ST_ISEMPTY( +ST_POINTFROMTEXT( +ST_ASWKT( +NOT EXISTS( +SELECT 1 FROM t1 +WHERE IS_UUID(CAST(SHA(a>>0xA7FE1B22)AS JSON)) WINDOW w1 AS() +),'AXIS-ORDER=SRID-DEFINED' +),1,'AXIS-ORDER=LONG-LAT' +) +) +)" "CREATE TABLE t1(a DATETIME(2))" "INSERT INTO t1 VALUES(NOW(2)),(NOW(2))" +"SELECT STD(IS_FREE_LOCK(0x2ADA5C38)),1 FROM t1 WHERE a+(EXISTS(SELECT 1))" +"SELECT 1 FROM t1 WHERE +(EXISTS(SELECT 1 FROM t1 WHERE (SELECT 1 FROM t1 WINDOW w1 AS())))/1" "CREATE TABLE t1 (vc varchar(1) NOT NULL)" "CREATE VIEW v1 AS SELECT * FROM t1 WHERE 5 IN (SELECT 1) IS UNKNOWN" "CREATE TABLE t1 ( @@ -92036,6 +104609,19 @@ HAVING table1.a IN (SELECT a FROM t1)" "SET optimizer_switch=""semijoin=off""" "SELECT b FROM t1 HAVING 1 IN (SELECT b FROM t2 WHERE c = 1)" +"SELECT 1 = (SELECT 1 +FROM (SELECT 1 +FROM t LEFT JOIN +(SELECT 1 +FROM t +WHERE NOT EXISTS (SELECT 1 +FROM t +WINDOW w1 AS(PARTITION BY a) +) +) AS x +ON 1 > 2 +) AS z +)" "CREATE TABLE t1 ( a INTEGER, d VARCHAR(255) NOT NULL, @@ -92067,10 +104653,14 @@ IN ( SELECT a FROM t1 WHERE a > 0 GROUP BY a )" "CREATE TABLE t1 (a DATETIME)" "INSERT INTO t1 VALUES ('2000-01-01 00:00:00')" "SET @b := _latin1 'a'" +"SELECT 1 FROM t1 WHERE (@b IN ( SELECT a FROM t1 )) = a" "CREATE TABLE t(pk INT PRIMARY KEY)" "SELECT 1 FROM t WHERE CAST(pk AS UNSIGNED INTEGER) = 1 AND pk = (SELECT 1 FROM t)" +"SELECT 1 FROM t1 GROUP BY ( +SELECT COALESCE(18446744073709551614, COUNT(ST_AREA(ST_ASWKT(a)))) +) WITH ROLLUP" "CREATE TABLE t1 ( c INTEGER, KEY (c) )" "INSERT INTO t2 VALUES (7)" "CREATE TABLE t3 ( @@ -92097,6 +104687,12 @@ t1, LATERAL ( SELECT t1.a FROM t1 AS inner_t1 LIMIT 1 ) AS d1 WHERE 1 IN ( SELECT a FROM t1 ) ORDER BY a" +"SELECT * FROM ( +SELECT a, JSON_ARRAYAGG(a) OVER () AS b FROM t1 +) AS d1 +WHERE (a,b) IN ( +SELECT a, JSON_ARRAYAGG(a) OVER () AS b FROM t1 +)" "CREATE TABLE t1 ( a VARCHAR(1) )" "INSERT INTO t1 VALUES ('0')" "SELECT 1 @@ -92168,6 +104764,7 @@ FROM t1 AS t2 WHERE t2.f1 IN (SELECT 1 FROM t1) ORDER BY t2.f2, subq) AS dt" "CREATE TABLE t (f integer)" +"SELECT(SELECT SIN(a.c7)),c7" "SELECT CAST(NULL < ANY (VALUES ROW(1), ROW(2)) AS SIGNED)" "SELECT 1 WHERE 7 IN (SELECT COUNT(*) FROM t AS t1, t AS t2 WHERE t1.x = t2.x AND t1.x < t2.x)" @@ -92194,8 +104791,8 @@ WHERE i IN (SELECT i FROM (TABLE t) AS dt WHERE i < 2) GROUP BY x WITH ROLLUP" "SELECT /*+ JOIN_SUFFIX(t1, t2) */ * FROM v1 WHERE v1.id IN (SELECT id FROM v1)" "INSERT INTO t VALUES (1), (2)" "EXPLAIN FORMAT=TREE SELECT * FROM t WHERE (SELECT x FROM t)" +"SELECT * FROM t WHERE (SELECT x FROM t)" "set optimizer_switch='materialization=on'" -"CREATE TABLE t1 (c1 INT, KEY(c1))" "CREATE TABLE t2 (c1 BIGINT, KEY(c1))" "CREATE TABLE t3 (c1 DECIMAL(10,2), KEY(c1))" "CREATE TABLE t4 (c1 FLOAT, KEY(c1))" @@ -92385,6 +104982,22 @@ FROM t1 WHERE pedcompralote IN (SELECT cod FROM t2 WHERE ped=1779)" "CREATE TABLE t(i INT DEFAULT 5)" "INSERT INTO t VALUES (4)" +"SELECT i + ANY_VALUE(i) AS i1, +(SELECT i FROM t) AS subquery, +SUM(i) AS summ +FROM t" +"SELECT ANY_VALUE(i) + i AS i1, +(SELECT i FROM t) AS subquery, +SUM(i) AS summ +FROM t" +"SELECT ANY_VALUE(i) AS i1, i as i2, +(SELECT i FROM t) AS subquery, +SUM(i) AS summ +FROM t" +"SELECT i as i2, ANY_VALUE(i) AS i1, +(SELECT i FROM t) AS subquery, +SUM(i) AS summ +FROM t" "CREATE TABLE t1(i int, j int)" "CREATE TABLE t2(i int)" "INSERT INTO t1 VALUES (1, 10)" @@ -93095,6 +105708,10 @@ WHERE ot.b<0 OR ot.a IN (SELECT it.a+1 FROM t2 it)" "EXPLAIN SELECT * FROM t1 WHERE 36 NOT IN (SELECT COALESCE((SELECT SUM(a) FROM t1),b,55) FROM t1) OR a>3" "DROP view v2" "CREATE TABLE t1 (col_varchar_key VARCHAR(1))" +"CREATE TABLE t2 +SELECT 1 FROM t1 WHERE +col_varchar_key IN (SELECT 1 FROM t1 +WHERE ('f', 'f') IN (SELECT 1, COUNT(1) FROM t1))" "CREATE TABLE t1 ( field2 VARCHAR(2), field3 BIGINT @@ -93112,7 +105729,9 @@ SELECT STRAIGHT_JOIN WHERE SQ1_alias1.col_int != alias1.pk) AS field3 FROM t2 AS alias1 GROUP BY field2,field3 )" -"DROP TABLE t2,t1" +"EXPLAIN +SELECT * FROM t1 +WHERE EXISTS(SELECT * FROM t2 WHERE t1.a<>t2.b) AND t1.a>0" "EXPLAIN SELECT * FROM t1 WHERE NOT EXISTS(SELECT * FROM t2 WHERE t1.a>=t2.b) AND t1.a>0" @@ -93155,18 +105774,24 @@ WHERE EXISTS (VALUES ROW(1),ROW(2) LIMIT 1 OFFSET ?)'" "SET @n=2" "PREPARE p FROM 'SELECT c0 FROM t1 WHERE EXISTS (VALUES ROW(1),ROW(2) LIMIT ?)'" "CREATE TABLE t1 (col varchar(1))" +"SELECT col +FROM t1 +WHERE col >= (SELECT MAX(CONCAT('nz' COLLATE utf8mb4_la_0900_as_cs)) FROM t1)" "CALL mtr.add_suppression(""file * was not purged because it is the active log file."")" +"purge binary logs before (select adddate(current_timestamp(), interval -4 day))",,syntax_error "purge binary logs before adddate(current_timestamp(), interval -4 day)" "create table t1(a int,b int,key(a),key(b))" "insert into t1(a,b) values (1,2),(2,1),(2,3),(3,4),(5,4),(5,5), (6,7),(7,4),(5,3)" "CREATE VIEW v1 (a) AS SELECT f1 IN (SELECT f1 FROM t1) FROM t1" +"SELECT * FROM (SELECT ST_EXTERIORRING(1)) AS t1, (SELECT 1) AS t2" "INSERT INTO t1 SELECT a.id FROM t1 a,t1 b,t1 c,t1 d" "SET @orig_debug = @@debug" "SET SESSION debug=""d,subselect_exec_fail""" "SELECT SUM(EXISTS(SELECT RAND() FROM t1)) FROM t1" "SELECT REVERSE(EXISTS(SELECT RAND() FROM t1))" "SET SESSION debug=@orig_debug" +"SELECT ((SELECT 1 FROM t1) IN (SELECT 1 FROM t1)) - (11111111111111111111)" "SET DEBUG='+d,hash_semijoin_fail_in_setup'" "SET DEBUG='-d,hash_semijoin_fail_in_setup'" "SET optimizer_switch = 'firstmatch=off,materialization=off'" @@ -93605,14 +106230,18 @@ KEY datetime_key (datetime_key) "alter table t9 rename t8, add column d int not null" "alter table t8 rename t7" "rename table t7 to t9" +"create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) +engine=myisam index directory=""/this-dir-does-not-exist""" +"create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) +engine=myisam index directory=""not-hard-path""" "alter table t9 rename mysqltest.t9" "select count(*) from mysqltest.t9" "show create table mysqltest.t9" "create table t1 (a int not null) engine=myisam" "create table t1 (a int) engine=myisam select 42 a" "SET SESSION keep_files_on_create = TRUE" -"SET SESSION keep_files_on_create = FALSE" "CREATE TABLE t1 (a INT) ENGINE MYISAM" +"SET SESSION keep_files_on_create = FALSE" "SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='NO_DIR_IN_CREATE'" "CREATE TABLE schema1.t1 (a INT, b INT) ENGINE=MYISAM" "INSERT INTO schema1.t1 VALUES(1,1)" @@ -93690,30 +106319,47 @@ left join test_columns_priv on test_tables_priv.Table_name=test_columns_priv.Tab "CALL mtr.add_suppression(""Storage engine 'MyISAM' does not"")" "RENAME TABLE mysql.func TO mysql.func_bkp" "CREATE TABLE mysql.func ENGINE='MyISAM' AS SELECT * FROM mysql.func_bkp" +"CREATE FUNCTION udf_func RETURNS STRING SONAME 'udf_func.so'" +"DROP FUNCTION sequence" "ALTER TABLE mysql.func ENGINE='InnoDB', DROP COLUMN ret" "DROP TABLE mysql.func" "RENAME TABLE mysql.func_bkp TO mysql.func" -"DROP FUNCTION sequence" "RENAME TABLE mysql.plugin TO mysql.plugin_bkp" "CREATE TABLE mysql.plugin ENGINE='MyISAM' AS SELECT * FROM mysql.plugin_bkp" +"INSTALL PLUGIN my_plug soname 'some_plugin.so'" +"UNINSTALL PLUGIN my_plug" "ALTER TABLE mysql.plugin ENGINE=InnoDB, MODIFY dl CHAR(64)" "DROP TABLE mysql.plugin" "RENAME TABLE mysql.plugin_bkp TO mysql.plugin" "RENAME TABLE mysql.servers TO mysql.servers_bkp" "CREATE TABLE mysql.servers ENGINE='MyISAM' AS SELECT * FROM mysql.servers_bkp" +"CREATE SERVER fedlnk FOREIGN DATA WRAPPER mysql OPTIONS +(USER 'fed_user', HOST 'remote_host', PORT 9306, DATABASE 'federated')" +"DROP SERVER fedlnk" +"ALTER SERVER fedlnk OPTIONS (USER 'sally')" "ALTER TABLE mysql.servers ENGINE='InnoDB', MODIFY WRAPPER varchar(128)" "DROP TABLE mysql.servers" "RENAME TABLE mysql.servers_bkp TO mysql.servers" "RENAME TABLE mysql.user TO mysql.user_bkp" "CREATE TABLE mysql.user ENGINE='MyISAM' AS SELECT * FROM mysql.user_bkp" +"CREATE USER 'user2'@'%'" +"DROP USER 'user1'@'%'" +"ALTER USER 'user1'@'%' PASSWORD EXPIRE" +"GRANT SELECT ON t1 TO 'user1'@'%'" +"REVOKE SELECT ON t1 FROM 'user1'@'%'" +"REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user1'@'%'" +"SET PASSWORD FOR 'user1'@'%' = '123'" +"RENAME USER 'user1'@'%' TO 'user1'@'%'" "ALTER TABLE mysql.user ENGINE='InnoDB', DROP COLUMN max_updates" "RENAME TABLE mysql.user_bkp TO mysql.user" "RENAME TABLE mysql.columns_priv TO mysql.columns_priv_bkp" "CREATE TABLE mysql.columns_priv ENGINE='MyISAM' AS SELECT * FROM mysql.columns_priv_bkp" +"GRANT SELECT(f1) ON t1 TO 'user1'@'%'" +"REVOKE SELECT ON t1.f1 FROM 'user1'@'%'" "ALTER TABLE mysql.columns_priv ENGINE='InnoDB', DROP COLUMN Timestamp" "DROP TABLE mysql.columns_priv" @@ -93726,12 +106372,16 @@ DROP COLUMN Timestamp" "RENAME TABLE mysql.tables_priv_bkp TO mysql.tables_priv" "RENAME TABLE mysql.procs_priv TO mysql.procs_priv_bkp" "CREATE TABLE mysql.procs_priv ENGINE='MyISAM' AS SELECT * FROM mysql.procs_priv_bkp" +"GRANT EXECUTE ON FUNCTION f1 TO 'user1'@'%'" +"REVOKE EXECUTE ON FUNCTION f1 FROM 'user1'@'%'" "ALTER TABLE mysql.procs_priv ENGINE='InnoDB', DROP COLUMN timestamp" "DROP TABLE mysql.procs_priv" "RENAME TABLE mysql.procs_priv_bkp TO mysql.procs_priv" "RENAME TABLE mysql.proxies_priv TO mysql.proxies_priv_bkp" "CREATE TABLE mysql.proxies_priv ENGINE='MyISAM' AS SELECT * FROM mysql.proxies_priv_bkp" +"GRANT PROXY ON 'user1'@'%' TO 'user2'@'%'" +"REVOKE PROXY ON 'user1'@'%' FROM 'user2'@'%'" "ALTER TABLE mysql.proxies_priv ENGINE='InnoDB', DROP COLUMN timestamp" "DROP TABLE mysql.proxies_priv" @@ -93743,17 +106393,21 @@ DROP COLUMN component_urn" "RENAME TABLE mysql.component_bkp TO mysql.component" "RENAME TABLE mysql.db TO mysql.db_bkp" "CREATE TABLE mysql.db ENGINE='MyISAM' AS SELECT * FROM mysql.db_bkp" +"GRANT ALL ON db.* TO 'user1'@'%'" "ALTER TABLE mysql.db ENGINE='InnoDB', DROP COLUMN Select_priv" "DROP TABLE mysql.db" "RENAME TABLE mysql.db_bkp TO mysql.db" "RENAME TABLE mysql.default_roles TO mysql.default_roles_bkp" "CREATE TABLE mysql.default_roles ENGINE='MyISAM' AS SELECT * FROM mysql.default_roles_bkp" +"SET DEFAULT ROLE ALL TO 'user1'@'%'" "ALTER TABLE mysql.default_roles ENGINE='InnoDB', DROP COLUMN DEFAULT_ROLE_USER" "RENAME TABLE mysql.default_roles_bkp TO mysql.default_roles" "RENAME TABLE mysql.global_grants TO mysql.global_grants_bkp" "CREATE TABLE mysql.global_grants ENGINE='MyISAM' AS SELECT * FROM mysql.global_grants_bkp" +"GRANT PROCESS ON *.* TO 'user1'@'%'" +"REVOKE PROCESS ON *.* FROM 'user1'@'%'" "ALTER TABLE mysql.global_grants ENGINE='InnoDB', DROP COLUMN WITH_GRANT_OPTION" "RENAME TABLE mysql.global_grants_bkp TO mysql.global_grants" @@ -93764,12 +106418,12 @@ DROP COLUMN TO_USER" "RENAME TABLE mysql.role_edges_bkp TO mysql.role_edges" "RENAME TABLE mysql.password_history TO mysql.password_history_bkp" "CREATE TABLE mysql.password_history ENGINE='MyISAM' AS SELECT * FROM mysql.password_history_bkp" +"ALTER USER 'user1'@'%' IDENTIFIED BY 'password'" "ALTER TABLE mysql.password_history ENGINE='InnoDB', DROP COLUMN Password_timestamp" "DROP TABLE mysql.password_history" "RENAME TABLE mysql.password_history_bkp TO mysql.password_history" "SET GLOBAL default_password_lifetime = DEFAULT" -"DROP USER 'user1'@'%'" "SELECT table_schema, table_name, engine FROM information_schema.tables WHERE table_schema='mysql' AND engine='MyISAM'" @@ -93779,6 +106433,8 @@ AND engine='MyISAM'" "SET @@GLOBAL.table_definition_cache=DEFAULT" "SELECT IF (@@open_files_limit < 5000, 2000, @@GLOBAL.table_definition_cache)" "SELECT @@GLOBAL.table_definition_cache" +"SET @@local.table_definition_cache=1" +"SET @@session.table_definition_cache=1" "SET @@GLOBAL.table_definition_cache=1" "SELECT @@GLOBAL.table_definition_cache = VARIABLE_VALUE FROM performance_schema.global_variables @@ -93788,6 +106444,9 @@ WHERE VARIABLE_NAME='table_definition_cache'" FROM performance_schema.global_variables WHERE VARIABLE_NAME='table_definition_cache'" "SELECT @@table_definition_cache = @@GLOBAL.table_definition_cache" +"SELECT COUNT(@@local.table_definition_cache)" +"SELECT COUNT(@@SESSION.table_definition_cache)" +"SELECT table_definition_cache" "set @dd_definitions = 14" "set @Open_table_definitions = (select variable_value from performance_schema.session_status where variable_name ='Open_table_definitions') + @dd_definitions" "set @Opened_table_definitions = (select variable_value from performance_schema.session_status where variable_name ='Opened_table_definitions') + @dd_definitions" @@ -93815,6 +106474,8 @@ performance_schema.session_status where variable_name ='Open_table_definitions') "SELECT IF(@@open_files_limit < 5000, 4000, @@GLOBAL.table_open_cache)" "SELECT @@GLOBAL.table_open_cache" "SET @@GLOBAL.table_open_cache=DEFAULT" +"SET @@local.table_open_cache=1" +"SET @@session.table_open_cache=1" "SET @@GLOBAL.table_open_cache=1" "SELECT @@GLOBAL.table_open_cache = VARIABLE_VALUE FROM performance_schema.global_variables @@ -93824,6 +106485,9 @@ WHERE VARIABLE_NAME='table_open_cache'" FROM performance_schema.global_variables WHERE VARIABLE_NAME='table_open_cache'" "SELECT @@table_open_cache = @@GLOBAL.table_open_cache" +"SELECT COUNT(@@local.table_open_cache)" +"SELECT COUNT(@@SESSION.table_open_cache)" +"SELECT table_open_cache" "DROP TABLE IF EXISTS tab3" "set @@GLOBAL.table_open_cache=2" "set @opened_tables = (select variable_value from performance_schema.session_status where variable_name ='Opened_tables')" @@ -93874,6 +106538,8 @@ ORDER BY 1, 2" "CREATE PROCEDURE p1() RENAME TABLE t2 TO t3" "CREATE FUNCTION f1() RETURNS INT BEGIN CALL p1(); RETURN 1; END " "CREATE TABLE t3 (i INT) ENGINE = MYISAM" +"SELECT * FROM t3 TABLESAMPLE SYSTEM (100)" +"SELECT * FROM t3 TABLESAMPLE SYSTEM (101)" "PREPARE stmt from 'SELECT 1 from t3 TABLESAMPLE SYSTEM(?)'" "SET @a=0.00001" "CREATE TABLE t1 ( @@ -93923,17 +106589,36 @@ COLUMN_FORMAT FIXED COLUMN_FORMAT DYNAMIC COLUMN_FORMAT DEFAULT, MODIFY COLUMN r int STORAGE DEFAULT STORAGE DEFAULT STORAGE MEMORY STORAGE DISK STORAGE MEMORY STORAGE DISK STORAGE DISK" "SET SESSION debug=""+d,out_of_tablespace_disk""" +"CREATE TABLESPACE `ts6` ADD DATAFILE 'ts6.ibd' ENGINE=INNODB" "SET SESSION debug=""-d,out_of_tablespace_disk""" +"ALTER TABLESPACE no_such_ts ADD DATAFILE 'ts.ibd'" "CREATE TABLESPACE ts ADD DATAFILE 'ts.ibd' ENGINE=InnoDB" +"ALTER TABLESPACE ts DROP DATAFILE 'no_such_file.ibd'" "DROP TABLESPACE ts" +"CREATE TABLESPACE innodb_system ADD DATAFILE 'f.ibd' ENGINE InnoDB" +"CREATE TABLESPACE innodb_file_per_table ADD DATAFILE 'f.ibd' ENGINE InnoDB" +"CREATE TABLESPACE innodb_temporary ADD DATAFILE 'f.ibd' ENGINE InnoDB" +"CREATE TABLESPACE mysql ADD DATAFILE 'f.ibd' ENGINE InnoDB" +"DROP TABLESPACE innodb_system" +"DROP TABLESPACE innodb_file_per_table" +"DROP TABLESPACE innodb_temporary" +"DROP TABLESPACE mysql" +"CREATE TABLESPACE `innodb_file_per_table.2` ADD DATAFILE 'f.ibd' ENGINE InnoDB" +"DROP TABLESPACE `innodb_file_per_table.2`" +"CREATE TABLESPACE innodb_file_per_table_whatever ADD DATAFILE 'f.ibd' ENGINE InnoDB" +"DROP TABLESPACE innodb_file_per_table_whatever" "CREATE TABLE t1 (i INTEGER) TABLESPACE innodb_file_per_table ENGINE InnoDB" "CREATE TABLE t2 (i INTEGER) TABLESPACE innodb_system ENGINE InnoDB" +"CREATE TABLE t_bad (i INTEGER) TABLESPACE `innodb_file_per_table.2` ENGINE InnoDB" "ALTER TABLE t1 ENGINE InnoDB" "ALTER TABLE t1 TABLESPACE innodb_system ENGINE InnoDB" "ALTER TABLE t2 TABLESPACE innodb_file_per_table ENGINE InnoDB" -"ALTER TABLE t1 ADD COLUMN (j INTEGER)" "CREATE TABLESPACE ts ADD DATAFILE 'f.ibd' ENGINE InnoDB" "ALTER TABLE t1 TABLESPACE ts" +"CREATE TABLE t_part_bad (i INTEGER) PARTITION BY RANGE(i) +PARTITIONS 2 ( +PARTITION p0 VALUES LESS THAN(100) TABLESPACE `innodb_file_per_table.2`, +PARTITION p1 VALUES LESS THAN(200))" "CREATE TABLE t_part (i INTEGER) TABLESPACE innodb_file_per_table PARTITION BY RANGE(i) PARTITIONS 2 ( PARTITION p0 VALUES LESS THAN(100), @@ -93949,12 +106634,51 @@ SUBPARTITION sp10, SUBPARTITION sp11))" "SHOW CREATE TABLE t_subpart" "ALTER TABLE t_subpart TABLESPACE innodb_file_per_table" +"ALTER TABLE t_part TABLESPACE `innodb_file_per_table.2`" +"ALTER TABLE t_subpart TABLESPACE `innodb_file_per_table.2`" +"ALTER TABLE t_part REORGANIZE PARTITION p1 INTO +(PARTITION p1 VALUES LESS THAN (300) TABLESPACE `innodb_file_per_table.2`)" +"ALTER TABLE t_subpart REORGANIZE PARTITION p1 INTO +(PARTITION p1 VALUES LESS THAN (300) TABLESPACE `innodb_file_per_table.2`)" +"ALTER TABLE t_subpart REORGANIZE PARTITION s11 INTO +(PARTITION s11 TABLESPACE `innodb_file_per_table.2`)" "DROP TABLE t_part" "DROP TABLE t_subpart" "CREATE TABLE t1(i INT) TABLESPACE ts" +"ALTER TABLESPACE ts RENAME TO innodb_system" +"ALTER TABLESPACE ts RENAME TO innodb_file_per_table" +"ALTER TABLESPACE ts RENAME TO innodb_temporary" +"ALTER TABLESPACE ts RENAME TO mysql" +"ALTER TABLESPACE innodb_system RENAME TO ts3" +"ALTER TABLESPACE innodb_temporary RENAME TO ts3" +"ALTER TABLESPACE mysql RENAME TO ts3" +"ALTER TABLESPACE ts RENAME TO `innodb_file_per_table.2`" +"ALTER TABLESPACE ts RENAME TO innodb_file_per_table_whatever" "CREATE TABLESPACE altering ADD DATAFILE 'altering.ibd' ENGINE InnoDB" "CREATE TABLE altering_table (id int) TABLESPACE altering" "ALTER TABLE mysql.user ENGINE InnoDB TABLESPACE mysql" +"ALTER TABLE altering_table TABLESPACE mysql" +"CREATE TABLE foos (id int) TABLESPACE mysql" +"CREATE TABLE partition_test (a INT, b INT) ENGINE = InnoDB ROW_FORMAT=DYNAMIC +PARTITION BY RANGE(a) SUBPARTITION BY KEY(b) ( +PARTITION p1 VALUES LESS THAN (100) TABLESPACE mysql, +PARTITION p2 VALUES LESS THAN (200) TABLESPACE mysql, +PARTITION p3 VALUES LESS THAN (300) TABLESPACE mysql, +PARTITION p4 VALUES LESS THAN (400) TABLESPACE mysql)" +"CREATE TABLE partition_test2 (a INT, b INT) ENGINE = InnoDB ROW_FORMAT=DYNAMIC +PARTITION BY RANGE(a) SUBPARTITION BY KEY(b) ( +PARTITION p1 VALUES LESS THAN (100) TABLESPACE altering, +PARTITION p2 VALUES LESS THAN (200) TABLESPACE altering, +PARTITION p3 VALUES LESS THAN (300) TABLESPACE mysql, +PARTITION p4 VALUES LESS THAN (400) TABLESPACE mysql)" +"CREATE TABLE partition_test4 (i INTEGER) PARTITION BY RANGE(i) +PARTITIONS 2 SUBPARTITION BY HASH(i) ( +PARTITION p0 VALUES LESS THAN(100) ( +SUBPARTITION sp00, +SUBPARTITION sp01), +PARTITION p1 VALUES LESS THAN(200) ( +SUBPARTITION sp10, +SUBPARTITION sp11 TABLESPACE mysql))" "DROP TABLE altering_table" "DROP TABLESPACE altering" "SELECT (COUNT(*)=1) FROM INFORMATION_SCHEMA.FILES WHERE TABLESPACE_NAME = 'ts'" @@ -93967,6 +106691,13 @@ SUBPARTITION sp11))" "INSERT INTO t2 VALUES (0),(1),(2),(3)" "CREATE USER noprivs@localhost" "REVOKE ALL ON *.* FROM noprivs@localhost" +"ALTER TABLESPACE ts1 ADD DATAFILE 'df2.ibd'" +"ALTER TABLESPACE ts1 DROP DATAFILE 'df2.ibd'" +"CREATE LOGFILE GROUP lg1 +ADD UNDOFILE 'lg1_undofile.dat' +INITIAL_SIZE 1M +UNDO_BUFFER_SIZE = 1M" +"DROP LOGFILE GROUP lg1" "DROP USER noprivs@localhost" "SET AUTOCOMMIT=OFF" "ROLLBACK WORK" @@ -93996,8 +106727,8 @@ END " "CREATE TABLE t2(c1 INT, c2 CHAR(1)) ENGINE=InnoDB TABLESPACE=ts2" "INSERT INTO t2 VALUES(1,'b')" "SELECT * FROM t1 JOIN t2 WHERE t1.c1 = t2.c1" -"GRANT CREATE TABLESPACE on *.* TO user1@localhost" "CREATE TABLESPACE ts2 Engine=InnoDB" +"GRANT CREATE TABLESPACE on *.* TO user1@localhost" "CREATE TABLE t2(c INT) ENGINE=InnoDB TABLESPACE=ts2" "CREATE TABLE t1 (f1 int) tablespace=ts" "LOCK TABLE t1 read" @@ -94008,13 +106739,15 @@ END " "LOCK TABLE t1 READ, performance_schema.threads READ" "set @@session.lock_wait_timeout=1" "SET SESSION DEBUG=""+d, pre_commit_error""" -"SET SESSION DEBUG=""-d, pre_commit_error""" "CREATE TABLESPACE ts1" +"SET SESSION DEBUG=""-d, pre_commit_error""" "SET SESSION DEBUG=""+d,pre_commit_error""" "SET SESSION DEBUG=""-d,pre_commit_error""" "CREATE TABLESPACE ts1 ENGINE_ATTRIBUTE=''" "CREATE TABLESPACE ts2 ENGINE_ATTRIBUTE='{""c"": ""v""}'" "SELECT * FROM information_schema.tablespaces_extensions WHERE tablespace_name = 'ts2'" +"CREATE TABLESPACE ts3 ENGINE_ATTRIBUTE='{""c"": v}'" +"ALTER TABLESPACE ts1 ENGINE_ATTRIBUTE='{""foo"": ""bar}'" "ALTER TABLESPACE ts1 ENGINE_ATTRIBUTE='{""foo"": ""bar""}'" "SELECT * FROM information_schema.tablespaces_extensions WHERE tablespace_name = 'ts1'" "SELECT * FROM information_schema.tablespaces_extensions WHERE tablespace_name = 'ts11'" @@ -94030,9 +106763,13 @@ END " "ALTER TABLE t1 STORAGE DISK" "ALTER TABLE t1 STORAGE MEMORY TABLESPACE ts" "ALTER TABLE t1 STORAGE DISK TABLESPACE ts2" +"ALTER TABLE t2 TABLESPACE `innodb_file_per_table.2`" "ALTER TABLE t2 TABLESPACE `innodb_file_per_table.2` ENGINE MyISAM" "ALTER TABLE t1 ENGINE MyISAM" +"ALTER TABLE t2 ENGINE InnoDB" "CREATE TABLESPACE ts1 ADD DATAFILE 'df1.ibd' ENGINE=InnoDB" +"ALTER TABLESPACE ts1 ADD DATAFILE 'df2.ibd' ENGINE=INNODB" +"ALTER TABLESPACE ts1 ADD DATAFILE 'df2.ibd' ENGINE=MYISAM" "CREATE TABLE t1 (c int not null, d char (10) not null)" "insert into t1 values(1,""""),(2,""a""),(3,""b"")" "CREATE TEMPORARY TABLE t1 (a int not null, b char (10) not null)" @@ -94053,6 +106790,7 @@ END " val int(10) not null)" "select one.id, two.val, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id order by one.id" "insert into t1 values (1),(1)" +"alter table t1 add primary key (a)" "create temporary table v1 as select 'This is temp. table' A" "create view v1 as select 'This is view' A" "show create table v1" @@ -94063,6 +106801,7 @@ val int(10) not null)" "insert into t1 values (3,1),(3,2)" "insert into t2 values (NULL, 'foo'), (NULL, 'bar')" "select d, c from t1 left join t2 on b = c where a = 3 order by d" +"DROP TEMPORARY TABLE t2, t1" "CREATE TABLE t1 ( c FLOAT( 20, 14 ) )" "INSERT INTO t1 VALUES( 12139 )" "CREATE TABLE t2 ( c FLOAT(30,18) )" @@ -94113,18 +106852,34 @@ PRIMARY KEY (a,b,d) t1.a=t2.a GROUP BY t1.b) as tt" "CREATE TEMPORARY TABLE t1(c1 INT)" "ALTER TABLE t1 RENAME TO db1.t1" -"CREATE SCHEMA bogus" "CREATE TEMPORARY TABLE bogus.t1(a INT)" +"CREATE SCHEMA bogus" "CREATE TEMPORARY TABLE bogus.t2(a INT)" "DROP SCHEMA bogus" "SELECT * FROM bogus.t1" +"ALTER TABLE bogus.t1 ADD COLUMN (b INT)" "DROP TEMPORARY TABLE bogus.t1" "DROP TABLE bogus.t2" +"SELECT * FROM bogus.t2" "SELECT (EXISTS (SELECT 1 FROM t1 GROUP BY (NOT EXISTS (SELECT 1 FROM (SELECT 1 FROM t1 GROUP BY a)r)))) FROM t1" +"CREATE TEMPORARY TABLE t1 (a TEXT NOT NULL) REPLACE AS SELECT total_allocated FROM sys.memory_by_thread_by_current_bytes" "CREATE TABLE IF NOT EXISTS t2 (a INT)" "CREATE TEMPORARY TABLE v0 ( v1 INT UNIQUE ) " +"WITH RECURSIVE v0 ( v1 ) AS ( SELECT -128 UNION SELECT v1 + 33 FROM v0 ) +SELECT 'x' , -1 , 54703121.000000 FROM v0 AS v3 , v0 AS v2 , v0 NATURAL JOIN +v0 AS v5 NATURAL JOIN v0 AS v4 " +"WITH RECURSIVE v0 ( c1 ) AS ( +SELECT 0 +UNION +SELECT c1 + 1 FROM v0 +) +SELECT * +FROM +v0, +v0 AS v1 +NATURAL JOIN v0 AS v2" "WITH RECURSIVE v0 ( c1 ) AS ( SELECT 0 UNION @@ -94135,7 +106890,6 @@ FROM v0, v0 AS v1 NATURAL JOIN v0 AS v2" -"CREATE TEMPORARY TABLE tt1(c1 INT)" "create temporary table ta (i int not null) engine=archive" "create temporary table tb (i int not null) engine=blackhole" "create temporary table tc (i int not null) engine=csv" @@ -94153,9 +106907,15 @@ d datetime default NULL "select * from t1 group by d" "show status like ""created_tmp%tables""" "CREATE TEMPORARY TABLE t1(a INT) ENGINE=MyISAM" +"SELECT DATE'xxxx'" +"SELECT DATE'01'" +"SELECT DATE'01-01'" +"SELECT DATE'2001'" +"SELECT DATE'2001-01'" "SELECT DATE'2001-00-00'" "SELECT DATE'2001-01-00'" "SELECT DATE'0000-00-00'" +"SELECT DATE'2001-01-01 00:00:00'" "SELECT DATE'01:01:01'" "SELECT DATE'01-01-01'" "SELECT DATE'2010-01-01'" @@ -94166,8 +106926,13 @@ d datetime default NULL {d'2001-01-01 10:10:10'}" "EXPLAIN SELECT {d'2010-01-01'}" "EXPLAIN SELECT DATE'2010-01-01'" +"SELECT TIME'xxxx'" +"SELECT TIME'900:00:00'" +"SELECT TIME'-900:00:00'" "SELECT TIME'1 24:00:00'" "SELECT TIME'30 24:00:00'" +"SELECT TIME'0000-00-00 00:00:00'" +"SELECT TIME'40 24:00:00'" "SELECT TIME'10'" "SELECT TIME'10:10'" "SELECT TIME'10:11.12'" @@ -94197,6 +106962,10 @@ TIME'10:10:10.123456'" {t'2001-01-01'}" "EXPLAIN SELECT {t'10:01:01'}" "EXPLAIN SELECT TIME'10:01:01'" +"SELECT TIMESTAMP'xxxx'" +"SELECT TIMESTAMP'2010'" +"SELECT TIMESTAMP'2010-01'" +"SELECT TIMESTAMP'2010-01-01'" "SELECT TIMESTAMP'2010-01-01 00'" "SELECT TIMESTAMP'2010-01-01 00:01'" "SELECT TIMESTAMP'2010-01-01 10:10:10'" @@ -94227,6 +106996,9 @@ TIMESTAMP'2010-01-01 10:10:10.123456'" "SELECT TIMESTAMP'2001-00-00 00:00:00.999999'" "SELECT TIMESTAMP'2001-00-01 00:00:00.999999'" "SELECT TIMESTAMP'2001-01-00 00:00:00.999999'" +"SELECT TIMESTAMP'2001-00-00 00:00:00.9999999'" +"SELECT TIMESTAMP'2001-00-01 00:00:00.9999999'" +"SELECT TIMESTAMP'2001-01-00 00:00:00.9999999'" "CREATE TABLE t1 (a DATETIME(6))" "INSERT INTO t1 VALUES ('2001-00-00 00:00:00.9999999')" "INSERT INTO t1 VALUES ('2001-00-01 00:00:00.9999999')" @@ -94289,6 +107061,7 @@ AND TIMESTAMP'2014-01-05 01:01:01'" "INSERT INTO t1 VALUES (NULL, '2001-01/01')" "SELECT TIME' 10:11:12.098700'" "SELECT TIME'10:11:12.098700 '" +"SELECT TIME'10-11:12.098700 '" "SELECT TIME'1 01:01:01', TIME'1 01:01', TIME'1 01', @@ -94705,6 +107478,8 @@ f2 INT NOT NULL "SELECT AVG(f1) from t1 GROUP BY f2, f1" "SET @@GLOBAL.internal_tmp_mem_storage_engine = default" "SELECT @@global.temptable_use_mmap" +"SET @@session.temptable_use_mmap=false" +"SET @@global.temptable_use_mmap=NULL" "SET @@global.temptable_use_mmap=false" "SELECT count_alloc > 0 FROM performance_schema.memory_summary_global_by_event_name @@ -94834,6 +107609,7 @@ WHERE PLUGIN_NAME='test_security_context'" "SET @@test_security_context_get_field = ""user"", @@test_security_context_get_value = ""root""" "SELECT ""OK""" "SET @@test_security_context_get_field = ""user"", @@test_security_context_get_value = ""root-err""" +"SELECT ""FAIL""" "SET @@test_security_context_get_field = ""host"", @@test_security_context_get_value = ""localhost""" "SET @@test_security_context_get_field = ""ip""" "SET @@test_security_context_get_field = ""priv_user"", @@test_security_context_get_value = ""root""" @@ -94845,6 +107621,7 @@ WHERE PLUGIN_NAME='test_security_context'" "SET GLOBAL thread_cache_size = 2" "SHOW STATUS LIKE 'Threads_cached'" "SET GLOBAL thread_cache_size = 0" +"SET GLOBAL thread_cache_size = 5" "SET GLOBAL thread_cache_size=@saved_thread_cache_size" "SET sql_mode=time_truncate_fractional" "CREATE TABLE t1 (a VARCHAR(32), @@ -95103,8 +107880,24 @@ t0 TIMESTAMP)" "SELECT TIMESTAMP'2015-01-01 10:10:10.00001-05:30'" "SELECT TIMESTAMP'2015-01-01 10:10:10.000001-05:30'" "SELECT TIMESTAMP'2015-01-01 10:10:10.0000001-05:30'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+5:30'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+5:030'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+005:30'" "SELECT TIMESTAMP'2001-01-01 00:00:00+02:00'" "SELECT TIMESTAMP( '2001-01-01 00:00:00+02:00' )" +"SELECT TIMESTAMP'2015-01-01 10:10:10+05:300'" +"SELECT TIMESTAMP'2015-01-01 10:10:10.0+05:300'" +"SELECT TIMESTAMP'2015-01-01 10:10:10.0+05:30xxx'" +"SELECT TIMESTAMP'2015-01-01 10:10:10.0+25:30'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+05'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+05:'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+0'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+1'" +"SELECT TIMESTAMP'2015-01-01 10:10:10 +05:30'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+14:01'" +"SELECT TIMESTAMP'2015-01-01 10:10:10-14:01'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+zx:00'" +"SELECT TIMESTAMP'2015-01-01 10:10:10+00:00zx'" "SET time_zone = '+02:00'" "CREATE TABLE t1 ( a TIMESTAMP DEFAULT '1995-05-05 00:00:00+05:30' )" "CREATE TABLE t1 ( @@ -95200,19 +107993,40 @@ a DATETIME NOT NULL "SELECT * FROM t2 WHERE a = '2015-01-01 04:40:10.000001'" "SET time_zone = CET" "CREATE TABLE t2 ( a TIMESTAMP(6) )" +"INSERT INTO t1 VALUES ( TIMESTAMP'2038-01-19 03:14:08+00:00' )" "INSERT INTO t1 VALUES ( TIMESTAMP'2038-01-19 03:14:07+00:00' )" "INSERT INTO t1 VALUES ( TIMESTAMP'2038-01-19 03:14:07.000001+00:00' )" +"INSERT INTO t1 VALUES ( TIMESTAMP'2038-01-19 03:14:07.999999+00:00' )" +"INSERT INTO t1 VALUES ( TIMESTAMP'1970-01-01 00:00:00.000000+00:00' )" "INSERT INTO t1 VALUES ( TIMESTAMP'1970-01-01 01:00:00.000000+00:00' )" "INSERT INTO t1 VALUES ( TIMESTAMP'1970-01-01 00:00:01.000000+00:00' )" +"INSERT INTO t1 VALUES ( TIMESTAMP'1970-01-01 00:00:00.000001+00:00' )" "INSERT INTO t1 VALUES ( TIMESTAMP'1970-01-01 00:00:00.999999+00:00' )" +"INSERT INTO t1 VALUES ( '2038-01-19 03:14:08+00:00' )" +"INSERT INTO t1 VALUES ( TIMESTAMP'9999-12-31 23:59:59.999999+00:00' )" +"INSERT INTO t1 VALUES ( '9999-12-31 23:59:59.999999+00:00' )" +"INSERT INTO t2 VALUES ( TIMESTAMP'2038-01-19 03:14:08+00:00' )" "INSERT INTO t2 VALUES ( TIMESTAMP'2038-01-19 03:14:07+00:00' )" "INSERT INTO t2 VALUES ( TIMESTAMP'2038-01-19 03:14:07.000001+00:00' )" "INSERT INTO t2 VALUES ( TIMESTAMP'2038-01-19 03:14:07.999999+00:00' )" +"INSERT INTO t2 VALUES ( TIMESTAMP'1970-01-01 00:00:00.000000+00:00' )" "INSERT INTO t2 VALUES ( TIMESTAMP'1970-01-01 01:00:00.000000+00:00' )" "INSERT INTO t2 VALUES ( TIMESTAMP'1970-01-01 00:00:01.000000+00:00' )" +"INSERT INTO t2 VALUES ( TIMESTAMP'1970-01-01 00:00:00.000001+00:00' )" +"INSERT INTO t2 VALUES ( TIMESTAMP'1970-01-01 00:00:00.999999+00:00' )" +"INSERT INTO t2 VALUES ( '2038-01-19 03:14:08+00:00' )" +"INSERT INTO t2 VALUES ( TIMESTAMP'9999-12-31 23:59:59.999999+00:00' )" +"INSERT INTO t2 VALUES ( '9999-12-31 23:59:59.999999+00:00' )" +"INSERT INTO t1 VALUES ( '2038-01-19 03:14:08' )" "INSERT INTO t1 VALUES ( '1969-12-31 23:59:59' )" "SET sql_mode = regexp_replace(@@sql_mode, 'NO_ZERO_IN_DATE', '')" +"SELECT TIMESTAMP '2020-00-01 08:00:00.123456+00:00'" +"SELECT TIMESTAMP '2020-01-00 08:00:00.123456+00:00'" "CREATE TABLE t1 ( a DATETIME(6) )" +"INSERT INTO t1 VALUES ( '2020-00-01 00:00:00.123456+00:00' )" +"INSERT INTO t1 VALUES ( '2020-01-00 00:00:00.123456+00:00' )" +"SELECT * FROM t1 WHERE a = '2020-00-01 00:00:00.123456+00:00'" +"SELECT * FROM t1 WHERE a = '2020-01-00 00:00:00.123456+00:00'" "create table t1 (ts timestamp)" "select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp())" "insert into t1 (ts) values ('2003-03-30 02:30:00')" @@ -95263,6 +108077,11 @@ a DATETIME NOT NULL ('2038-01-19 04:44:07'),('2038-01-19 04:44:08')" "show variables like 'time_zone'" "set time_zone = default" +"set time_zone= '0'" +"set time_zone= '0:0'" +"set time_zone= '-20:00'" +"set time_zone= '+20:00'" +"set time_zone= 'Some/Unknown/Time/Zone'" "select convert_tz(now(),'UTC', 'Universal') = now()" "select convert_tz(now(),'utc', 'UTC') = now()" "select convert_tz('1917-11-07 12:00:00', 'MET', 'UTC')" @@ -95354,8 +108173,10 @@ set new.udt:= convert_tz(new.ldt, 'Europe/Moscow', 'UTC')" "SELECT FROM_UNIXTIME(1230768022), FROM_UNIXTIME(1230768023), FROM_UNIXTIME(1230768024)" "select unix_timestamp('1969-12-31 14:00:01')" "SET SESSION debug=""+d,kill_query_on_open_table_from_tz_find""" +"SELECT CONVERT_TZ(a, a, a) FROM t1" "SET SESSION debug=""-d,kill_query_on_open_table_from_tz_find""" "SET DEBUG='+d,mysql_lock_tables_kill_query'" +"SELECT CONVERT_TZ('2003-10-26 01:00:00', 'There-is-no-such-time-zone-1', 'UTC')" "SET DEBUG='-d,mysql_lock_tables_kill_query'" "SET DEBUG=""+d,set_cet_before_dst""" "SELECT @@SYSTEM_TIME_ZONE" @@ -95400,11 +108221,14 @@ OVER(ORDER BY id) AS diff FROM ts ORDER BY id)" "select convert_tz(b, 'Europe/Moscow', 'UTC') from t1" "update t1, t2 set t1.b = convert_tz('2004-10-21 19:00:00', 'Europe/Moscow', 'UTC') where t1.a = t2.c and t2.d = (select max(d) from t2)" +"select * from mysql.time_zone_name" +"select Name, convert_tz('2004-10-21 19:00:00', Name, 'UTC') from mysql.time_zone_name" "grant all privileges on test.t1 to mysqltest_1@localhost" "grant all privileges on test.t2 to mysqltest_1@localhost" "select convert_tz('2004-11-31 12:00:00', 'Europe/Moscow', 'UTC')" "update t1, t2 set t1.b = convert_tz('2004-11-30 12:00:00', 'Europe/Moscow', 'UTC') where t1.a = t2.c and t2.d = (select max(d) from t2)" +"select Name, convert_tz('2004-11-30 12:00:00', Name, 'UTC') from mysql.time_zone_name" "create table t2 (a int, b varchar(40))" "update t1 set b = '2005-01-01 10:00'" "update t1 set b = convert_tz(b, 'UTC', 'UTC')" @@ -95412,6 +108236,8 @@ where t1.a = t2.c and t2.d = (select max(d) from t2)" "update t1 join t2 on (t1.a = t2.a) set t1.b = convert_tz('2005-01-01 10:00','UTC','UTC') where t2.b = 'foo'" "insert into t1 values (1, 20010101000000), (2, 20020101000000)" "create view v1 as select a, convert_tz(b, 'UTC', 'Europe/Moscow') as lb from t1" +"select * from v1, mysql.time_zone" +"create view v1 as select a, convert_tz(b, 'UTC', 'Europe/Moscow') as lb from t1, mysql.time_zone" "SET time_zone = 'CET'" "CREATE TABLE ts1 ( a TIMESTAMP )" "CREATE TABLE dt1 ( a DATETIME )" @@ -95485,9 +108311,11 @@ where t1.a = t2.c and t2.d = (select max(d) from t2)" "DROP PROCEDURE timestamp_test" "call mtr.add_suppression(""Unable to get certificate"")" "call mtr.add_suppression('Failed to initialize TLS for channel: mysql_main')" +"SET @@tmpdir= 'no/such/directory'" "CALL mtr.add_suppression(""Cannot create temporary merge file"")" "SET @@innodb_tmpdir= NULL" "CREATE TABLE test.t(a text)" +"ALTER TABLE test.t ADD fulltext(a)" "SET @transaction_read_only_save = @@transaction_read_only" "SET @@global.transaction_read_only = ON" "SET @@global.transaction_read_only = @transaction_read_only_save" @@ -95522,6 +108350,12 @@ VALUES ('u2', 'h', '', '', '')" "DROP USER u2@h" "SET PASSWORD FOR u1@h = ''" "CREATE PROCEDURE p1() SET PASSWORD FOR u1@h = '12345'" +"CREATE FUNCTION f1() RETURNS INT +BEGIN +SET PASSWORD FOR u1@h = '12345'; +RETURN 0; +END; +" "CREATE FUNCTION f2() RETURNS INT BEGIN CALL p1(); @@ -95529,22 +108363,47 @@ RETURN 0; END; " "SELECT user, host FROM mysql.user where user like 'user%'" +"DROP USER no_user@localhost" "CREATE USER user2@localhost, user3@localhost" +"DROP USER no_user@localhost, user3@localhost, +no_user1@localhost, user2@localhost, +no_user2@localhost" "DROP USER user2@localhost, user3@localhost" "RENAME USER user2@localhost TO user3@localhost" +"RENAME USER no_user@localhost to user6@localhost" +"RENAME USER user3@localhost TO user6@localhost, +no_user@localhost TO user3@localhost" "CREATE user user7@localhost" +"RENAME USER user6@localhost TO temp_user@localhost, +user7@localhost TO user4@localhost, +no_user@localhost TO no_user1@localhost, +temp_user@localhost to user7@localhost" +"RENAME USER no_user@localhost TO user7@localhost, +user7@localhost TO user8@localhost, +no_user1@localhost TO user11@localhost, +user4@localhost TO user7@localhost, +no_user2@localhost TO user12@localhost" "SET debug=""+d,wl7158_handle_grant_table_1""" +"RENAME USER user7@localhost TO user7_1@localhost" "SET debug=""-d,wl7158_handle_grant_table_1""" +"CREATE USER user3@localhost, user2@localhost, user4@localhost" "CREATE USER u2@l" "ALTER USER u2@l PASSWORD EXPIRE INTERVAL 5 day" "SELECT user, password_lifetime FROM mysql.user where USER like 'u_'" +"ALTER USER u3@l PASSWORD EXPIRE INTERVAL 5 DAY" +"ALTER USER u3@l, u2@l, u4@l PASSWORD EXPIRE INTERVAL 7 DAY" "SELECT user, password_lifetime FROM mysql.user WHERE user LIKE 'u_'" "DROP USER u2@l" "call mtr.add_suppression(""Did not write failed .*"")" "call mtr.add_suppression(""REVOKE/GRANT failed .* An incident event has been written to the binary log which will stop the replicas."")" "CREATE USER u1@h, u3@h" "GRANT SELECT(a) ON t1 TO u1@h, u3@h" +"GRANT SELECT(b), SELECT(c), INSERT(b) ON t1 TO u1@h, u2@h, u3@h" +"GRANT SELECT(b) ON t1 TO u1@h, u2@h, u3@h" +"GRANT SELECT(b), SELECT(c), INSERT(b) ON t1 TO u1@h" +"REVOKE SELECT(a) ON t1 FROM u0@h, u1@h, u2@h, u3@h" "GRANT SELECT(a) ON t1 TO u1@h" +"REVOKE SELECT(a),SELECT(c) ON t1 FROM u1@h" "DROP USER u1@h, u3@h" "CREATE USER u2@h" "CREATE SCHEMA test1" @@ -95552,8 +108411,8 @@ END; "GRANT SELECT ON test1.* TO u1@h" "GRANT SELECT ON test1.* TO u2@h" "DELETE FROM mysql.db WHERE host = 'h' AND user = 'u1'" +"REVOKE SELECT ON test1.* FROM u1@h, u2@h" "DROP SCHEMA test1" -"DROP USER u1@h, u2@h" "CREATE PROCEDURE p1() SET @a :=1" "GRANT EXECUTE ON PROCEDURE p1 TO u1@h" "GRANT EXECUTE ON PROCEDURE p1 TO u2@h" @@ -95585,12 +108444,15 @@ END; "SET debug='+d,wl7158_grant_load_3'" "SET debug='-d,wl7158_grant_load_3'" "SET debug=""+d,wl7158_replace_user_table_1""" +"SHOW GRANTS FOR u1@h" "SET debug=""-d,wl7158_replace_user_table_1""" +"SET PASSWORD FOR u1@h = 'systpass'" "SET debug=""+d,wl7158_replace_user_table_2""" "SET debug=""-d,wl7158_replace_user_table_2""" "ALTER USER u1@h REQUIRE CIPHER ""EDH-RSA-DES-CBC3-SHA""" "GRANT SELECT ON mysqltest.* TO u1@h" -"SHOW GRANTS FOR u1@h" +"ALTER USER u1@h REQUIRE CIPHER ""EDH-RSA-DES-CBC3-SHA"" +AND SUBJECT ""testsubject"" ISSUER ""MySQL""" "SET debug=""+d,mysql_table_grant_out_of_memory""" "CALL mtr.add_suppression("".*Out of memory *"")" "SET debug=""-d,mysql_table_grant_out_of_memory""" @@ -95601,6 +108463,7 @@ END; "SET debug=""+d,wl7158_replace_db_table_2""" "SET debug=""-d,wl7158_replace_db_table_2""" "SET debug=""+d,wl7158_replace_db_table_3""" +"REVOKE ALL PRIVILEGES ON mysqltest.* FROM u1@h" "SET debug=""-d,wl7158_replace_db_table_3""" "SET debug=""+d,wl7158_replace_db_table_4""" "SET debug=""-d,wl7158_replace_db_table_4""" @@ -95613,34 +108476,39 @@ END; "SET debug=""+d,mysql_handle_grant_data_fail_on_proxies_priv_table""" "SET debug=""-d,mysql_handle_grant_data_fail_on_proxies_priv_table""" "SET debug=""+d,wl7158_modify_grant_table_1""" +"rename user u1@h to u2@h" +"SHOW GRANTS FOR u2@h" "SET debug=""-d,wl7158_modify_grant_table_1""" "SET debug=""+d,wl7158_modify_grant_table_2""" "SET debug=""-d,wl7158_modify_grant_table_2""" "SET debug=""+d,wl7158_replace_proxies_priv_table_1""" +"GRANT PROXY ON plug_dest TO u1@h" "SET debug=""-d,wl7158_replace_proxies_priv_table_1""" "SET debug=""+d,wl7158_replace_proxies_priv_table_2""" "SET debug=""-d,wl7158_replace_proxies_priv_table_2""" "SET debug=""+d,wl7158_replace_proxies_priv_table_5""" "SET debug=""-d,wl7158_replace_proxies_priv_table_5""" -"GRANT PROXY ON plug_dest TO u1@h" "SET debug=""+d,wl7158_replace_proxies_priv_table_3""" "SET debug=""-d,wl7158_replace_proxies_priv_table_3""" "SET debug=""+d,wl7158_replace_proxies_priv_table_4""" +"REVOKE PROXY ON plug_dest FROM u1@h" "SET debug=""-d,wl7158_replace_proxies_priv_table_4""" "SET debug=""+d,wl7158_replace_column_table_1""" +"GRANT SELECT(a), UPDATE(a), INSERT(a), REFERENCES(a) ON t1 TO u1@h" "SET debug=""-d,wl7158_replace_column_table_1""" "SET debug=""+d,wl7158_replace_column_table_2""" "SET debug=""-d,wl7158_replace_column_table_2""" "SET debug=""+d,wl7158_replace_column_table_5""" "SET debug=""-d,wl7158_replace_column_table_5""" -"GRANT SELECT(a), UPDATE(a), INSERT(a), REFERENCES(a) ON t1 TO u1@h" "SET debug=""+d,wl7158_replace_column_table_3""" "SET debug=""-d,wl7158_replace_column_table_3""" "SET debug=""+d,wl7158_replace_column_table_4""" +"REVOKE SELECT(a), UPDATE(a), INSERT(a), REFERENCES(a) ON t1 FROM u1@h" "SET debug=""-d,wl7158_replace_column_table_4""" "SET debug=""+d,wl7158_replace_column_table_6""" "SET debug=""-d,wl7158_replace_column_table_6""" "SET debug=""+d,wl7158_replace_column_table_7""" +"REVOKE ALL PRIVILEGES, GRANT OPTION FROM u1@h" "SET debug=""-d,wl7158_replace_column_table_7""" "SET debug=""+d,wl7158_replace_column_table_8""" "SET debug=""-d,wl7158_replace_column_table_8""" @@ -95649,24 +108517,23 @@ END; "SELECT host, db, user, table_name, grantor, table_priv, column_priv FROM mysql.tables_priv" "DELETE FROM mysql.columns_priv WHERE host = 'h' AND user = 'u1' AND table_name = 't1'" -"REVOKE ALL PRIVILEGES, GRANT OPTION FROM u1@h" "GRANT UPDATE (a) ON t1 TO u1@h" "SET debug='+d,mysql_grant_table_init_out_of_memory'" "SET debug='-d,mysql_grant_table_init_out_of_memory'" "SELECT * FROM mysql.columns_priv WHERE host = 'h' AND user = 'u1'" "SELECT * FROM mysql.tables_priv WHERE host = 'h' AND user = 'u1'" "SET debug=""+d,wl7158_replace_table_table_1""" +"GRANT UPDATE ON t1 TO u1@h" "SET debug=""-d,wl7158_replace_table_table_1""" "SET debug=""+d,wl7158_replace_table_table_3""" "SET debug=""-d,wl7158_replace_table_table_3""" -"GRANT UPDATE ON t1 TO u1@h" "SET debug=""+d,wl7158_replace_table_table_2""" "SET debug=""-d,wl7158_replace_table_table_2""" "SET debug=""+d,wl7158_replace_routine_table_1""" +"GRANT USAGE ON PROCEDURE p TO u1@h WITH GRANT OPTION" "SET debug=""-d,wl7158_replace_routine_table_1""" "SET debug=""+d,wl7158_replace_routine_table_4""" "SET debug=""-d,wl7158_replace_routine_table_4""" -"GRANT USAGE ON PROCEDURE p TO u1@h WITH GRANT OPTION" "SET debug=""+d,wl7158_replace_routine_table_2""" "SET debug=""-d,wl7158_replace_routine_table_2""" "SET debug=""+d,wl7158_replace_routine_table_3""" @@ -95825,6 +108692,10 @@ FROM mysql.proxies_priv_bak" Column_priv) SELECT Host, Db, User, Table_name, Grantor, Timestamp, Table_priv, Column_priv FROM mysql.tables_priv_bak" "call mtr.add_suppression(""mysql.user has no `Event_priv` column at position 28"")" +"ALTER USER u1@h PASSWORD EXPIRE" +"REVOKE SELECT ON t1 FROM u1@h" +"SET PASSWORD FOR u1@h = '123'" +"RENAME USER u1@h TO u1_1@h" "SELECT table_name, engine FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'mysql' AND table_name IN ('user', 'db', 'columns_priv', 'procs_priv', @@ -95856,6 +108727,8 @@ WHERE name = 'tr14'" "UPDATE mysql.triggers SET action_statement = 'DELETE FROM non_existing_table a USING non_existing_table a', action_statement_utf8= 'DELETE FROM non_existing_table a USING non_existing_table a' WHERE name = 'tr15'" +"CREATE TRIGGER tr16 AFTER UPDATE ON t1 FOR EACH ROW INSERT INTO t1 VALUES (1)" +"UPDATE t1 SET a = 1 WHERE a = 1" "DROP TRIGGER tr13" "DROP TRIGGER tr11" "DROP TRIGGER tr12" @@ -95887,7 +108760,6 @@ tr1 = connection_id() AS ""tr1 valid"", tr2 = connection_id() AS ""tr2 valid"" FROM t1 WHERE id=1" -"INSERT INTO t1(id) VALUES (2)" "SELECT id, tr1 = connection_id() AS ""tr1 valid"", tr2 = connection_id() AS ""tr2 valid"" @@ -96053,6 +108925,7 @@ insert into t2 values (concat(""INSERT INTO t1 FAILED id="", new.id, "" data='"" set new.id= NULL; end if; end" +"insert into t1 values (4, ""four"", 1), (5, ""five"", 2)" "create table t1 (id int primary key, data varchar(10))" "create table t2 (seq int)" "insert into t2 values (10)" @@ -96082,7 +108955,18 @@ set new.copy= (select data from t2 where id = new.id)" set new.copy= (select data from t2 where id = new.id)" "insert into t1 values (1,3), (2,4), (3,3)" "update t1 set copy= 1 where id = 2" +"create trigger trg before insert on t1 for each row set @a:= old.i" +"create trigger trg before delete on t1 for each row set @a:= new.i" +"create trigger trg before update on t1 for each row set old.i:=1" +"create trigger trg before delete on t1 for each row set new.i:=1" +"create trigger trg after update on t1 for each row set new.i:=1" +"create trigger trg before update on t1 for each row set new.j:=1" +"create trigger trg before update on t1 for each row set @a:=old.j" +"create trigger trg before insert on t2 for each row set @a:=1" +"create trigger trg after insert on t1 for each row set @a:=1" +"create trigger trg before insert on t3 for each row set @a:=1" "create trigger trg2 before insert on t3 for each row set @a:=1" +"create trigger trg before insert on v1 for each row set @a:=1" "create table t1 (x1col char)" "create trigger tx1 before insert on t1 for each row set new.x1col = 'x'" "drop trigger tx1" @@ -96093,6 +108977,8 @@ set new.copy= (select data from t2 where id = new.id)" "create trigger trg1 before insert on t1 for each row set new.a= 10" "create trigger trg1 before insert on t1 for each row set @a:= 1" "create table mysqltest.t1 (i int)" +"create trigger trg1 before insert on mysqltest.t1 for each row set @a:= 1" +"create trigger test.trg1 before insert on t1 for each row set @a:= 1" "create table t1 (i int, j int default 10, k int not null, key (k))" "insert into t1 (i, k) values (1, 1)" "create trigger trg1 before update on t1 for each row set @a:= @a + new.j - old.j" @@ -96132,20 +109018,40 @@ end" "create trigger bu before update on t1 for each row set @a:= new.bt" "create trigger bd before delete on t1 for each row set @a:= old.bt" "alter table t1 drop column bt" +"insert into t1 values (3, 3)" +"update t1 set i = 2" +"load data infile '../../std_data/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, k)" +"insert into t1 select 3, 3" +"update t1, t2 set k = k + 10 where t1.i = t2.i" +"update t1, t2 set k = k + 10 where t1.i = t2.i and k < 2" +"delete t1, t2 from t1 straight_join t2 where t1.i = t2.i" +"delete t2, t1 from t2 straight_join t1 where t1.i = t2.i" "alter table t1 add primary key (i)" "drop trigger bi" +"insert into t1 values (2, 4) on duplicate key update k= k + 10" +"replace into t1 values (2, 4)" "create table t1 (col1 int, col2 int)" "insert into t1 values (1, 2)" "create function bug5893 () returns int return 5" "create trigger t1_bu before update on t1 for each row set new.col1= bug5893()" "drop function bug5893" +"update t1 set col2 = 4" "drop trigger t1_bu" "create table t1 (""t1 column"" int)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create trigger t1_bi before insert on t1 for each row set new.""t1 column"" = 5","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create trigger t1_af after insert on t1 for each row set @a=10" "create table t1 (a date)" +"insert into t1 values ('2004-01-00')" "create trigger t1_bi before insert on t1 for each row set new.a = '2004-01-00'" "insert into t1 values ('2004-01-01')" +"create trigger t1_ai after insert on t1 for each row reset binary logs and gtids" +"create trigger t1_ai after insert on t1 for each row RESET REPLICA" +"create trigger t1_ai after insert on t1 for each row flush tables with read lock" +"create trigger t1_ai after insert on t1 for each row flush logs" +"create trigger t1_ai after insert on t1 for each row flush status" +"create trigger t1_ai after insert on t1 for each row flush user_resources" +"create trigger t1_ai after insert on t1 for each row flush tables" +"create trigger t1_ai after insert on t1 for each row flush privileges" "create trigger t1_ai after insert on t1 for each row call p1()" "create procedure p1() flush tables" "create procedure p1() reset binary logs and gtids" @@ -96168,6 +109074,11 @@ end" "update t1 set data = 1" "update t1 set data = 2" "create table t1 (c1 int, c2 datetime)" +"create trigger tr1 before insert on t1 for each row +begin +set new.c2= '2004-04-01'; +select 'hello'; +end" "insert into t1 (c1) values (1),(2),(3)" "create procedure bug11587(x char(16)) begin @@ -96179,6 +109090,7 @@ begin call bug11587(new.c2); set new.c2= '2004-04-02'; end" +"insert into t1 (c1) values (4),(5),(6)" "drop procedure bug11587" "create table t2 (f2 integer)" "create trigger t1_ai after insert on t1 @@ -96187,6 +109099,7 @@ for each row insert into t2 values (new.f1+1)" for each row insert into t1 values (new.f2+1)" "create trigger t1_bu before update on t1 for each row insert into t1 values (2)" +"update t1 set f1= 10" "create trigger t1_bu before update on t1 for each row delete from t1 where f1=new.f1" "create trigger t1_bi before insert on t1 @@ -96206,6 +109119,8 @@ begin declare done int default 0; set done= not done; end" +"create trigger t1_bi before insert on test.t1 for each row set @a:=0" +"create trigger test.t1_bi before insert on t1 for each row set @a:=0" "create trigger t1_bi before insert on t1 for each row set @a:=new.id" "create trigger t1_ai after insert on test.t1 for each row set @b:=new.id" "select trigger_schema, trigger_name, event_object_schema, @@ -96219,6 +109134,11 @@ where event_object_schema = 'test'" "select trigger_schema, trigger_name, event_object_schema, event_object_table, action_statement from information_schema.triggers where event_object_schema = 'test' or event_object_schema = 'mysqltest'" +"rename table t1 to test.t2" +"drop trigger test.t1_bi" +"alter table t1 rename to test.t1" +"alter table t1 rename to test.t1, add column val int default 0" +"create trigger t1_bi before insert on t1 for each row return 0" "create table t1 (a varchar(64), b int)" "create trigger t1_ai after insert on t1 for each row set @a:= (select max(a) from t1)" @@ -96275,19 +109195,34 @@ CALL p1(NEW.i1); CALL p2(NEW.i1); END" "UPDATE t1 SET i1 = 11 WHERE i1 = 3" -"DROP TRIGGER t1_bu" "CREATE PROCEDURE p1(OUT i1 INT) DETERMINISTIC NO SQL SET @a = 17" "CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW CALL p1(OLD.i1)" +"UPDATE t1 SET i1 = 19 WHERE i1 = 13" "INSERT INTO t1 VALUES (23)" "CREATE PROCEDURE p1(INOUT i1 INT) DETERMINISTIC NO SQL SET @a = i1 * 29" +"UPDATE t1 SET i1 = 31 WHERE i1 = 23" "INSERT INTO t1 VALUES (37)" "CREATE PROCEDURE p1(OUT i1 INT) DETERMINISTIC NO SQL SET @a = 41" "CREATE TRIGGER t1_au AFTER UPDATE ON t1 FOR EACH ROW CALL p1(NEW.i1)" +"UPDATE t1 SET i1 = 43 WHERE i1 = 37" "INSERT INTO t1 VALUES (47)" "CREATE PROCEDURE p1(INOUT i1 INT) DETERMINISTIC NO SQL SET @a = i1 * 49" +"UPDATE t1 SET i1 = 51 WHERE i1 = 47" +"create trigger wont_work after update on mysql.user for each row +begin +set @a:= 1; +end" +"create trigger wont_work after update on event for each row +begin +set @a:= 1; +end" "CREATE TABLE t2(c INT)" +"CREATE DEFINER=1234567890abcdefGHIKL1234567890abcdefGHIKL@localhost +TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a = 1" +"CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X +TRIGGER t2_bi BEFORE INSERT ON t2 FOR EACH ROW SET @a = 2" "create table t1 (id int(10) not null primary key, v int(10) )" "create table t2 (id int(10) not null primary key, v int(10) )" "create table t3 (id int(10) not null primary key, v int(10) )" @@ -96328,6 +109263,7 @@ INSERT INTO t2 VALUES (OLD.a)" "DROP TRIGGER trg_t1" "create trigger t1_bi before insert on t1 for each row set @a:= f1() + 10" "create table t1(a int, b varchar(50))" +"drop trigger not_a_trigger" "drop trigger if exists not_a_trigger" "create trigger t1_bi before insert on t1 for each row set NEW.b := ""In trigger t1_bi""" @@ -96559,6 +109495,7 @@ date_insert=NOW() WHERE t1.a=t2.b AND t2.a=NEW.a; END " "DROP TRIGGER t_insert" "CREATE TRIGGER t_insert AFTER INSERT ON t2 FOR EACH ROW BEGIN UPDATE t1,t2 SET date_insert=NOW(),b=b+1 WHERE t1.a=t2.b AND t2.a=NEW.a; END " +"INSERT INTO t2 (a,b) VALUES (3,5)" "drop table if exists table_25411_a" "drop table if exists table_25411_b" "create table table_25411_a(a int)" @@ -96567,6 +109504,7 @@ date_insert=NOW(),b=b+1 WHERE t1.a=t2.b AND t2.a=NEW.a; END " for each row insert into table_25411_b select new.*" "select * from table_25411_a" +"insert into table_25411_a values (1)" "drop table table_25411_a" "drop table table_25411_b" "create trigger t1_bi before insert on t1 for each row begin end" @@ -96586,7 +109524,6 @@ insert into table_25411_b select new.*" "update t1 set a= 1" "update t2 set b= 1" "CREATE TABLE t2 ( a INT AUTO_INCREMENT KEY, b INT )" -"INSERT INTO t1 (a) VALUES (1)" "CREATE TRIGGER tr1 BEFORE INSERT ON t2 FOR EACH ROW @@ -96594,7 +109531,6 @@ BEGIN UPDATE a_nonextisting_table SET a = 1; END" "CREATE TABLE IF NOT EXISTS t2 ( a INT, b INT ) SELECT a, b FROM t1" -"DROP TRIGGER IF EXISTS trg1" "CREATE TABLE t1 (b VARCHAR(50) NOT NULL)" "CREATE TABLE t2 (a VARCHAR(10) NOT NULL DEFAULT '')" "CREATE TRIGGER trg1 AFTER INSERT ON t2 @@ -96680,7 +109616,6 @@ AND ms.keey='scan_incoming'; (4, 'yahoo.com'), (5, 'example.com')" "INSERT INTO t2 VALUES ('Yes', 1, NULL, 'spamfilter','scan_incoming')" -"DROP TRIGGER t2_ai" "CREATE TABLE t1 (a INT, b INT DEFAULT 150)" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW @@ -96691,7 +109626,23 @@ INSERT INTO t2 VALUES (100, 500); INSERT INTO t2(a) VALUES (1000); END " +"CREATE TRIGGER t1_au AFTER UPDATE ON t1 FOR EACH ROW START REPLICA" +"CREATE TRIGGER t1_au AFTER UPDATE ON t1 FOR EACH ROW STOP REPLICA" +"CREATE TRIGGER t1_au AFTER UPDATE ON t1 FOR EACH ROW +CREATE SERVER s FOREIGN DATA WRAPPER mysql OPTIONS (USER 'Remote', +HOST '192.168.1.106', +DATABASE 'test')" +"CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW +ALTER SERVER s OPTIONS (password '1')" +"CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW +DROP SERVER IF EXISTS s" +"CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW +ALTER DATABASE db1 CHARACTER SET latin1" "CREATE USER 'u1'@'localhost' IDENTIFIED BY 'pass'" +"CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW +ALTER USER 'u1'@'localhost' PASSWORD EXPIRE" +"CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW +CHANGE REPLICATION SOURCE TO SOURCE_SSL = 0" "SET @save_sql_mode= @@sql_mode" "SET sql_mode= 'traditional'" "SET sql_mode= @save_sql_mode" @@ -96716,6 +109667,9 @@ END" "DROP TABLE test.silly_one" "RENAME TABLE t1 TO t1Renamed" "DROP TABLE t1Renamed" +"SHOW CREATE TRIGGER non_existence_db.some_trigger" +"CREATE TRIGGER non_existent_db.trg1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN END" +"DROP TRIGGER non_existent_db.trg1" "CREATE TABLE t1 (val INT NOT NULL) ENGINE=InnoDB PARTITION BY LIST(val) ( PARTITION p1 VALUES IN (1,2,3), @@ -96740,7 +109694,6 @@ PARTITION p2 VALUES IN (4,5) "CREATE TRIGGER trg1c3 BEFORE UPDATE ON t1 FOR EACH ROW FOLLOWS trg1c2 BEGIN END" "SELECT TRIGGER_NAME FROM information_schema.triggers WHERE TRIGGER_NAME LIKE 'trg1%' ORDER BY TRIGGER_NAME" "CREATE VIEW s1.v1 AS SELECT * FROM t1" -"CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN END" "LOCK TABLE s1.v1 WRITE" "DROP VIEW s1.v1" "CREATE USER mysqltest_dfn@localhost" @@ -96751,10 +109704,10 @@ PARTITION p2 VALUES IN (4,5) "GRANT INSERT, DROP ON mysqltest_db1.t1 TO mysqltest_dfn@localhost" "GRANT INSERT, DROP ON mysqltest_db1.t2 TO mysqltest_dfn@localhost" "GRANT SUPER ON *.* TO mysqltest_dfn@localhost" -"GRANT TRIGGER ON mysqltest_db1.t1 TO mysqltest_dfn@localhost" "CREATE TRIGGER trg1 AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t2 VALUES(CURRENT_USER())" +"GRANT TRIGGER ON mysqltest_db1.t1 TO mysqltest_dfn@localhost" "REVOKE TRIGGER ON mysqltest_db1.t1 FROM mysqltest_dfn@localhost" "REVOKE SUPER ON *.* FROM mysqltest_dfn@localhost" "GRANT ALL PRIVILEGES ON mysqltest_db1.t1 TO mysqltest_dfn@localhost" @@ -96772,6 +109725,7 @@ SET @new_sum = 0" TRIGGER trg2 AFTER INSERT ON t1 FOR EACH ROW SET @new_sum = 0" +"INSERT INTO t1 VALUES(6)" "DROP USER mysqltest_dfn@localhost" "DROP USER mysqltest_inv@localhost" "CREATE TABLE t1(col CHAR(20))" @@ -96847,12 +109801,15 @@ SET NEW.col = CONCAT(OLD.col, '(updated)')" "REVOKE SELECT ON mysqltest_db1.t2 FROM mysqltest_u1@localhost" "REVOKE SELECT(col) ON mysqltest_db1.t3 FROM mysqltest_u1@localhost" "REVOKE SELECT(col) ON mysqltest_db1.t4 FROM mysqltest_u1@localhost" +"INSERT INTO t1 VALUES('line1')" "SELECT @mysqltest_var" "INSERT INTO t2 VALUES('line2')" +"INSERT INTO t3 VALUES('t3_line1')" "INSERT INTO t4 VALUES('t4_line2')" "GRANT SELECT(col) ON mysqltest_db1.t3 TO mysqltest_u1@localhost" "GRANT SELECT(col) ON mysqltest_db1.t4 TO mysqltest_u1@localhost" "INSERT INTO t1 VALUES('line3')" +"INSERT INTO t2 VALUES('line4')" "INSERT INTO t3 VALUES('t3_line2')" "CREATE TABLE t2 (i1 INT)" "GRANT EXECUTE, CREATE ROUTINE, TRIGGER ON *.* TO mysqltest_dfn@localhost" @@ -96863,11 +109820,14 @@ SET NEW.col = CONCAT(OLD.col, '(updated)')" CALL p1(NEW.i1)" "CREATE TRIGGER t2_bi BEFORE INSERT ON t2 FOR EACH ROW CALL p2(NEW.i1)" +"INSERT INTO t2 VALUES (11)" "DROP TRIGGER t2_bi" "GRANT SELECT ON mysqltest_db1.* TO mysqltest_dfn@localhost" +"INSERT INTO t2 VALUES (17)" "REVOKE SELECT ON mysqltest_db1.* FROM mysqltest_dfn@localhost" "GRANT UPDATE ON mysqltest_db1.* TO mysqltest_dfn@localhost" "INSERT INTO t1 VALUES (19)" +"INSERT INTO t2 VALUES (23)" "REVOKE UPDATE ON mysqltest_db1.* FROM mysqltest_dfn@localhost" "GRANT SELECT, UPDATE ON mysqltest_db1.* TO mysqltest_dfn@localhost" "INSERT INTO t1 VALUES (29)" @@ -96877,6 +109837,7 @@ CALL p2(NEW.i1)" "INSERT INTO t1 VALUES (41)" "CREATE PROCEDURE p1(IN i INT) DETERMINISTIC NO SQL SET @v1 = i + 43" "CREATE PROCEDURE p1(INOUT i INT) DETERMINISTIC NO SQL SET i = i + 51" +"INSERT INTO t1 VALUES (53)" "CREATE TABLE db1.t1 (a char(30)) ENGINE=MEMORY" "CREATE TRIGGER db1.trg AFTER INSERT ON db1.t1 FOR EACH ROW INSERT INTO db1.t1 VALUES('Some very sensitive data goes here')" @@ -96884,6 +109845,7 @@ INSERT INTO db1.t1 VALUES('Some very sensitive data goes here')" "REVOKE ALL ON *.* FROM 'no_rights'@'localhost'" "SELECT trigger_name FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_schema = 'db1'" +"SHOW CREATE TRIGGER db1.trg" "DROP USER 'no_rights'@'localhost'" "GRANT ALL ON mysqltest_db1.* TO mysqltest_u1@localhost" "CREATE TABLE t1 ( @@ -96895,12 +109857,15 @@ BEFORE UPDATE ON t1 FOR EACH ROW SET new.a2 = 200" "CREATE TABLE t2 ( a1 int )" +"UPDATE IGNORE t1, t2 SET t1.a1 = 2, t2.a1 = 3 WHERE t1.a1 = 1 AND t2.a1 = 2" "REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_name_len_32_012345678901234@localhost" "GRANT ALL ON test1.* TO user_name_len_32_012345678901234@localhost" "CREATE DEFINER=user_name_len_32_012345678901234@localhost TRIGGER test1.t1_ai AFTER INSERT ON test1.t1 FOR EACH ROW SET @a = (SELECT COUNT(*) FROM test1.t1)" "GRANT INSERT ON test1.t1 TO user_name_len_22_01234@localhost" "INSERT INTO test1.t1 VALUES (1,'haha')" +"CREATE DEFINER=user_name_len_33_0123456789012345@localhost +TRIGGER test1.t1_bi BEFORE INSERT ON test1.t1 FOR EACH ROW SET @a = (SELECT COUNT(*) FROM test1.t1)" "SET TIMESTAMP= UNIX_TIMESTAMP(""2017-03-30 07:07:07"")" "CREATE TABLE t1( a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP )" "CREATE TRIGGER trigger_for_normal_insert BEFORE INSERT ON t1 FOR EACH ROW @@ -96986,10 +109951,16 @@ END" t3 VALUES (1, NEW.i, NULL, CONCAT(""BI: "", NEW.j))" "SET sql_mode=2147483648*2" "CREATE TRIGGER cafe BEFORE INSERT ON t1 FOR EACH ROW SET @sum= @sum + NEW.f1" +"CREATE TRIGGER café BEFORE INSERT ON t1 FOR EACH ROW SET @sum= @sum + NEW.f1" +"CREATE TRIGGER CAFE BEFORE INSERT ON t1 FOR EACH ROW SET @sum= @sum + NEW.f1" "SHOW CREATE TRIGGER cAfé" "DROP TRIGGER CaFé" "CREATE TRIGGER очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_e BEFORE INSERT ON t1 FOR EACH ROW SET @sum= @sum + NEW.f1" +"CREATE TRIGGER очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é +BEFORE INSERT ON t1 FOR EACH ROW SET @sum= @sum + NEW.f1" +"CREATE TRIGGER очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_E +BEFORE INSERT ON t1 FOR EACH ROW SET @sum= @sum + NEW.f1" "SHOW CREATE TRIGGER очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é" "DROP TRIGGER очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_é" "CREATE TABLE t1 (c1 INT, c2 INT NOT NULL)" @@ -97023,8 +109994,19 @@ BEFORE INSERT ON t1 FOR EACH ROW SET @sum= @sum + NEW.f1" "REPLACE INTO t1(a) SELECT a FROM t2" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a = NULL" "INSERT INTO t2 VALUES (1, 2, 3), (10, 20, 30), (100, 200, 300)" -"CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW SET NEW.a = 999" +"INSERT INTO t1(a, b, c) VALUES (1, 2, 3)" +"INSERT INTO t1(b, c) VALUES (2, 3)" +"REPLACE INTO t1 VALUES (1, 2, 3)" +"REPLACE INTO t1(a, b, c) VALUES (1, 2, 3)" +"REPLACE INTO t1(b, c) VALUES (2, 3)" +"REPLACE INTO t1(a) VALUES (1)" "INSERT INTO t1 VALUES (1, 2, 3), (10, 20, 30), (100, 200, 300)" +"INSERT INTO t1(a, b, c) VALUES (1, 2, 3), (10, 20, 30), (100, 200, 300)" +"INSERT INTO t1(a) VALUES (1), (10), (100)" +"REPLACE INTO t1 VALUES (1, 2, 3), (10, 20, 30), (100, 200, 300)" +"REPLACE INTO t1(a, b, c) VALUES (1, 2, 3), (10, 20, 30), (100, 200, 300)" +"REPLACE INTO t1(a) VALUES (1), (10), (100)" +"CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW SET NEW.a = 999" "UPDATE t1 SET a = NULL WHERE a = 1" "UPDATE t1 SET a = NULL, c = NULL WHERE a = 100" "INSERT INTO t3 VALUES (10, -10)" @@ -97034,6 +110016,9 @@ BEFORE INSERT ON t1 FOR EACH ROW SET @sum= @sum + NEW.f1" "UPDATE t1, t3 SET t1.a = -20, t3.a = NULL WHERE t1.a = t3.a AND t3.a = 10" "DROP TRIGGER t3_bu" "CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW SET NEW.a = NULL" +"UPDATE t1 SET a = 99 WHERE a = 1" +"UPDATE t1 SET a = 99, b = 99 WHERE a = 1" +"UPDATE t1, t3 SET t1.a = 99, t3.a = -10 WHERE t1.a = t3.a AND t3.a = 10" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW BEGIN SET NEW.b = NEW.a; @@ -97084,7 +110069,6 @@ SET NEW.b_old_is_null = OLD.b IS NULL; SET NEW.a = 99; END" -"INSERT INTO t1(a, b, c) VALUES (1, 2, 3), (10, 20, 30), (100, 200, 300)" "UPDATE t1 SET a = NULL, c = NULL WHERE a = 10" "UPDATE t1 SET b = NULL WHERE a = 100" "CREATE TABLE t1(a INT, b INT NOT NULL)" @@ -97134,11 +110118,24 @@ TERMINATED BY ',' ENCLOSED BY '""'" (41, 42, NULL, 44), (51, 52, 53, NULL), (NULL, NULL, NULL, NULL)" -"SET @sql_mode_saved = @@sql_mode" +"INSERT INTO v1 VALUES (1, NULL)" +"REPLACE INTO t1 VALUES (1, NULL)" +"REPLACE INTO v1 VALUES (1, NULL)" +"INSERT INTO t2 VALUES (1, 2, NULL, 4)" +"INSERT INTO v2 VALUES (1, 2, NULL, 4)" +"REPLACE INTO t2 VALUES (1, 2, NULL, 4)" +"REPLACE INTO v2 VALUES (1, 2, NULL, 4)" +"INSERT INTO v1(a, b) VALUES (1, NULL)" +"INSERT INTO t1(a, b) VALUES (1, NULL)" +"REPLACE INTO v1(a, b) VALUES (1, NULL)" +"REPLACE INTO t1(a, b) VALUES (1, NULL)" +"INSERT INTO t2(a, b, c, d) VALUES (1, 2, NULL, 4)" +"INSERT INTO v2(a, b, c, d) VALUES (1, 2, NULL, 4)" +"REPLACE INTO t2(a, b, c, d) VALUES (1, 2, NULL, 4)" +"REPLACE INTO v2(a, b, c, d) VALUES (1, 2, NULL, 4)" "INSERT INTO t1(a) VALUES (2), (3), (4)" "INSERT INTO v1(a) VALUES (5)" "INSERT INTO v1(a) VALUES (6), (7), (8)" -"REPLACE INTO t1(a) VALUES (1)" "REPLACE INTO t1(a) VALUES (2), (3), (4)" "REPLACE INTO v1(a) VALUES (5)" "REPLACE INTO v1(a) VALUES (6), (7), (8)" @@ -97185,7 +110182,6 @@ TERMINATED BY ',' ENCLOSED BY '""'" "CREATE TABLE t2(a INT, b INT NOT NULL, c INT NOT NULL, d INT NOT NULL) " "CREATE TABLE t1_data(a INT, b INT) " "CREATE TABLE t2_data(a INT, b INT, c INT, d INT) " -"SET sql_mode = @sql_mode_saved" "CREATE TABLE t1(a1 INT NOT NULL)" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW @@ -97243,21 +110239,28 @@ SET NEW.a1 = 2" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a1 = NULL" +"INSERT INTO t1 VALUES (2, 2),(3,3)" "CREATE TABLE t1(a1 DATE NOT NULL, a2 TIMESTAMP NOT NULL, a3 TIMESTAMP NOT NULL)" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a1 = NULL , NEW.a2 = NULL , NEW.a3 = NULL" +"INSERT INTO t1 VALUES ('2012-12-12','2012-12-12 12:12:12','1980-01-01 01:01:01')" "CREATE TABLE t1(a1 CHAR(10) NOT NULL, a2 VARCHAR(255) NOT NULL, a3 INT)" "CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a1 = NULL , NEW.a2 = NULL" +"INSERT INTO t1 VALUES ('MySQL','MySQL Testing', 1)" "CREATE TABLE t1(a1 BINARY(10) NOT NULL, a2 VARBINARY(255) NOT NULL, a3 INT)" +"INSERT INTO t1 VALUES ('0x101','0x101', 1)" "CREATE TABLE t1(a1 INT NOT NULL, a2 INT) " "CREATE TABLE t2(a1 INT NOT NULL, a2 INT) " "CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW SET NEW.a1 = NULL" +"UPDATE t1 SET a1 = (SELECT MAX(a2) FROM t2)" +"UPDATE t1 SET a1 = 2" "INSERT INTO t1 VALUES (1, 1),(2, 2)" +"UPDATE t1 SET a1 = 3" "CREATE TRIGGER t1_trg_after_del AFTER DELETE ON t1 FOR EACH ROW SET @a := 1" "CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL)" "CREATE TRIGGER t1_trg_before_ins BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a=2" @@ -97278,6 +110281,7 @@ SET NEW.a1 = 20" "UPDATE t1, t2 SET t1.a1 = NULL , t2.a1 = NULL" "DROP TRIGGER t2_bu" "INSERT INTO t2 VALUES (1, NULL),(2876543, 20111098)" +"UPDATE t1, t2 SET t1.a1 = 1 , t2.a1 = 2" "CREATE TABLE th1(a TEXT,FULLTEXT INDEX(a)) ENGINE=MyISAM" "CREATE TABLE th2(a TEXT,FULLTEXT INDEX(a)) ENGINE=MyISAM" "CREATE TRIGGER trg_bi BEFORE INSERT ON th1 @@ -97287,8 +110291,8 @@ INSERT IGNORE INTO th2 SELECT 1 FROM th1 WHERE MATCH(a) AGAINST ( 'test' IN BOOLEAN MODE); END " "SET @@debug='+d,simulate_bug18831513'" -"SET @@debug='-d,simulate_bug18831513'" "INSERT INTO th1 VALUES(1)" +"SET @@debug='-d,simulate_bug18831513'" "DROP TRIGGER trg_bi" "DROP TABLE th1" "DROP TABLE th2" @@ -97297,6 +110301,7 @@ END " "CREATE TRIGGER trigger_1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN END" "SET DEBUG_SYNC='trigger_ddl_stmt_before_write_to_binlog SIGNAL drop_trigger_ready_to_write_to_binlog WAIT_FOR second_create_trigger_end'" "SET DEBUG_SYNC='now WAIT_FOR drop_trigger_ready_to_write_to_binlog'" +"CREATE TRIGGER trigger_1 BEFORE INSERT ON t2 FOR EACH ROW BEGIN END" "SET DEBUG_SYNC='now SIGNAL second_create_trigger_end'" "SET DEBUG_SYNC='create_trigger_has_acquired_mdl SIGNAL trigger_creation_cont WAIT_FOR second_create_trigger_wait_on_lock'" "SET DEBUG_SYNC='now WAIT_FOR trigger_creation_cont'" @@ -97338,10 +110343,16 @@ ORDER BY trigger_name, action_order" "CREATE TRIGGER tr2_bi BEFORE INSERT ON t1 FOR EACH ROW PRECEDES tr3_bi INSERT INTO t2 (a) VALUES (NEW.a + 200)" "CREATE TRIGGER tr0_bi BEFORE INSERT ON t1 FOR EACH ROW PRECEDES tr1_bi INSERT INTO t2 (a) VALUES (NEW.a)" "CREATE TRIGGER tr3_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a:=3" +"CREATE TRIGGER tr2_bi BEFORE INSERT ON t1 FOR EACH ROW FOLLOWS tr0_bi SET @a:=2" +"CREATE TRIGGER tr2_bi BEFORE INSERT ON t1 FOR EACH ROW PRECEDES tr0_bi SET @a:=2" "CREATE TRIGGER tr1_bu BEFORE UPDATE ON t1 FOR EACH ROW SET @a:=3" "SELECT trigger_name, action_order FROM information_schema.triggers WHERE trigger_schema='test'" "CREATE TRIGGER tr3_bi BEFORE INSERT ON t1 FOR EACH ROW FOLLOWS tr2_bi SET @a:=3" "CREATE TRIGGER tr2_bu BEFORE UPDATE ON t1 FOR EACH ROW FOLLOWS tr1_bu SET @a:=3" +"CREATE TRIGGER tr2_bu BEFORE UPDATE ON t1 FOR EACH ROW FOLLOWS tr1_bi SET @a:=3" +"CREATE TRIGGER tr2_au AFTER UPDATE ON t1 FOR EACH ROW FOLLOWS tr1_bi SET @a:=3" +"CREATE TRIGGER tr1_au AFTER UPDATE ON t1 FOR EACH ROW FOLLOWS tr1_bu SET @a:=3" +"CREATE TRIGGER tr1_ai AFTER INSERT ON t1 FOR EACH ROW FOLLOWS tr1_bi SET @a:=3" "CREATE TRIGGER tr0_bi BEFORE INSERT ON t1 FOR EACH ROW PRECEDES tr1_bi SET @a:=0" "CREATE TRIGGER tr1_1_bi BEFORE INSERT ON t1 FOR EACH ROW FOLLOWS tr1_bi SET @a:=0" "create table t1 (i int, at int, k int, key(k)) engine=myisam" @@ -97350,6 +110361,12 @@ ORDER BY trigger_name, action_order" "create trigger au after update on t1 for each row set @a:= new.at" "create trigger ad after delete on t1 for each row set @a:= old.at" "alter table t1 drop column at" +"insert into t1 values (2, 1)" +"update t1 set k = 2 where i = 2" +"delete from t1 where i = 2" +"update t1, t2 set k = k + 10 where t1.i = t2.i and k < 3" +"insert into t1 values (3, 4) on duplicate key update k= k + 10" +"replace into t1 values (3, 3)" "CREATE TABLE t1 (id INTEGER) ENGINE=MyISAM" "CREATE TABLE t2 (id INTEGER) ENGINE=MyISAM" "CREATE TRIGGER t1_test AFTER INSERT ON t1 FOR EACH ROW @@ -97374,14 +110391,18 @@ INSERT INTO t2 VALUES (3)" "insert into t1 (a) values (1),(2)" "insert into t1 values(1,2,""test"")" "create temporary table t1 (n int)" +"truncate non_existing_table" "create table t1 (a integer auto_increment primary key)" "insert into t1 (a) values (NULL),(NULL)" "create temporary table t1 (a integer auto_increment primary key)" "insert into t1 (s1) values (1), (2), (3), (4), (5)" +"truncate table v1" "CREATE VIEW v1 AS SELECT t1.c1 FROM t1,t2 WHERE t1.c1 = t2.c1" "INSERT INTO t2 VALUES (1), (3), (4)" +"TRUNCATE v1" "LOCK TABLE t1 WRITE, t2 WRITE, v1 WRITE" "CREATE PROCEDURE p1() SET @a = 5" +"TRUNCATE p1" "SET DEBUG_SYNC='mdl_upgrade_lock SIGNAL waiting'" "SET DEBUG_SYNC='now WAIT_FOR waiting'" "SET DEBUG_SYNC='mdl_acquire_lock_wait SIGNAL waiting'" @@ -97402,6 +110423,7 @@ INSERT INTO t2 VALUES (3)" "select id, ((not a=1) is true) is false from t1 " "explain select id, 3 + (not (a=1 is false)) from t1 " "select id, 3 + (not (a=1 is false)) from t1 " +"create table t1 (s1 binary(3))" "insert into t1 values (0x61), (0x6120), (0x612020)" "create table t1 (s1 binary(2), s2 varbinary(2))" "insert into t1 values (0x4100,0x4100)" @@ -97416,13 +110438,13 @@ INSERT INTO t2 VALUES (3)" "create table t1 (s1 binary(2) primary key)" "insert into t1 values (0x01)" "insert into t1 values (0x0120)" +"insert into t1 values (0x0100)" "select hex(s1) from t1 order by s1" "select hex(s1) from t1 where s1=0x01" "select hex(s1) from t1 where s1=0x0120" "select hex(s1) from t1 where s1=0x0100" "select count(distinct s1) from t1" "create table t1 (s1 varbinary(2) primary key)" -"insert into t1 values (0x0100)" "select hex(cast(0x10 as binary(2)))" "create table t1 (b binary(2), vb varbinary(2))" "insert into t1 values(0x4120, 0x4120)" @@ -97430,6 +110452,8 @@ INSERT INTO t2 VALUES (3)" "create table t1 (c char(2), vc varchar(2))" "insert into t1 values(0x412020, 0x412020)" "set @old_sql_mode= @@sql_mode, sql_mode= 'traditional'" +"insert into t1 values(0x412020, NULL)" +"insert into t1 values(NULL, 0x412020)" "set @@sql_mode= @old_sql_mode" "create table t1(f1 int, f2 binary(2) not null, f3 char(2) not null)" "insert ignore into t1 set f1=1" @@ -97437,6 +110461,8 @@ INSERT INTO t2 VALUES (3)" "select convert(9999999999999999999999999999999999999999999,unsigned)" "select convert('9999999999999999999999999999999999999999999',unsigned)" "select convert(0x9999999999999999999999999999999999999999999,unsigned)" +"create table t1 +select convert(0x9999999999999999999999999999999999999999999,unsigned)" "select 9999999999999999999999999999999999999999999 | 0" "select '9999999999999999999999999999999999999999999' | 0" "select 0x9999999999999999999999999999999999999999999 | 0" @@ -97495,6 +110521,8 @@ WHERE bars.parent_id = X'93222796caba43ca979f5c96eb6898b7'" "select 0 + b'1000000000000000'" "select 0 + b'1111111111111111'" "select 0 + b'1000000000000001'" +"create table t1 (a bit(65)) engine=innodb" +"create table t1 (a bit(0)) engine=innodb" "create table t1 (a bit(64)) engine=innodb" "insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111'), @@ -97504,6 +110532,7 @@ WHERE bars.parent_id = X'93222796caba43ca979f5c96eb6898b7'" (b'0101010101010101010101010101010101010101010101010101010101010101')" "create table t1 (a bit) engine=innodb" "insert ignore into t1 values (b'0'), (b'1'), (b'000'), (b'100'), (b'001')" +"alter table t1 add unique (a)" "create table t1 (a bit(2)) engine=innodb" "insert ignore into t1 values (b'00'), (b'01'), (b'10'), (b'100')" "select a+0 from t1" @@ -97544,7 +110573,6 @@ WHERE bars.parent_id = X'93222796caba43ca979f5c96eb6898b7'" "select hex(a),hex(b) from t1" "select hex(concat(a)),hex(concat(b)) from t1" "create table t1(a int, b bit not null) engine=innodb" -"alter table t1 add primary key (a)" "create table t1 (a bit, b bit(10)) engine=innodb" "create table t1 (a bit(7)) engine=innodb" "insert into t1 values (0x60)" @@ -97562,6 +110590,8 @@ b bit(3) "INSERT IGNORE INTO t_bit (b) SELECT a from t_double" "SELECT HEX(b) FROM t_bit" "DROP TABLE t_double, t_bit" +"create table t1 (a bit(65))" +"create table t1 (a bit(0))" "create table t1 (a bit(64))" "create table t1 (a bit)" "insert into t1 values (b'0'), (b'1'), (b'000'), (b'100'), (b'001')" @@ -97576,9 +110606,7 @@ b bit(3) "create table t1 (a bit(19), b bit(5))" "insert into t1 values (1000, 10), (3, 8), (200, 6), (2303, 2), (12345, 4), (1, 0)" "alter table t1 add key(a, b)" -"create table t2 engine=heap select * from t1" "select a+0, b+0 from t2" -"create table t1 select * from t2" "create table t1 (a int, b time, c tinyint, d bool, e char(10), f bit(1), g bit(1) NOT NULL default 1, h char(1) default 'a')" "insert into t1 set a=1" @@ -97677,6 +110705,9 @@ f2 bit(14) NOT NULL default b'11110000111100' "INSERT INTO t1 (f1) VALUES (DEFAULT)" "INSERT INTO t1 VALUES (b'', b'')" "SELECT HEX(f1), HEX(f2) FROM t1" +"CREATE TABLE IF NOT EXISTS t1 ( +f1 bit(2) NOT NULL default b'' +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci" "create table t1bit7 (a1 bit(7) not null) engine=MyISAM" "create table t2bit7 (b1 bit(7)) engine=MyISAM" "insert into t1bit7 values (b'1100000')" @@ -97726,6 +110757,10 @@ bin(0xFF), oct(0xFF), hex(0xFF)" "create table t3 (a long, b long byte)" "show create TABLE t3" "show create TABLE t4" +"CREATE TABLE t1 (a char(257) default ""hello"")" +"CREATE TABLE t2 (a char(256))" +"CREATE TABLE t1 (a varchar(70000) default ""hello"")" +"CREATE TABLE t2 (a blob default ""hello"")" "insert into t1 values (null,""a"",""A"")" "insert into t1 values (null,""bbb"",""BBB"")" "insert into t1 values (null,""ccc"",""CCC"")" @@ -97889,6 +110924,8 @@ KEY index_name (f1,f2,f5(16)) "insert into t1 (id) values (1)" "select if(imagem is null, ""ERROR"", ""OK""),length(imagem) from t1 where id = 1" "create table t1 (id integer primary key auto_increment, txt text not null, unique index txt_index (txt (20))) charset latin1" +"insert into t1 (txt) values ('Chevy'), ('Chevy ')" +"insert into t1 (txt) values ('Chevy'), ('CHEVY')" "alter table t1 drop index txt_index, add index txt_index (txt(20))" "insert into t1 (txt) values ('Chevy ')" "select * from t1 where txt='Chevy'" @@ -97938,23 +110975,62 @@ KEY index_name (f1,f2,f5(16)) "drop table if exists b15776" "create table b15776 (data blob(2147483647))" "drop table b15776" +"create table b15776 (data blob(-1))",,syntax_error "create table b15776 (data blob(2147483648))" "create table b15776 (data blob(4294967294))" "create table b15776 (data blob(4294967295))" +"create table b15776 (data blob(4294967296))" "CREATE TABLE b15776 (a blob(2147483647), b blob(2147483648), c blob(4294967295), a1 text(2147483647), b1 text(2147483648), c1 text(4294967295) )" "show columns from b15776" +"CREATE TABLE b15776 (a blob(4294967296))" +"CREATE TABLE b15776 (a text(4294967296))" +"CREATE TABLE b15776 (a blob(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999))" +"CREATE TABLE b15776 (a text(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999))" "CREATE TABLE b15776 (a int(0))" "INSERT INTO b15776 values (NULL), (1), (42), (654)" "SELECT * from b15776 ORDER BY a" "DROP TABLE b15776" +"CREATE TABLE b15776 (a int(-1))",,syntax_error "CREATE TABLE b15776 (a int(255))" +"CREATE TABLE b15776 (a int(256))" +"CREATE TABLE b15776 (data blob(-1))",,syntax_error +"CREATE TABLE b15776 (a char(2147483647))" +"CREATE TABLE b15776 (a char(2147483648))" +"CREATE TABLE b15776 (a char(4294967295))" +"CREATE TABLE b15776 (a char(4294967296))" +"CREATE TABLE b15776 (a year(4294967295))" "CREATE TABLE b15776 (a year(4))" "INSERT INTO b15776 VALUES (42)" "SELECT * FROM b15776" +"CREATE TABLE b15776 (a year(4294967296))" +"CREATE TABLE b15776 (a year(0))" +"CREATE TABLE b15776 (a year(-2))",,syntax_error +"CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999))" +"CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999))" +"CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999))" +"CREATE TABLE b15776 select cast(null as char(4294967295))" +"CREATE TABLE b15776 select cast(null as nchar(4294967295))" "CREATE TABLE b15776 select cast(null as binary(4294967295))" +"explain select cast(1 as char(4294967295))" +"explain select cast(1 as nchar(4294967295))" "explain select cast(1 as binary(4294967295))" +"explain select cast(1 as char(4294967296))" +"explain select cast(1 as nchar(4294967296))" +"explain select cast(1 as binary(4294967296))" +"explain select cast(1 as decimal(-1))",,syntax_error "explain select cast(1 as decimal(64, 30))" +"explain select cast(1 as decimal(64, 999999999999999999999999999999))",,syntax_error +"explain select cast(1 as decimal(4294967296))" +"explain select cast(1 as decimal(999999999999999999999999999999999999))" +"explain select convert(1, char(4294967295))" +"explain select convert(1, char(4294967296))" +"explain select convert(1, char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999))" +"explain select convert(1, nchar(4294967295))" +"explain select convert(1, nchar(4294967296))" +"explain select convert(1, nchar(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999))" "explain select convert(1, binary(4294967295))" +"explain select convert(1, binary(4294967296))" +"explain select convert(1, binary(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999))" "CREATE TABLE t1(id INT NOT NULL)" "CREATE TABLE t2(id INT NOT NULL, c TEXT NOT NULL)" "INSERT INTO t2 VALUES (1, '')" @@ -97978,10 +111054,25 @@ ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'))" "SET @g1 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"SELECT c1,ST_Astext(c4) FROM tab WHERE c4<@g1" "SELECT c1,ST_Astext(c4) FROM tab WHERE c4=ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"SELECT c1,ST_Astext(c4) FROM tab WHERE c4>@g1+3" +"SELECT * FROM tab WHERE c2+4 > 5" +"SELECT * FROM tab WHERE c3-4 > 5" +"SELECT * FROM tab WHERE c4*4 > 5" +"SELECT * FROM tab WHERE c5/4 > 5" +"SELECT * FROM tab WHERE c3%4 > 5" +"SELECT * FROM tab WHERE c3 DIV 4 > 5" "select count(*) from tab" "select count(distinct c2) from tab" +"select sum(c2) from tab" +"select sum(distinct c2) from tab" +"select avg(c2) from tab" +"select avg(distinct c2) from tab" +"select min(c2) from tab" +"select max(c2) from tab" +"select std(c2) from tab" "drop table tab" "set @g1 = 1" "set @g2 = 2" @@ -97991,10 +111082,56 @@ c4=ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" "select @g1 + @g2" "SET @g2 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" "select @g1=ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1+ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1-ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1*ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1/ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1%ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select 42 / ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"select 42 + ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')" +"select -(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select @g1 > ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1 >= ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1 < ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1 <= ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" "select @g1 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" "select @g1 != ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select @g1 between @g1 and ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" +"select least(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'), +ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select greatest(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'), +ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select abs(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select acos(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select asin(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select atan(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select atan2(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select ceil(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select ceiling(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select conv(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'), 2, 10)" +"select cos(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select cot(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" "select crc32(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select degrees(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select exp(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select floor(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select format(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'), 5)" "select hex(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select ln(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select log(2, ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select log2(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select log10(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select mod(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'), 7)" +"select pow(2, ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select power(2, ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select radians(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select rand(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select round(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select sign(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select sin(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select sqrt(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select tan(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'))" +"select truncate(ST_GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'),0)" "select @g1=@g2" "set @g1 = 'abc'" "set @g2 = 'def'" @@ -98009,6 +111146,7 @@ c4=ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')" "INSERT INTO t1(c1) VALUES(0)" "INSERT INTO t1(c1) VALUES(0) ON DUPLICATE KEY UPDATE c2 = VALUES(c2), c3 = NULL" +"create table t1 (a text, unique (a(2100))) engine=myisam" "create table t1 (a text, key (a(2100))) engine=myisam" "create table t1 (a char(16), b date, c datetime)" "insert into t1 SET a='test 2000-01-01', b='2000-01-01', c='2000-01-01'" @@ -98091,10 +111229,14 @@ FROM t1,t2 GROUP BY t1.AFIELD" "SELECT * FROM t1 WHERE a = '0000-00-00'" "SELECT * FROM t2 WHERE a = '0000-00-00'" "SET SQL_MODE=TRADITIONAL" +"EXPLAIN SELECT * FROM t1 WHERE a = '0000-00-00'" +"INSERT INTO t1 VALUES ('0000-00-00')" "INSERT IGNORE INTO t1 VALUES ('1000-00-00'),('1000-00-00')" "INSERT IGNORE INTO t2 VALUES ('1000-00-00'),('1000-00-00')" "SELECT * FROM t1 WHERE a = '1000-00-00'" "SELECT * FROM t2 WHERE a = '1000-00-00'" +"EXPLAIN SELECT * FROM t1 WHERE a = '1000-00-00'" +"INSERT INTO t1 VALUES ('1000-00-00')" "CREATE TABLE t1 SELECT curdate() AS f1" "SELECT hour(f1), minute(f1), second(f1) FROM t1" "create table t1 (a date, primary key (a))engine=memory" @@ -98130,6 +111272,9 @@ MAKEDATE(1970, 1) AS f2" "INSERT INTO t1 VALUES (TIMESTAMP'2001-01-01 23:59:59.9')" "INSERT INTO t1 VALUES (20010101235959.9)" "INSERT INTO t1 VALUES (TIME'23:59:59.9')" +"INSERT INTO t1 VALUES +(TIMESTAMP'9999-12-30 23:59:59.9'), +(TIMESTAMP'9999-12-31 23:59:59.9')" "CREATE TABLE t1 (a DECIMAL(23,4))" "INSERT INTO t1 VALUES (NULL),(101010.9999),(-101010.9999)" "SELECT a, CAST(a AS DATE) FROM t1" @@ -98154,15 +111299,20 @@ MAKEDATE(1970, 1) AS f2" "SELECT * FROM t1 WHERE LAST_DAY((SELECT b FROM t2 WHERE b = '0000-00-00 00:00:00')) IS NULL" "SET @@sql_mode='NO_ZERO_DATE,STRICT_ALL_TABLES'" +"CREATE TABLE t1 (c1 DATE DEFAULT 0)" +"CREATE TABLE t1 (c1 DATE DEFAULT '0000-00-00')" "SET @@sql_mode='NO_ZERO_IN_DATE,STRICT_ALL_TABLES'" +"CREATE TABLE t1 (c1 DATE DEFAULT '2012-02-00')" "SET @@sql_mode='NO_ZERO_DATE'" -"CREATE TABLE t1 (c1 DATE DEFAULT 0)" "CREATE TABLE t2 (c1 DATE DEFAULT '0000-00-00')" "SET @@sql_mode='NO_ZERO_IN_DATE'" "CREATE TABLE t3 (c1 DATE DEFAULT '2012-02-00')" "ALTER TABLE t1 ADD c2 DATE DEFAULT 0" +"ALTER TABLE t1 ADD c2 DATE DEFAULT '0000-00-00'" +"ALTER TABLE t1 ADD c2 DATE DEFAULT '2012-02-00'" "ALTER TABLE t1 ADD c3 DATE DEFAULT '0000-00-00'" "ALTER TABLE t1 ADD c4 DATE DEFAULT '2012-02-00'" +"INSERT INTO t1 VALUE(15.00+adddate('2011-00-00', 1))" "set @d_str = '2020-01-01'" "set @t_str = '01:01:01'" "set @dt_str = '2020-01-01 01:01:01'" @@ -98256,6 +111406,9 @@ b VARCHAR(10) CHARSET latin1)" "insert into t1 values ('2007-03-23 13:49:38','2007-03-23 13:49:38')" "insert into t1 values ('2007-03-23 13:49:38','2007-03-23 13:49:38')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "insert into t1 set dt='2007-03-23 13:49:38',da=dt","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"insert into t1 values ('2007-03-32','2007-03-23 13:49:38')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"create table t1 (da date default '1962-03-32 23:33:34', dt datetime default '1962-03-03')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"create table t1 (t time default '916:00:00 a')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create table t1 (f1 date, f2 datetime, f3 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)" "insert into t1(f1) values(curdate())" "select curdate() < now(), f1 < now(), cast(f1 as date) < now() from t1" @@ -98388,6 +111541,7 @@ CAST('NULL' AS DATE) < CAST('NULL' AS DATE) n9" "SELECT CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime) AS DECIMAL(30,7))" "CREATE TABLE t1 (dt1 DATETIME)" "INSERT IGNORE INTO t1 (dt1) VALUES ('0000-00-01 00:00:01')" +"DELETE IGNORE FROM t1 WHERE dt1 = '0000-00-01 00:00:01'" "CREATE TABLE t1 (Id INT, AtTime DATETIME, KEY AtTime (AtTime))" "SET NAMES CP850" "INSERT INTO t1 VALUES (1,'2010-04-12 22:30:12'), (2,'2010-04-12 22:30:12'), (3,'2010-04-12 22:30:12')" @@ -98425,9 +111579,13 @@ WHERE t1_2.a IS NULL AND t1_2.b < 2'" "INSERT INTO t1 VALUES (20010101101010.9999994), (20010101101010.9999995)" "DROP TABLE if EXISTS t1, t2, t3" "CREATE TABLE t1 (c1 DATETIME DEFAULT 0)" +"CREATE TABLE t1 (c1 DATETIME DEFAULT '0000-00-00 00:00:00')" +"CREATE TABLE t1 (c1 DATETIME DEFAULT '2012-02-00 12:12:12')" "CREATE TABLE t2 (c1 DATETIME DEFAULT '0000-00-00 00:00:00')" "CREATE TABLE t3 (c1 DATETIME DEFAULT '2012-02-00 12:12:12')" "ALTER TABLE t1 ADD c2 DATETIME DEFAULT 0" +"ALTER TABLE t1 ADD c2 DATETIME DEFAULT '0000-00-00'" +"ALTER TABLE t1 ADD c2 DATETIME DEFAULT '2012-02-00'" "ALTER TABLE t1 ADD c3 DATETIME DEFAULT '0000-00-00'" "ALTER TABLE t1 ADD c4 DATETIME DEFAULT '2012-02-00'" "CREATE TABLE test.t(col_varchar_nokey VARCHAR(1) NOT NULL, @@ -98435,7 +111593,29 @@ col_time_nokey time NOT NULL, col_int_nokey INT NOT NULL, col_datetime_key datetime not null, key(col_datetime_key)) ENGINE= InnoDB" +"DELETE FROM test.t WHERE `col_int_nokey` > `col_int_nokey` +AND TIMESTAMP( '18:16:35.025453' ) IS NULL" +"UPDATE test.t SET `col_varchar_nokey` = TIMESTAMP(`col_time_nokey`,'00:00:00') +WHERE `col_int_nokey` > `col_int_nokey` +AND TIMESTAMP('18:16:35.025453') IS NULL" "INSERT INTO t VALUES('x', CURRENT_TIME(), 0, CURRENT_TIMESTAMP())" +"UPDATE test.t SET `col_datetime_key` = `col_datetime_key` WHERE +`col_datetime_key` <=> FROM_UNIXTIME(1151860736,CONCAT_WS(':','%D','%v'))" +"do is_ipv4_mapped(bin(maketime(11111,exp(repeat('1',32)),'')))" +"do ifnull((bin_to_uuid(uuid_to_bin(date_format('7088-02-14' +,0xabbd95)))),(maketime('4678-07-20 03:51:44.174847',1,'b')))" +"do ucase(insert(maketime(9.565398e+307 ,'', +st_longfromgeohash(('4358-04-12 03:45:08.727399'))), +0xdc0823,6756,release_all_locks()))" +"do soundex(maketime(cast((2530967061762658367) as decimal), +exp(repeat('1',32)),((period_add(579349005,27636))xor (sha(current_user)))))" +"do st_mlinefromtext( +maketime( +now(), +instr(1,pow(15270551309908264860,100)), +31 +) +)" "CREATE TABLE t1 ( col_datetime_1_not_null datetime NOT NULL, col_datetime_2_not_null datetime NOT NULL @@ -98705,6 +111885,10 @@ UNIQUE datatype_id (datatype_id, min_value, max_value) "create table t1(a decimal(10,0))" "insert into t1 values (""1e4294967295"")" "insert into t1 values(""1e4294967297"")" +"CREATE TABLE t1 (a_dec DECIMAL(-1,0))",,syntax_error +"CREATE TABLE t1 (a_dec DECIMAL(-2,1))",,syntax_error +"CREATE TABLE t1 (a_dec DECIMAL(-1,1))",,syntax_error +"CREATE TABLE t1 (a_dec DECIMAL(0,11))" "create table t1(a decimal(7,3))" "insert into t1 values ('1'),('+1'),('-1'),('0000000001'),('+0000000001'),('-0000000001'),('10'),('+10'),('-10'),('0000000010'),('+0000000010'),('-0000000010'),('100'),('+100'),('-100'),('0000000100'),('+0000000100'),('-0000000100'),('1000'),('+1000'),('-1000'),('0000001000'),('+0000001000'),('-0000001000'),('10000'),('+10000'),('-10000'),('0000010000'),('+0000010000'),('-0000010000'),('100000'),('+100000'),('-100000'),('0000100000'),('+0000100000'),('-0000100000'),('1000000'),('+1000000'),('-1000000'),('0001000000'),('+0001000000'),('-0001000000'),('10000000'),('+10000000'),('-10000000'),('0010000000'),('+0010000000'),('-0010000000'),('100000000'),('+100000000'),('-100000000'),('0100000000'),('+0100000000'),('-0100000000'),('1000000000'),('+1000000000'),('-1000000000'),('1000000000'),('+1000000000'),('-1000000000')" "create table t1(a decimal(7,3) unsigned)" @@ -98725,6 +111909,7 @@ HOURS BIGINT)" "create table t1 (d decimal(64,0))" "create table t1 (d decimal(5))" "create table t1 (d decimal)" +"create table t1 (d decimal(66,0))" "CREATE TABLE t1 (i INT, d1 DECIMAL(9,2), d2 DECIMAL(9,2))" "INSERT INTO t1 VALUES (1, 101.40, 21.40), (1, -80.00, 0.00), (2, 0.00, 0.00), (2, -13.20, 0.00), (2, 59.60, 46.40), @@ -98855,6 +112040,7 @@ WHERE CONCAT(t1.col1, CAST(subq.col0 AS DECIMAL))" "SELECT CAST(9.9 AS SIGNED INTEGER) AS f" "SELECT 1 < ALL(VALUES ROW(2),ROW(CAST(3 AS DECIMAL))) FROM DUAL" "SELECT 1 < ALL(VALUES ROW(2),ROW(3.0)) FROM DUAL" +"DROP TABLE if exists t1" "CREATE TABLE t1 ( field enum('001001','001004','001010','001018','001019','001020','001021','001027','001028','001029','001030','001031','001100','002003','002004','002005','002007','002008','002009','002012','002013','002014','003002','003003','003004','003005','003006','003007','003008','003009','003010','003011','003012','003013','003014','003015','003016','003017','003018','003019','004002','004003','004005','004006','004007','004008','004010','004012','004014','004016','004017','004020','004021','004022','004023','004024','004025','004026','006002','006004','006006','006010','006011','006012','006013','006014','007001','007002','007003','007004','007005','007006','007007','007008','007009','007010','007011','007012','007013','007014','007015','007016','007017','007018','007019','007020','007021','007022','007023','007024','007025','007026','007027','007028','007029','007030','007031','007032','007033','007034','007035','007036','007037','007038','007039','007040','007043','007044','009001','009002','009004','009005','009006','009007','009008','009009','009010','009011','009012','009013','010002','010003','010004','010005','010006','010007','010008','010009','010010','010011','010012','010013','010015','010016','010017','010018','010019','010020','010021','010022','010023','010024','010025','010026','010027','010028','011001','011002','011003','011004','011006','011012','011013','011014','011015','011016','012017','012018','012019','012023','012027','012028','012029','012030','012031','012032','012033','012034','012035','012036','012037','012038','012039','014001','016002','016003','016004','016007','016010','016011','016016','016019','016020','016021','016022','016023','016024','016026','016027','016028','016029','016030','016031','016032','016033','016034','017002','018001','019002','019004','020001','020003','020004','020005','020006','020007','020008','020009','022001','022002','022003','023001','023002','023003','023004','023005','023006','023007','023008','023010','023011','023012','023017','023019','023020','023021','023025','023026','023027','023028','023029','023030','023031','023032','023033','023034','023035','025001','025003','025004','025005','025006','025007','025008','025009','025010','025011','025012','025013','025014','025015','025016','025017','025018','025019','025020','025021','025022','025023','025024','025025','025026','025027','025028','025029','025030','025031','025032','025033','025034','025035','025036','025037','025038','025039','025040','025041','025042','025043','025044','025045','025046','025047','025048','025049','025050','025051','025052','025053','025054','025055','025056','025057','025058','025059','025060','025061','025062','025063','027001','027002','027011','035008','035012','036001','037001','037003','037004','037005','037006','037007','037008','037009','038004','038005','038006','038007','038009','039001','039002','039003','039004','039005','039006','046001','046002','046003','046004','046005','046007','046008','046009','046010','046011','046012','046013','046014','047001','047002','048001','051001','051002','051003','051004','052001','052002','052005','053015','053016','053019','053020','053023','053024','053026','053028','053029','053033','053034','053036','053037','053038','053039','053041','053042','053043','053045','053046','053047','053048','053051','053052','053054','053055','053056','053057','053068','053069','053070','053073','053074','053075','053086','053094','053095','053096','053097','053098','053099','053100','053101','053102','053103','053104','053105','053107','053122','053123','053124','053125','053127','053128','054001','054002','054003','054004','054005','054006','054007','054009','054010','056001','056002','056003','056004','056005','056006','056009','056010','056011','056016','056017','056018','056019','056020','056021','056022','057001','057002','057003','057004','058002','058003','058004','058005','060001','060003','060004','060005','060006','060007','061002','061003','061004','061005','061006','069006','069007','069010','069011','069012','069013','069014','069015','069016','069017','069018','069020','069021','069022','069023','069024','071002','071003','071004','071005','071006','071008','071011','071013','071020','071021','071022','072001','073001','073002','073003','073004','074001','074002','074003','074004','074005','074006','074007','074008','074009','074010','074011','074012','075001','075007','076101','076102','076103','077001','077002','077003','077004','077006','077007','077008','077009','078005','079002','079003','079004','079005','079006','079007','081001','082006','082007','082011','082013','082014','082015','082016','082017','082021','082022','082023','082024','082025','082026','082027','082028','082029','082030','082031','082032','082033','082034','082035','082036','082037','082038','082039','082040','082041','082042','082043','082044','084001','084002','084003','084004','084005','084007','084008','084009','084011','084013','084014','084016','084017','084027','084031','084032','084033','084035','084036','084037','084038','084039','084040','084041','084042','084043','084044','084045','084046','084047','084048','084049','084050','084051','085001','085002','085003','085004','085005','085006','085007','085009','085011','085012','085013','085014','085015','085016','085017','085018','085019','085020','085021','085022','085023','085028','085029','085030','085031','085033','085034','085035','085036','085037','085038','085040','085041','085042','085043','085044','085045','085046','085047','085048','085063','085064','085065','085068','085070','085071','085073','085082','085083','085086','085088','085089','085090','085091','085092','085093','085094','085095','085096','085097','085098','085099','085100','085101','085102','085103','085104','085105','085106','085107','085108','085109','085110','085111','085112','085113','085115','085119','085120','085121','085122','085123','085124','085125','085126','085127','085128','085129','085130','085132','085133','085134','085135','085136','085137','086001','086002','086003','086004','086005','088001','088003','088005','088006','088007','088008','088009','089001','090001','090002','090003','090004','090005','090006','090007','090008','090009','090010','090013','090015','090016','090017','090018','090019','090022','090027','090028','091001','091002','091005','091008','091009','091010','091011','091012','091013','091014','091015','091016','091017','091018','093001','093003','093098','093100','093102','093104','093141','093142','093146','093151','093153','093167','093168','093176','094001','094002','094004','094005','095004','099001','099002','100001','101001','102002','102003','105001','105002','106001','113001','113002','113003','113004','113005','113006','113007','113008','113009','113010','113011','113012','113013','113014','113015','113016','113017','113018','113019','113020','113021','113022','113023','113024','113025','113026','113027','113028','114001','115001','115002','115003','115004','115005','115006','115007','115008','115009','115010','115011','115012','115013','115014','115015','115016','115017','115018','115020','115021','115022','115023','115025','115026','115027','115028','115029','115030','115031','115032','115033','115034','115035','115036','115039','115040','115041','115042','115043','115044','115045','115046','115047','115048','115049','115050','115051','115052','115053','115054','115055','115056','115057','115059','115060','115061','115062','115063','115064','115065','115066','115067','115068','115069','115070','115071','115072','115073','115075','115076','115081','115082','115085','115086','115087','115088','115095','115096','115097','115098','115099','115101','115102','115103','115104','115105','115106','115108','115109','115110','115111','115112','115113','115114','115115','115116','115117','115118','115119','115120','115121','115122','116001','116002','116003','116004','116005','116006','116007','116008','116009','116010','116011','116012','117001','117002','117003','123001','124010','124014','124015','124019','124024','124025','124026','124027','124028','124029','124030','124031','124032','124033','124035','124036','124037','124038','124039','124040','124041','124042','124043','124044','124045','124046','124047','124048','124049','124050','124051','124052','124053','124054','124055','124056','124057','124058','124059','124060','124061','124062','124063','124064','124065','126001','126002','126003','126004','126005','126006','126007','126008','126009','126010','126011','126012','130001','132001','132002','132003','133001','133008','133009','133010','133011','133012','133013','133014','133015','133016','133017','133018','133019','133020','133021','133022','133023','133024','133025','133027','133028','133029','133030','133031','134001','135001','135002','135003','135004','135005','135006','135007','135008','135009','135010','136001','137009','137010','137011','137012','137013','137014','137015','137016','137017','137018','137019','138001','138002','138003','138004','139001','139003','140001','141001','141002','141003','141006','141007','141008','141009','141011','141012','141014','141015','141016','141017','141018','141019','141020','141021','141022','141023','141024','141025','141026','141027','141028','142001','142002','142003','142004','142005','142006','142007','142008','142010','142011','142012','144001','145001','145002','145003','145004','145005','145006','145007','145008','145009','145010','145011','145012','145013','145014','145015','145016','147001','150003','150005','150009','150013','150014','150015','150016','150017','150020','150021','152001','152002','152003','152004','152005','152006','152007','154001','154002','154003','155001','155002','155003','155004','155005','155006','159001','159002','159003','159004','160001','160002','160003','161001','162001','162002','162003','162004','162007','162010','162011','162012','163001','163002','163003','163005','163010','163011','163014','163015','163016','165001','165002','165003','165004','165005','165006','165007','165008','165009','165010','165011','165012','165013','165014','165015','165016','165017','165018','165019','165020','165021','165022','165023','165024','165025','165026','165027','165028','165029','165030','165031','165032','165033','165034','165035','165036','167001','168001','168002','168003','168004','168005','168007','168008','168009','168010','168011','168012','168013','168014','169001','169002','169003','169007','169008','169009','169010','170001','171001','171002','171003','171004','171005','171006','171007','171008','171009','172001','174001','174002','174003','176001','176002','176003','177001','177002','179001','179002','179003','179004','179005','179006','179007','179008','179009','179010','179011','179012','179013','179014','179015','179016','179017','179018','179019','179020','179021','179022','179023','179024','179025','179026','179027','179028','179029','179030','179031','179032','179033','179034','179035','179036','179037','179038','179039','179040','179041','179042','179043','179044','179045','179046','179047','180001','180010','180012','180013','180014','180015','180016','180017','180018','180019','180020','180021','180022','180023','180024','180025','180026','180027','180028','180030','180031','180032','180033','180034','180035','180036','180037','180038','180039','180041','180042','180043','180044','180045','180046','180047','180048','180049','180050','180051','180052','180053','180054','180055','180056','180057','180058','180059','180060','180061','180062','180063','180064','180065','180066','180067','180068','180069','180070','180071','182001','184001','184002','184005','184006','184007','184008','184009','184010','184011','185001','185003','187001','188001','188002','188003','188004','188005','188006','188007','188008','188009','188010','188011','191001','191002','192002','194001','194002','194003','194004','194005','194006','194007','195001','195002','195003','195004','195005','195006','195007','196001','196002','197001','197002','197003','197004','197005','197006','198001','198003','198004','198005','198006','198007','198008','198009','198010','198011','198012','198013','198014','198015','198016','198017','201001','201002','201005','202001','203001','203002','203003','203017','203018','203019','204001','204002','204003','205001','208001','208002','208003','208004','208005','209001','209002','209003','210001','210002','210003','210004','210005','210006','210007','210008','210009','210010','210011','210012','210013','211017','212001','212002','212003','212004','212005','212006','212007','212008','212009','212010','212011','212012','212013','218001','218003','218004','218006','218007','218008','218009','218011','218015','218016','218017','218018','218019','218020','218021','218022','218023','218024','218025','218026','218027','218028','218029','218030','218031','218032','218033','218034','218035','218036','221001','221002','221003','221004','221005','221006','221007','221008','221009','221010','221011','221012','221013','223001','223002','223003','224001','224002','224003','224006','224007','224008','225001','225002','225003','225004','225005','225006','225007','225008','225009','225010','225011','225012','225013','226001','226002','226003','226004','226005','226006','226007','226008','226009','227001','227002','227003','227004','227005','227006','227007','227008','227009','227010','227011','227012','227013','227014','227015','227016','227017','227018','227019','227020','227021','227022','227023','227024','227025','227026','227027','227028','227029','227030','227031','227032','227033','227034','227035','227036','227037','227038','227039','227040','227041','227042','227043','227044','227045','227046','227047','227048','227049','227050','227051','227052','227053','227054','227055','227056','227057','227058','227059','227060','227061','227062','227063','227064','227065','227066','227067','227068','227069','227070','227071','227072','227073','227074','227075','227076','227077','227078','227079','227080','227081','227082','227083','227084','227085','227086','227087','227088','227089','227090','227091','227092','227093','227094','227095','227096','227097','227098','227099','227100','227101','227102','227103','227104','227105','227106','227107','227108','227109','227110','227111','227112','227113','227114','227115','227116','227117','227118','227119','227120','227122','227123','227124','227125','227126','227127','227128','227129','227130','227131','227132','227133','227134','227135','227136','227137','227138','227139','227140','227141','227142','227143','227144','227145','227146','227147','227148','227149','227150','227151','227152','228001','229001','229002','229003','229004','229005','230001','230002','232001','233001','233002','233003','233004','233005','233006','233007','233008','234001','234002','234003','234004','234005','234006','234007','234008','234009','234010','234011','234012','234013','234014','234015','234016','234017','234018','234019','234020','234021','234022','234023','234024','234025','234026','234027','234028','234029','234030','235001','235002','235003','235004','235005','236001','236002','236003','237001','238002','238003','238004','238005','238006','238007','238008','333013','333014','333015','333016','333017','333018','333019','333020','333021','333022','333023','333024','333025','333030','333031','333032','333033','333034','333035','334001','334002','334003','334004','334005','334006','334007','336004','337001','337002','337003','337004','339001','339002','343001','344001','344002','344003','344004','344005','345001','345002','345003','347001','347002','348001','348002','348003','348004','348005','349001','349002','349003','350001','353001','353002','353003','353004','355001','355002','355003','355004','355005','355006','356001','358001','359001','359002','360001','360002','360003','360004','360005','366001','366002','366003','366004','369001','373001','373002','373003','373004','373005','373006','373007','373008','373009','373010','373011','373012','373013','373014','373015','373016','373017','373018','373019','373020','373021','374001','374002','374003','374004','374005','374006','374007','374008','374009','374010','374011','374012','374013','374014','374015','374016','376001','376002','376003','376004','376005','376006','376007','376008','376009','376010','376011','376012','376013','376016','376017','376018','376019','376020','376021','379003','382001','382002','383001','384001','384002','385001','385002','386001','386002','386003','386004','386005','386006','386007','386008','386009','386010','386011','386012','386013','386014','387001','389001','389002','389003','389004','392001','393001','393002','393003','393004','395001','396001','397001','397002','399001','399002','399003','400001','400002','401001','401002','401003','402001','402002','402003','402004','402005','403001','403002','403003','504001','504002','504004','504005','504006','504007','504008','504009','504010','504011','504012','504013','504014','504017','504018','504019','504021','504022','504023','504024','504025','506001','506002','508001','508002','511001','511002','511003','511004','511005','511006','511007','511008','511009','511010','511011','511012','511013','511014','511017','511018','511020','511021','511022','511024','511028','511029','513001','513002','513003','513004','514001','515001','515002','515003','515007','515008','515009','515010','515011','515012','515013','515014','515015','518001','518002','518003','520001','520002','521001','521002','521003','521004','521005','521006','521007','521008','521009','521010','521011','521012','521013','521014','521015','521016','523001','523002','523003','523004','523005','523006','523007','524001','700001','701001','701002','701003','702001','702002','702003','702004','702005','702006','702007','702008','703001','703002','703003','704001','704002','704003','704004','705001','706001','706002','707001','707002','707003','708001','709001','709002','710001','710002','711001','711002','712001','713001','713002','714001','714002','715001','716001','718001','718002','719001','719002','991001','991002','991003','991004','991005','991006','991007','991008','992001','995001','996001','996002','996003','998001','998002','998003','998004','998005','998006','998007','999001','999002','011017','011018','034001','034002','071010','208006','239001','519001','519003','126013','184012','053071','374017','374018','374019','374020','374021','404001','405002','405001','405003','405007','405006','405005','405004','240011','240010','240009','240008','240007','240006','240005','240004','240003','240002','240001','240012','240013','240014','240015','240016','240017','357001','235006','235007','712002','355008','355007','056023','999999','046015','019005','126014','241003','241002','241001','240018','240020','240019','242001','242002','242003','242004','242005','242006','089002','406001','406002','406003','406004','406005','406006','243001','243002','243003','243004','243005','243006','243007','243008','010030','010029','407001','407006','407005','407004','407003','407002','408001','366005','133032','016035','077010','996004','025064','011019','407007','407008','407009','409001','115123','504026','039007','039009','039008','039010','039011','039012','180072','240021','240023','408002','405008','235008','525001','525002','525003','525004','410001','410002','410003','410004','410005','410006','410007','410008','410009','410010','410011','410012','410013','410014','410015','410016','344006','240031','240030','240029','240028','240027','240026','240025','240024','240034','240033','240032','410017','410018','411001','411002','411003','411004','411005','411006','411007','411008','203020','203021','203022','412001','412002','412003','412004','069025','244001','244002','244009','244008','244007','244006','244005','244004','244003','244015','244014','244013','244012','244011','244010','244016','244017','240042','240041','240040','240039','240038','240037','240036','240035','405009','405010','240043','504034','504033','504032','504031','504030','504029','504028','504027','504042','504041','504040','504039','504038','504037','504036','504035','800001','410019','410020','410021','244018','244019','244020','399004','413001','504043','198018','198019','344007','082045','010031','010032','010033','010034','010035','504044','515016','801002','801003','801004','801005','802001','801001','414001','414002','414003','141029','141030','803001','803002','803003','803004','803005','803006','803007','803008','803009','803010','803011','803012','803013','803014','803015','803016','803017','410022','410023','803018','803019','803020','415002','415001','244021','011020','011023','011022','011021','025065','165037','165038','165039','416001','416002','416003','417001','418001','504045','803022','803021','240022','419001','420001','804010','804009','804008','804007','804006','804005','804004','804003','804002','804001','804020','804019','804018','804017','804016','804015','804014','804013','804012','804011','804024','804021','804023','804022','511019','511016','511015','511032','511031','511030','511027','511026','511025','511033','511023','133034','133033','169011','344008','344009','244022','244026','244025','244030','244023','244024','244027','244028','244029','244031','082046','082047','082048','126015','126016','416004','416005','421001','421002','016037','016036','115124','115125','115126','240049','240048','240047','240046','240045','240044','244032','244033','422001','422002','422003','422004','422005','184013','239002','805001','805002','805003','805004','805005','056024','423001','344010','235009','212014','056025','056026','802002','244034','244035','244036','244037','244038','244039','515017','504046','203015','245002','245001','071023','056027','056028','056029','056030','056031','056032','424001','056034','056033','805006','805007','805008','805009','805010','422008','422007','422006','422010','422009','422011','209004','150022','150023','100002','056035','023036','185004','185005','246001','247001','247002','425001','416006','165042','165041','165040','165043','010040','010039','010038','010037','010036','422012','422013','422014','422015','426000','248001','248002','248003','248004','248005','249001','249002','249003','249004','249005','249006','250007','250001','250002','250003','250004','250005','250006','250008','250009','250010','250011','250012','250013','251001','251002','422016','422017','422018','806001','806002','116013','235010','235011','091026','091027','091028','091029','091019','091020','091021','091022','091023','091024','091025','252001','243009','249007','249008','249009','011024','011025','427001','428002','428001','169012','429001','429002','429003') DEFAULT '001001' NOT NULL, KEY field (field) @@ -98888,6 +112074,7 @@ a ENUM('ä','ö','ü') character set latin1 default 'ü' "alter table t1 add b set ('Y','N') CHARACTER SET utf8mb3 COLLATE utf8mb3_bin" "alter table t1 add c enum ('Y','N') CHARACTER SET utf8mb3 COLLATE utf8mb3_bin" "create table t1 (a enum('x','y') default 'x')" +"alter table t1 alter a set default 'z'" "create table t1 (a set('x','y') default 'x')" "alter table t1 add f2 enum(0xFFFF)" "create table t1(russian enum('E','F','EÿF','FÿE') NOT NULL DEFAULT'E')" @@ -98915,11 +112102,21 @@ c1 ENUM('a', '', 'b') "CREATE TABLE t1(exhausting_charset enum( 'zz‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ')) CHARSET=utf8mb4" +"CREATE TABLE t1(exhausting_charset enum( +'zz‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ +zz‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ')) +CHARSET=utf8mb4" "CREATE PROCEDURE p1(exhausting_charset enum( 'zz‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ') CHARACTER SET utf8mb4) BEGIN END" +"CREATE PROCEDURE p1(exhausting_charset enum( +'zz‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ +zz‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ') +CHARACTER SET utf8mb4) +BEGIN +END" "set session optimizer_switch=""derived_merge=off""" "set session internal_tmp_mem_storage_engine=temptable" "show function status" @@ -98993,9 +112190,11 @@ b enum('N','Y') "create table t1 (a float)" "select max(a),min(a),avg(a) from t1" "create table t1 (f float, f2 float(24), f3 float(6,2), d double, d2 float(53), d3 double(10,3), de decimal, de2 decimal(6), de3 decimal(5,2), n numeric, n2 numeric(8), n3 numeric(7,6))" +"create table t1 (a float(200,100), b double(200,100))" "create table t1 (c20 char)" "insert into t1 values (5000.0)" "insert into t1 values (0.5e4)" +"create table t1 (f float(54))" "create table t1 (d1 double, d2 double unsigned)" "insert into t1 set d1 = -1.0" "update t1 set d2 = d1" @@ -99032,6 +112231,8 @@ b enum('N','Y') "select sum(b) s from t1 group by a having s <=> 0" "select sum(b) s from t1 group by a having s <=> 0 order by s" "alter table t1 add key (a, b)" +"create table t1 (s1 float(0,2))" +"create table t1 (s1 float(1,2))" "CREATE TABLE t1 ( f1 real zerofill, f2 double zerofill, @@ -99051,6 +112252,7 @@ f3 float zerofill)" "CREATE TABLE d1 (d DOUBLE)" "INSERT INTO d1 VALUES (1.7976931348623157E+308)" "SELECT * FROM d1" +"INSERT INTO d1 VALUES (1.79769313486232e+308)" "DROP TABLE d1" "create table t1 (a char(20))" "insert into t1 values (1.225e-05)" @@ -99072,13 +112274,20 @@ f3 float zerofill)" "SELECT * FROM t1 ORDER BY f" "CREATE TABLE t5u(c1 FLOAT(58,0) UNSIGNED NOT NULL)" "CREATE TABLE t5s(c1 FLOAT(58,0) SIGNED NOT NULL)" +"INSERT INTO t5u VALUES('1e+52')" +"INSERT INTO t5s VALUES('-1e+52')" "SELECT * from t5u" "SELECT * from t5s" "DROP TABLE t5u, t5s" +"CREATE TABLE t1(a FLOAT PRIMARY KEY AUTO_INCREMENT)" "CREATE TABLE t2(a FLOAT)" +"ALTER TABLE t2 MODIFY COLUMN a FLOAT PRIMARY KEY AUTO_INCREMENT" "CREATE TABLE t3(a INT PRIMARY KEY)" -"DROP TABLE t2, t3" +"ALTER TABLE t3 DROP PRIMARY KEY, ADD COLUMN b FLOAT PRIMARY KEY AUTO_INCREMENT" +"CREATE TABLE t1(a DOUBLE PRIMARY KEY AUTO_INCREMENT)" "CREATE TABLE t2(a DOUBLE)" +"ALTER TABLE t2 MODIFY COLUMN a DOUBLE PRIMARY KEY AUTO_INCREMENT" +"ALTER TABLE t3 DROP PRIMARY KEY, ADD COLUMN b DOUBLE PRIMARY KEY AUTO_INCREMENT" "CREATE TABLE t1(a FLOAT(255,0))" "CREATE TABLE t4(a FLOAT)" "ALTER TABLE t4 MODIFY COLUMN a FLOAT(255,0)" @@ -99393,7 +112602,11 @@ END" "INSERT INTO Sow6_2f VALUES (-10.55)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO Sow6_2f VALUES (-10.5555)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "INSERT INTO Sow6_2f VALUES (11)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO Sow6_2f VALUES (101.55)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE Sow6_2f SET col1 = col1 * 50 WHERE col1 = 11","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"UPDATE Sow6_2f SET col1 = col1 / 0 WHERE col1 > 0","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "SELECT MOD(col1,0) FROM Sow6_2f","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" +"INSERT INTO Sow6_2f VALUES ('a59b')","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "drop table Sow6_2f","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "select 10.3330000000000/12.34500000","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "select 0/0" @@ -99409,7 +112622,10 @@ END" "select abs(10/0)" "select abs(NULL)" "create table t1( d1 decimal(18) unsigned, d2 decimal(20) unsigned, d3 decimal (22) unsigned)" +"insert into t1 values(1,-1,-1)" "create table t1 (col1 decimal(5,2), col2 numeric(5,2))" +"insert into t1 values (999.999,999.999)" +"insert into t1 values (-999.999,-999.999)" "set @@div_precision_increment=15" "create table t1 (col1 int, col2 decimal(30,25), col3 numeric(30,25))" "insert into t1 values (1,0.0123456789012345678912345,0.0123456789012345678912345)" @@ -99422,6 +112638,12 @@ END" "create table t1 (col1 bigint default -9223372036854775808)" "select cast('1.00000001335143196001808973960578441619873046875E-10' as decimal(30,15))" "select ln(14000) c1, convert(ln(14000),decimal(5,3)) c2, cast(ln(14000) as decimal(5,3)) c3" +"select convert(ln(14000),decimal(2,3)) c1" +"select cast(ln(14000) as decimal(2,3)) c1" +"create table t1 (sl decimal(70,30))" +"create table t1 (sl decimal(32,31))" +"create table t1 (sl decimal(0,38))" +"create table t1 (sl decimal(0,30))" "create table t1 (sl decimal(5, 5))" "create table t1 (sl decimal(65, 30))" "create table t1 ( @@ -99450,6 +112672,7 @@ end" "call wg2()" "drop procedure wg2" "select cast(@non_existing_user_var/2 as DECIMAL)" +"create table t (d decimal(0,10))" "CREATE TABLE t1 ( my_float FLOAT, my_double DOUBLE, @@ -99469,6 +112692,9 @@ my_decimal DECIMAL(65,30) "create table t1 (c1 decimal(64))" "insert into t1 values( 89000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)" +"insert into t1 values( +99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 * +99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)" "insert into t1 values(1e100)" "create table t1(a decimal(7,2))" "insert into t1 values(123.12)" @@ -99499,10 +112725,13 @@ UNION select 12.1234 "insert into t1 values (0.00000000010000000000000000364321973154977415791655470655996396089904010295867919921875)" "SELECT 1.000000000000 * 99.999999999998 / 100 a,1.000000000000 * (99.999999999998 / 100) b" "SELECT CAST(1 AS decimal(65,10))" +"SELECT CAST(1 AS decimal(66,10))" "SELECT CAST(1 AS decimal(65,30))" +"SELECT CAST(1 AS decimal(65,31))" "CREATE TABLE t1 (a int DEFAULT NULL, b int DEFAULT NULL)" "INSERT INTO t1 VALUES (3,30), (1,10), (2,10)" "SELECT a+CAST(1 AS decimal(65,30)) AS aa, SUM(b) FROM t1 GROUP BY aa" +"SELECT a+CAST(1 AS decimal(65,31)) AS aa, SUM(b) FROM t1 GROUP BY aa" "SET @a= CAST(1 AS decimal)" "SELECT 1 FROM t1 GROUP BY @b := @a, @b" "CREATE TABLE t1 SELECT 0.123456789012345678901234567890123456 AS f1" @@ -99703,18 +112932,20 @@ f1 SMALLINT(6) NOT NULL "INSERT INTO t2 VALUES (2015, 123456)" "CREATE TABLE t3(a DECIMAL(10,2) UNSIGNED, b DECIMAL(10,2) UNSIGNED)" "INSERT INTO t3 VALUES (2015, 123456)" -"SET sql_mode=NO_UNSIGNED_SUBTRACTION" "SELECT a - b FROM t1" "SELECT a - b FROM t2" "SELECT a - b FROM t3" +"SET sql_mode=NO_UNSIGNED_SUBTRACTION" "CREATE TABLE t( a YEAR NOT NULL, b DECIMAL(29,5) UNSIGNED ZEROFILL NOT NULL ) ENGINE=INNODB" "INSERT INTO t VALUES (2000,1),(2000,1),(2000,9999)" +"SELECT * FROM t ORDER BY (a-b)" "CREATE TABLE t1(a DATETIME(4))" "INSERT INTO t1 VALUES(NOW()),(NOW()),(NOW()),(NOW()),(NOW())" "SELECT SQL_BUFFER_RESULT JSON_OBJECT('a', a MOD 1) FROM t1" +"SELECT -1 DIV LEAST(1,JSON_INSERT(1, '$[1]','','',''))" "SELECT -1 DIV LEAST(1, JSON_EXTRACT('1', '$.abc'))" "SELECT 1.056448745601382294204817708678199647327125723403005048300399553 * CAST(0.996 AS DECIMAL(14,3)) AS RESULT" @@ -99739,6 +112970,15 @@ FROM t" "CREATE TABLE t(a DECIMAL(10,4))" "INSERT INTO t VALUES(-1),(1),(100)" "SET @d:=' '" +"WITH RECURSIVE cte1 AS ( +SELECT a AS a1 FROM t +), +cte2 AS ( +SELECT (0xfa > @d) AS a2 FROM t +) +SELECT cte1.a1 +FROM cte1,cte2 +WHERE cte1.a1 >= cte2.a2" "CREATE TABLE t(a DECIMAL(14,14) DEFAULT NULL)" "INSERT INTO t VALUES (-0.99999999999999), (-0.99999999999999), (0.15610000000000)" @@ -99758,6 +112998,12 @@ FROM t" "SELECT * FROM t1 WHERE b=''" "SELECT * FROM t1 WHERE b=CONCAT('')" "SELECT * FROM t1 WHERE b=COALESCE('')" +"CREATE TEMPORARY TABLE tt1 AS SELECT * FROM t1 FORCE INDEX(a) WHERE a='m'" +"CREATE TEMPORARY TABLE tt1 AS SELECT * FROM t1 FORCE INDEX(a) WHERE a=CONCAT('m')" +"CREATE TEMPORARY TABLE tt1 AS SELECT * FROM t1 FORCE INDEX(a) WHERE a=COALESCE('m')" +"CREATE TEMPORARY TABLE tt1 AS SELECT * FROM t1 WHERE b='m'" +"CREATE TEMPORARY TABLE tt1 AS SELECT * FROM t1 WHERE b=CONCAT('m')" +"CREATE TEMPORARY TABLE tt1 AS SELECT * FROM t1 WHERE b=COALESCE('m')" "CREATE TABLE t2 (a char(10), b varchar(10))" "INSERT INTO t2 VALUES('x1 y ', 'x1 y ')" "SELECT maketime(1, 2, a) FROM t2" @@ -99865,6 +113111,7 @@ PRIMARY KEY (auto) "select t1.auto,t2.auto from t1,t2 where t1.auto=t2.auto and not (t1.string<=>t2.string and t1.tiny<=>t2.tiny and t1.short<=>t2.short and t1.medium<=>t2.medium and t1.long_int<=>t2.long_int and t1.longlong<=>t2.longlong and t1.real_float<=>t2.real_float and t1.real_double<=>t2.real_double and t1.utiny<=>t2.utiny and t1.ushort<=>t2.ushort and t1.umedium<=>t2.umedium and t1.ulong<=>t2.ulong and t1.ulonglong<=>t2.ulonglong and t1.time_stamp<=>t2.time_stamp and t1.date_field<=>t2.date_field and t1.time_field<=>t2.time_field and t1.date_time<=>t2.date_time and t1.new_blob_col<=>t2.new_blob_col and t1.tinyblob_col<=>t2.tinyblob_col and t1.mediumblob_col<=>t2.mediumblob_col and t1.options<=>t2.options and t1.flags<=>t2.flags and t1.new_field<=>t2.new_field)" "create table t2 (primary key (auto)) select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1" "select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2" +"create table t3 select * from t1, t2" "create table t3 select t1.c AS c1, t2.c AS c2,1 as ""const"" from t1, t2" "show full columns from t3" "create table t1 ( myfield INT NOT NULL, UNIQUE INDEX (myfield), unique (myfield), index(myfield))" @@ -99877,6 +113124,7 @@ PRIMARY KEY (auto) "insert into t3 select t1.id as id_A, t2.id as id_B from t1 left join t2 on (t1.id = t2.id)" "create table t3 select t1.id as id_A, t2.id as id_B from t1 left join t2 using ( id )" "create table t3 select t1.id as id_A, t2.id as id_B from t1 left join t2 on (t1.id = t2.id)" +"create table t1 (a set (' ','a','b') not null)" "create table t1 (a set (' ','a','b ') not null default 'b ')" "create table t1 (s set ('a','A') character set latin1 collate latin1_bin)" "insert into t1 values ('a'),('a,A'),('A,a'),('A')" @@ -99892,8 +113140,12 @@ PRIMARY KEY (auto) set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17', '18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33', '34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49', +'50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','128'))" +"create table t1(f1 +set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17', +'18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33', +'34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49', '50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','1'))" -"INSERT INTO t1 VALUES(9223372036854775808)" "CREATE TABLE t1 ( set_unique_utf8 set ('a','b','c','d','e','f','g','h','i','j','k','l', 'm','n','o','p','q','r','s','t','u','v','w','x', @@ -100190,6 +113442,12 @@ HEX(WEIGHT_STRING(t5)) as wst5, HEX(WEIGHT_STRING(t6)) as wst6 FROM t1" "CREATE TABLE t1 (a TIME(0) NOT NULL)" +"CREATE TABLE t1 (a TIME(-1))",,syntax_error +"CREATE TABLE t1 (a TIME(7))" +"CREATE TABLE t1 (a TIME(31))" +"SELECT CURTIME(-1)",,syntax_error +"SELECT CURTIME(7)" +"SELECT CURTIME(31)" "CREATE TABLE t1 (a TIME(6) NOT NULL)" "INSERT INTO t1 VALUES ('-838:59:59.000000')" "INSERT INTO t1 VALUES ('-01:00:00.999999')" @@ -100221,6 +113479,11 @@ FROM t1" "INSERT INTO t1 VALUES (106060.0)" "INSERT INTO t1 VALUES (106060e0)" "INSERT INTO t1 VALUES ('106060')" +"INSERT INTO t1 VALUES ('00:00:00.111111 xxx')" +"INSERT INTO t1 VALUES ('838:59:59.0000009')" +"INSERT INTO t1 VALUES ('-838:59:59.0000009')" +"INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS SIGNED))" +"INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED))" "INSERT INTO t1 VALUES (105959.1234567)" "INSERT INTO t1 VALUES ('00:00:00.1111110')" "INSERT INTO t1 VALUES ('00:00:00.1111111')" @@ -100237,15 +113500,12 @@ FROM t1" "INSERT INTO t1 VALUES (0.1111114e0)" "INSERT INTO t1 VALUES (0.1111115e0)" "INSERT INTO t1 VALUES (0.1111119e0)" -"INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS SIGNED))" -"INSERT INTO t1 VALUES (CAST(0xFFFFFFFF00000000 AS UNSIGNED))" "INSERT INTO t1 VALUES ( 100000000000000000.1)" "INSERT INTO t1 VALUES ( 100000000000000000.1e0)" "INSERT INTO t1 VALUES (-100000000000000000.1)" "INSERT INTO t1 VALUES (-100000000000000000.1e0)" "INSERT INTO t1 VALUES (1000000000.0 * 1000000000)" "INSERT INTO t1 VALUES (-1000000000.0 * 1000000000)" -"INSERT INTO t1 VALUES ('00:00:00.111111 xxx')" "INSERT INTO t1 VALUES ('-99:00:00.000000')" "INSERT INTO t1 VALUES ('-99:00:00.000001')" "INSERT INTO t1 VALUES ('-99:00:00.000002')" @@ -100361,7 +113621,6 @@ GREATEST(TIME'00:00:00.1', TIME'00:00:00.12')" "INSERT INTO t1 VALUES ('838:59:59.0000006')" "INSERT INTO t1 VALUES ('838:59:59.0000007')" "INSERT INTO t1 VALUES ('838:59:59.0000008')" -"INSERT INTO t1 VALUES ('838:59:59.0000009')" "INSERT INTO t1 VALUES ('838:59:59.1')" "INSERT INTO t1 VALUES ('839:00:00')" "INSERT INTO t1 VALUES ('-838:59:59')" @@ -100373,7 +113632,6 @@ GREATEST(TIME'00:00:00.1', TIME'00:00:00.12')" "INSERT INTO t1 VALUES ('-838:59:59.0000006')" "INSERT INTO t1 VALUES ('-838:59:59.0000007')" "INSERT INTO t1 VALUES ('-838:59:59.0000008')" -"INSERT INTO t1 VALUES ('-838:59:59.0000009')" "INSERT INTO t1 VALUES ('-838:59:59.000001')" "INSERT INTO t1 VALUES ('-838:59:59.999999')" "INSERT INTO t1 VALUES ('-839:00:00')" @@ -100611,6 +113869,9 @@ SEC_TO_TIME(3661.1111111)" "EXPLAIN SELECT CAST('10:10:10' AS TIME(4))" "EXPLAIN SELECT CAST('10:10:10' AS TIME(5))" "EXPLAIN SELECT CAST('10:10:10' AS TIME(6))" +"SELECT CAST(1 AS TIME(-1))",,syntax_error +"SELECT CAST(1 AS TIME(7))" +"SELECT CAST(1 AS TIME(31))" "INSERT INTO t1 VALUES ('10:10:58.499')" "INSERT INTO t1 VALUES ('10:10:58.999')" "INSERT INTO t1 VALUES ('10:10:59.499')" @@ -101123,6 +114384,15 @@ HEX(WEIGHT_STRING(d4)) as wst4, HEX(WEIGHT_STRING(d5)) as wst5, HEX(WEIGHT_STRING(d6)) as wst6 FROM t1" +"CREATE TABLE t1 (a DATETIME(-1))",,syntax_error +"CREATE TABLE t1 (a DATETIME(7))" +"CREATE TABLE t1 (a DATETIME(31))" +"SELECT SYSDATE(-1)",,syntax_error +"SELECT SYSDATE(7)" +"SELECT SYSDATE(31)" +"SELECT NOW(-1)",,syntax_error +"SELECT NOW(7)" +"SELECT NOW(31)" "CREATE TABLE t1 (a DATETIME(6) NOT NULL)" "INSERT INTO t1 VALUES ('0000-00-00 23:59:59.999999')" "INSERT INTO t1 VALUES ('2000-01-01 01:02:03')" @@ -101168,6 +114438,25 @@ FROM t1" "INSERT INTO t1 VALUES (-1.1e0)" "CREATE TABLE t1 (a DATETIME, b DATETIME(6))" "INSERT INTO t1 VALUES ('1999-00-00 00:00:00', '1999-00-00 00:00:00')" +"INSERT INTO t1 VALUES ('xxx', NULL)" +"INSERT INTO t1 VALUES (NULL,'xxx')" +"INSERT INTO t1 VALUES ('1999-01-01 00:00:00 xxx', NULL)" +"INSERT INTO t1 VALUES ('1999-00-00 00:00:00 xxx', NULL)" +"INSERT INTO t1 VALUES (NULL, '1999-00-00 00:00:00 xxx')" +"INSERT INTO t1 VALUES ('1999-00-00 xxx', NULL)" +"INSERT INTO t1 VALUES (NULL, '1999-00-00 xxx')" +"INSERT INTO t1 VALUES ('1999-00-00 00:00:00', NULL)" +"INSERT INTO t1 VALUES (NULL, '1999-00-00 00:00:00')" +"INSERT INTO t1 VALUES (NULL, TIMESTAMP('0000-00-00 10:00:00'))" +"INSERT INTO t1 VALUES (NULL, 199991231000000)" +"INSERT INTO t1 VALUES (NULL, -0.1)" +"INSERT INTO t1 VALUES (NULL, -1.0)" +"INSERT INTO t1 VALUES (NULL, -1.1)" +"INSERT INTO t1 VALUES (NULL, -0.1e0)" +"INSERT INTO t1 VALUES (NULL, -1.0e0)" +"INSERT INTO t1 VALUES (NULL, -1.1e0)" +"INSERT INTO t1 VALUES (NULL, CAST(0xFFFFFFFF00000000 AS SIGNED))" +"INSERT INTO t1 VALUES (NULL, CAST(0xFFFFFFFF00000000 AS UNSIGNED))" "INSERT INTO t1 VALUES (99990228235959.9999997)" "INSERT INTO t1 VALUES (99991231235959.9999997)" "INSERT INTO t1 VALUES ('9999-02-28 23:59:59.9999997')" @@ -101464,6 +114753,9 @@ CONVERT_TZ(TIMESTAMP'2001-01-01 00:00:00.123456', '+00:00', '+01:00') AS d6" "EXPLAIN SELECT CAST('10:10:10' AS DATETIME(4))" "EXPLAIN SELECT CAST('10:10:10' AS DATETIME(5))" "EXPLAIN SELECT CAST('10:10:10' AS DATETIME(6))" +"SELECT CAST(1 AS DATETIME(-1))",,syntax_error +"SELECT CAST(1 AS DATETIME(7))" +"SELECT CAST(1 AS DATETIME(31))" "INSERT INTO t1 VALUES ('2001-01-01 10:10:58.499')" "INSERT INTO t1 VALUES ('2001-01-01 10:10:58.999')" "INSERT INTO t1 VALUES ('2001-01-01 10:10:59.499')" @@ -101858,6 +115150,9 @@ ADD d1 TIMESTAMP(1), ADD d2 TIMESTAMP(2), ADD d3 TIMESTAMP(3), ADD d4 TIMESTAMP(4), ADD d5 TIMESTAMP(5), ADD d6 TIMESTAMP(6)" "UPDATE t1 SET d0= a0, d1= a1, d2= a2, d3= a3, d4= a4, d5= a5, d6= a6" "SET time_zone=default" +"CREATE TABLE t1 (a TIMESTAMP(-1))",,syntax_error +"CREATE TABLE t1 (a TIMESTAMP(7))" +"CREATE TABLE t1 (a TIMESTAMP(31))" "ALTER TABLE t1 MODIFY a TIMESTAMP(6)" "CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL)" "SELECT * FROM t1 WHERE a BETWEEN TIMESTAMP'2000-01-01 01:02:03.456' AND '2000-01-01 01:02:03.45678'" @@ -101942,7 +115237,6 @@ FROM t1" "SELECT CAST(CAST('10:10:20' AS TIME(6)) + INTERVAL 30 HOUR AS DATETIME)" "CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), b TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00.000000')" "INSERT INTO t1 VALUES ('2001-01-01 01:02:03.123456', '0000-00-00 00:00:00')" -"SELECT b FROM t1" "CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)" "ALTER TABLE t1 MODIFY a TIMESTAMP" "CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, b TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000')" @@ -101961,10 +115255,48 @@ FROM t1" "CREATE TABLE t1 (a TIMESTAMP(5) NOT NULL DEFAULT CURRENT_TIMESTAMP(5) ON UPDATE CURRENT_TIMESTAMP(5))" "CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT '2000-01-01 11:22:33.123456')" "CREATE TABLE t1 (a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(0))" +"CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(1))" +"CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(2))" +"CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(3))" +"CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(4))" +"CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(5))" +"CREATE TABLE t1 (a TIMESTAMP DEFAULT CURRENT_TIMESTAMP(6))" +"CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP)" +"CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(0))" +"CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(1))" +"CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(2))" "CREATE TABLE t1 (a TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3))" +"CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(4))" +"CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(5))" +"CREATE TABLE t1 (a TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(6))" +"CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP)" +"CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(0))" +"CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(1))" +"CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(2))" +"CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(4))" +"CREATE TABLE t1 (a TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(5))" "CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6))" "CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(0))" +"CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(1))" +"CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(2))" +"CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(3))" +"CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(4))" +"CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(5))" +"CREATE TABLE t1 (a DATETIME DEFAULT CURRENT_TIMESTAMP(6))" +"CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP)" +"CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(0))" +"CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(1))" +"CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(2))" "CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(3))" +"CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(4))" +"CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(5))" +"CREATE TABLE t1 (a DATETIME(3) DEFAULT CURRENT_TIMESTAMP(6))" +"CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP)" +"CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(0))" +"CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(1))" +"CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(2))" +"CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(4))" +"CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(5))" "CREATE TABLE t1 (a DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6))" "SET timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00.999999')" "CREATE TABLE t1 ( @@ -101973,7 +115305,19 @@ b DATETIME(2) DEFAULT CURRENT_TIMESTAMP(2) )" "INSERT INTO t1 VALUES (DEFAULT, DEFAULT)" "SELECT CURRENT_TIMESTAMP(6)" +"CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP)" +"CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(0))" +"CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(1))" +"CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(2))" +"CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(4))" +"CREATE TABLE t1 (a TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(5))" "CREATE TABLE t1 (a TIMESTAMP(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000' ON UPDATE CURRENT_TIMESTAMP(6))" +"CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP)" +"CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(0))" +"CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(1))" +"CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(2))" +"CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(4))" +"CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(5))" "CREATE TABLE t1 (a DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(6))" "CREATE TABLE t1 ( a TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2), @@ -102989,7 +116333,6 @@ PRIMARY KEY (pk))" "SELECT col_datetime_6, CAST(col_datetime_6 AS DATETIME(2)) AS c1 FROM t1" "CREATE TABLE t2 AS SELECT CAST(col_datetime_6 AS DATETIME(2)) AS c1 FROM t1" "UPDATE t2 SET c1=(SELECT CAST(col_datetime_6 AS DATETIME(2)) AS c1 FROM t1)" -"INSERT INTO t1 VALUES ('0000-00-00')" "INSERT INTO t1 VALUES ('0000-00-00 00:00:00')" "CREATE TABLE t2 SELECT CAST(col_datetime_6 AS DATETIME) AS c1 FROM t1" "UPDATE t2 SET c1=(SELECT CAST(col_datetime_6 AS DATETIME) AS c1 FROM t1) @@ -103256,6 +116599,19 @@ CAST(-0.1111111111 AS DATE)" "SELECT SECOND(-4.99999999991e0)" "SELECT SECOND(TRUNCATE('5',180))" "SELECT TIMESTAMP '20130710010203'" +"SELECT TIMESTAMP '201307100102031'" +"SELECT TIMESTAMP '2013071001020312'" +"SELECT TIMESTAMP '20130710010203123'" +"SELECT TIMESTAMP '201307100102031234'" +"SELECT TIMESTAMP '2013071001020312345'" +"SELECT TIMESTAMP '20130710010203123456'" +"SELECT TIMESTAMP '2013:07:10 01:02:03:04'" +"SELECT TIMESTAMP '2013:07:10 01.02.131'" +"SELECT TIMESTAMP '2013:07:10 01.02.131.2'" +"SELECT TIMESTAMP '2013:07:10 01.02.0312.3'" +"SELECT TIMESTAMP '2013.07.10 01.02.131.23456'" +"SELECT TIMESTAMP '201307100102031.'" +"SELECT TIMESTAMP '2012071001021.1'" "SELECT TIMESTAMP '2013:07:10 01.02.0.31'" "SELECT TIMESTAMP '20130710010203.'" "SELECT TIMESTAMP '20130710010203.1'" @@ -103278,6 +116634,18 @@ CAST(-0.1111111111 AS DATE)" "SELECT TIME '010203'" "SELECT TIME '1010203'" "SELECT TIME '01010203'" +"SELECT TIME '10102031'" +"SELECT TIME '101020312'" +"SELECT TIME '1010203123'" +"SELECT TIME '10102031234'" +"SELECT TIME '101020312345'" +"SELECT TIME '1010203123456'" +"SELECT TIME '01:02:03:04'" +"SELECT TIME '01:02:131'" +"SELECT TIME '01:02:131.2'" +"SELECT TIME '01:02:0312.3'" +"SELECT TIME '01:02:131.23456'" +"SELECT TIME '11102031.'" "SELECT TIME '01:02:0.31'" "SELECT TIME '010203.'" "SELECT TIME '110203.1'" @@ -103327,6 +116695,8 @@ ORDER BY 1" "DROP TABLE t0, t1, t2, t3, t4, t5, t6" "CREATE TABLE t1 (c1 LONGTEXT)" "INSERT INTO t1 VALUES('2018-10-15 01:29:55')" +"SELECT * FROM t1 WHERE +'2018-10-15 01:29:55'=(c1 + INTERVAL(json_keys(0xceedc36e,'$$')) SECOND)" "do date_add(utc_time(), interval(oct(-11779)) microsecond)" "CREATE TABLE t(a TIME(1), b DECIMAL(55,13))" "INSERT INTO t(a,b) VALUES @@ -103459,6 +116829,7 @@ KEY col_time_key (col_time_key) "set @var = ''" "set @var = '23:59:60'" "CREATE TABLE t1(t TIME)" +"INSERT INTO t1 VALUES ('10-11-12')" "SET @t = '10-11-12'" "prepare s from ""INSERT INTO t1 VALUES (?)""" "INSERT INTO t VALUES('2021-10-10 00:00:00.123456+01:00')" @@ -103621,9 +116992,13 @@ KEY col_time_key (col_time_key) "SELECT TIMESTAMP'2000-01-27 23:13:41' - TIMESTAMP'2003-05-16 23:53:29'" "SELECT TIMESTAMP('2000-01-27','23:13:41') - TIMESTAMP('2003-05-16','23:53:29')" "CREATE TABLE t1 (c1 TIMESTAMP DEFAULT 0)" +"CREATE TABLE t1 (c1 TIMESTAMP DEFAULT '0000-00-00 00:00:00')" +"CREATE TABLE t1 (c1 TIMESTAMP DEFAULT '2012-02-00 12:12:12')" "CREATE TABLE t2 (c1 TIMESTAMP DEFAULT '0000-00-00 00:00:00')" "CREATE TABLE t3 (c1 TIMESTAMP DEFAULT '2012-02-00 12:12:12')" "ALTER TABLE t1 ADD c2 TIMESTAMP DEFAULT 0" +"ALTER TABLE t1 ADD c2 TIMESTAMP DEFAULT '0000-00-00'" +"ALTER TABLE t1 ADD c2 TIMESTAMP DEFAULT '2012-02-00'" "ALTER TABLE t1 ADD c3 TIMESTAMP DEFAULT '0000-00-00'" "ALTER TABLE t1 ADD c4 TIMESTAMP DEFAULT '2012-02-00'" "CREATE TABLE t1 ( @@ -103644,6 +117019,9 @@ FROM t1" c1 TIMESTAMP NOT NULL, c2 TIMESTAMP NOT NULL DEFAULT '2001-01-01 01:01:01', c3 INT NOT NULL DEFAULT 42)" +"INSERT INTO t1 VALUES (NULL, DEFAULT, DEFAULT)" +"INSERT INTO t1 VALUES ('2005-05-05 06:06:06', NULL, DEFAULT)" +"INSERT INTO t1 VALUES ('2005-05-05 06:06:06', DEFAULT, NULL)" "INSERT INTO t1 VALUES ('2005-05-05 06:06:06', DEFAULT, DEFAULT)" "UPDATE t1 SET c1=NULL,c2=NULL,c3=NULL" "SET sql_mode=TRADITIONAL" @@ -103663,9 +117041,10 @@ t4_not_null TIMESTAMP NOT NULL)" "ALTER TABLE t2 ADD COLUMN b TIMESTAMP" "ALTER TABLE t2 ADD COLUMN c TIMESTAMP" "ALTER TABLE t2 ADD COLUMN d TIMESTAMP" +"ALTER TABLE t2 MODIFY b TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'" +"ALTER TABLE t2 MODIFY b TIMESTAMP DEFAULT '0000-00-00 00:00:00'" "CREATE TABLE t3(a TIMESTAMP, b TIMESTAMP)" "INSERT INTO t3 SELECT * from t1" -"CREATE TABLE t4 AS SELECT * FROM t1" "INSERT INTO t1 VALUES(default, default)" "INSERT INTO t1 VALUES(default(a), default(b))" "UPDATE t1 SET b=default" @@ -103678,6 +117057,7 @@ t4_not_null TIMESTAMP NOT NULL)" "CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW SET @a=1" "CREATE TRIGGER trg BEFORE UPDATE ON t1 FOR EACH ROW SET @a=1" "INSERT INTO t1 VALUES(""20121231"")" +"UPDATE t1 SET fld1=NULL WHERE fld1=""20121231""" "CREATE TRIGGER trg AFTER UPDATE ON t1 FOR EACH ROW SET @a=1" "CREATE TABLE t1 ( `id` int(11) NOT NULL auto_increment, @@ -103700,8 +117080,8 @@ PRIMARY KEY (`id`) "select v='a' from t1" "select binary v='a' from t1" "select binary v='a ' from t1" -"create table t1 (v varbinary(20))" "alter table t1 add primary key (v)" +"create table t1 (v varbinary(20))" "create table t1 (v varchar(254), index (v)) charset latin1" "insert into t1 values (""This is a test "")" "insert into t1 values (""Some sample data"")" @@ -103793,9 +117173,14 @@ group by t1.b, t1.a" "CREATE TABLE t1(c1 YEAR)" "INSERT INTO t1 VALUES (1901),(2155),(0000)" "SELECT COUNT(*) AS total_rows, MIN(c1) AS min_value, MAX(c1) FROM t1" +"CREATE TABLE t1 (c1 YEAR(2))" +"CREATE TABLE t1 (c1 YEAR(0))" +"CREATE TABLE t1 (c1 YEAR(4294967295))" +"CREATE TABLE t1 (c1 YEAR(4294967296))" "CREATE TABLE t1 (c1 YEAR(4))" "INSERT INTO t1 VALUES (55)" "UPDATE t1 SET c1=2016" +"ALTER TABLE t1 MODIFY COLUMN c1 YEAR(2)" "SET timestamp=UNIX_TIMESTAMP('2011-12-31 15:44:00')" "CREATE TABLE t1 (a YEAR)" "INSERT INTO t1 VALUES (CURRENT_TIME)" @@ -103819,21 +117204,16 @@ FROM t1 GROUP BY class ORDER BY aa" (1, '1999-02-28', '1999-11-28 14:45:00'), (2, '1999-12-31', '2000-01-01 00:00:00')" +"SELECT ((year(QC_DATE) - year(QC_TIMESTAMP))) FROM t +WHERE QC_DATE_KEY = 2" "CREATE TABLE y(y1 YEAR, y2 YEAR)" "INSERT INTO y VALUES(2020,2022)" +"SELECT y1-y2 FROM y" "DROP TABLE y" "CREATE TABLE t1(a YEAR(4), b YEAR)" -"SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'" -"SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'v1'" "CREATE FUNCTION f1(a YEAR(4)) RETURNS YEAR(4) RETURN 1974" "CREATE FUNCTION f2(a YEAR) RETURNS YEAR RETURN 1974" -"SHOW CREATE FUNCTION f2" -"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'f1'" -"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'f2'" -"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'f1'" -"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'f2'" "CREATE PROCEDURE p1(a YEAR(4), b YEAR) BEGIN END" -"SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'p1'" "CREATE TABLE t1(a YEAR UNSIGNED)" "CREATE TABLE t1 (y YEAR, @@ -103874,17 +117254,24 @@ SELECT t0.c0 FROM t0" "EXPLAIN SELECT udf_type FROM performance_schema.user_defined_functions WHERE udf_name = 'metaphon'" +"select myfunc_double()" "select myfunc_double(1)" "select myfunc_double(78654)" +"select myfunc_nonexist()" "select myfunc_int()" +"select lookup()" "select lookup(""127.0.0.1"")" +"select lookup(127,0,0,1)" "select lookup(""localhost"")" +"select reverse_lookup()" "prepare s from ""select myfunc_double(?)""" "set @one = 1" "execute s using @one" "select reverse_lookup(""127.0.0.1"")" "select reverse_lookup(127,0,0,1)" "select reverse_lookup(""localhost"")" +"select avgcost()" +"select avgcost(100,23.76)" "create table t1(sum int, price float(24))" "insert into t1 values(100, 50.00), (100, 100.00)" "select avgcost(sum, price) from t1" @@ -103909,6 +117296,10 @@ end" "SELECT myfunc_double(n) AS f FROM bug19904" "SELECT metaphon(v) AS f FROM bug19904" "DROP TABLE bug19904" +"CREATE DEFINER=CURRENT_USER() FUNCTION should_not_parse +RETURNS STRING SONAME ""should_not_parse.so""",,syntax_error +"CREATE DEFINER=someone@somewhere FUNCTION should_not_parse +RETURNS STRING SONAME ""should_not_parse.so""",,syntax_error "explain select myfunc_int(f1) from t1 order by 1" "INSERT INTO t1 values (1,1),(2,2)" "CREATE FUNCTION fn(a int) RETURNS int DETERMINISTIC @@ -103921,6 +117312,9 @@ END "EXPLAIN SELECT myfunc_int(a AS attr_name) FROM t1" "EXPLAIN SELECT myfunc_int(a) FROM t1" "SELECT a,c FROM v1" +"SELECT a, fn(MIN(b) xx) as c FROM t1 GROUP BY a" +"SELECT myfunc_int(fn(MIN(b) xx)) as c FROM t1 GROUP BY a" +"SELECT myfunc_int(test.fn(MIN(b) xx)) as c FROM t1 GROUP BY a",,syntax_error "SELECT myfunc_int(fn(MIN(b)) xx) as c FROM t1 GROUP BY a" "SELECT myfunc_int(test.fn(MIN(b)) xx) as c FROM t1 GROUP BY a" "EXPLAIN SELECT myfunc_int(MIN(b) xx) as c FROM t1 GROUP BY a" @@ -103938,11 +117332,15 @@ END "select myfunc_double(abs(3) AS named_param)" "select abs(myfunc_double(3))" "select abs(myfunc_double(3 AS three))" +"select myfunc_double(abs(3 AS wrong))" +"select abs(myfunc_double(3) AS wrong)" +"CREATE FUNCTION pi RETURNS STRING SONAME ""should_not_parse.so""" "CREATE FUNCTION metaphon(a int) RETURNS int return 0" "SELECT metaphon('a')" "SELECT test.metaphon(0)" "select distinct avgcost(sum,price) from t1 order by avgcost(sum,price)" "DROP FUNCTION myfunc_double" +"DROP FUNCTION myfunc_nonexist" "DROP FUNCTION myfunc_int" "DROP FUNCTION lookup" "DROP FUNCTION reverse_lookup" @@ -103950,6 +117348,7 @@ END "select * from mysql.func" "select IS_const(3)" "drop function IS_const" +"select is_const(3)" "select is_const(3) as const, is_const(3.14) as const, @@ -103976,6 +117375,7 @@ is_const(is_const('c')) as const from bug18761" "drop table bug18761" +"select is_const((1,2,3))" "drop function if exists is_const" "create function f1(p1 varchar(255)) returns varchar(255) @@ -104033,7 +117433,11 @@ END " "select test.metaphon(""Hello"")" "drop database db_31767" "drop function if exists no_such_func" +"drop function no_such_func" "drop function if exists test.no_such_func" +"drop function test.no_such_func" +"drop procedure if exists no_such_proc" +"drop procedure no_such_proc" "SELECT IF( a = 1, a, a ) AS `b` FROM t1 ORDER BY field( `b` + 1, 1 )" "SELECT IF( a = 1, a, a ) AS `b` FROM t1 ORDER BY field( `b`, 1 )" "INSERT INTO t1 VALUES(1),(50)" @@ -104057,16 +117461,24 @@ END " "SELECT name FROM mysql.func WHERE name ='metaphon' FOR UPDATE" "SELECT name FROM mysql.func WHERE name = 'metaphon'" "SELECT * FROM mysql.func" +"SELECT is_const((1,2,3))" "DROP FUNCTION is_const" "SELECT * FROM performance_schema.user_defined_functions WHERE udf_name = 'is_const'" "INSERT INTO t1 VALUES (1,100),(1,2),(2,100),(2,3)" "SELECT a FROM t1 WHERE a = sequence()" "SELECT a FROM (SELECT sequence() AS seq, a FROM t1) AS dt WHERE a = seq" +"SELECT METAPHON(1000000000000*1000000000000)" +"SELECT METAPHON(CAST(1000000000000*1000000000000 AS DOUBLE))" +"SELECT METAPHON(CAST(1000000000000*1000000000000 AS DECIMAL))" +"SELECT METAPHON(CAST(1000000000000*1000000000000 AS CHAR(100)))" +"SELECT udf_test('test')" "SELECT * from mysql.func" "DELETE FROM mysql.func WHERE name='udf_test'" "UNINSTALL PLUGIN test_udf_services" "DROP FUNCTION test_udf_services_udf" +"CREATE FUNCTION a RETURNS STRING SONAME ''" +"DROP FUNCTION a" "ANALYZE TABLE r, s, t" "EXECUTE q" "DROP PREPARE q" @@ -104074,6 +117486,16 @@ WHERE udf_name = 'is_const'" "SET @a = '2'" "EXECUTE p USING @a" "PREPARE p FROM '(SELECT * FROM t LIMIT ?) LIMIT 3'" +"((SELECT * FROM r ORDER BY u LIMIT 5) ORDER BY -a LIMIT 4) ORDER BY a LIMIT 3" +"( ( (SELECT a AS c FROM r ORDER BY a LIMIT 5) ORDER BY -a LIMIT 4) +ORDER BY c LIMIT 3) +ORDER BY -c LIMIT 2" +"( ( (SELECT a AS c FROM r ORDER BY a LIMIT 5) ORDER BY -c LIMIT 4) +ORDER BY a LIMIT 3) +ORDER BY -c LIMIT 2" +"( ( (SELECT a AS c FROM r ORDER BY a LIMIT 5) ORDER BY -c LIMIT 4) +ORDER BY c LIMIT 3) +ORDER BY -a LIMIT 2" "(TABLE r ORDER BY a LIMIT 5) ORDER BY -a LIMIT 4" "VALUES ROW(1,2),ROW(3,4),ROW(-1,2) ORDER BY 1" "(VALUES ROW(1,2),ROW(3,4),ROW(-1,2) ORDER BY 1) ORDER BY 1 LIMIT 2" @@ -104082,7 +117504,6 @@ WHERE udf_name = 'is_const'" "CREATE TABLE t2 (a INT NOT NULL, b CHAR (10) NOT NULL)" "INSERT INTO t2 VALUES (3,'c'), (4,'d'), (5,'f'), (6,'e')" "CREATE TABLE t4 AS SELECT * from t1" -"DELETE FROM t4" "INSERT INTO t4 SELECT a,b FROM t1 UNION DISTINCT SELECT a,b FROM t2" "(SELECT SQL_CALC_FOUND_ROWS a,b FROM t1 LIMIT 2) UNION ALL (SELECT a,b FROM t2 ORDER BY a) LIMIT 2" @@ -104102,7 +117523,6 @@ INNER JOIN t3 ON (t2.f2 = t3.f1) GROUP BY t1.f1 ORDER BY t1.f1, t3.f1, t2.f3 ) ORDER BY sdate" -"SHOW COLUMNS FROM t4" "CREATE UNDO TABLESPACE undo_003 ADD DATAFILE 'undo_003.ibu' ENGINE InnoDB" "SELECT NAME, SPACE_TYPE, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE = 'Undo' ORDER BY NAME" @@ -104111,6 +117531,10 @@ WHERE FILE_NAME LIKE '%undo%' ORDER BY TABLESPACE_NAME" "ALTER UNDO TABLESPACE undo_003 SET ACTIVE ENGINE InnoDB" "ALTER UNDO TABLESPACE undo_003 SET INACTIVE ENGINE InnoDB" "DROP UNDO TABLESPACE undo_003 ENGINE InnoDB" +"CREATE UNDO TABLESPACE undo_003 ADD DATAFILE 'undo_003.ibu' ENGINE MyISAM" +"ALTER UNDO TABLESPACE undo_003 SET ACTIVE ENGINE MyISAM" +"ALTER UNDO TABLESPACE undo_003 SET INACTIVE ENGINE MyISAM" +"DROP UNDO TABLESPACE undo_003 ENGINE MyISAM" "select a,b from t1 union distinct select a,b from t2" "select a,b from t1 union all select a,b from t2" "select a,b from t1 union all select a,b from t2 order by b" @@ -104121,6 +117545,7 @@ WHERE FILE_NAME LIKE '%undo%' ORDER BY TABLESPACE_NAME" "(select a,b from t1 limit 2) union all (select a,b from t2 order by a) limit 4" "(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1)" "(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by b desc" +"(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by t1.b" "explain (select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by b desc" "select count(*) from ( (select a,b from t1 limit 2) union all (select a,b from t2 order by a)) q" @@ -104133,11 +117558,27 @@ select * from t1 where a in (select a from t1 union select a from t1 order by (select a)) union select * from t1 order by (select a)" "explain select a,b from t1 union all select a,b from t2" +"explain select xx from t1 union select 1" +"explain select a,b from t1 union select 1" +"explain select 1 union select a,b from t1 union select 1" +"explain select a,b from t1 union select 1 limit 0" +"select a,b from t1 into outfile 'skr' union select a,b from t2",,syntax_error +"select a,b from t1 order by a union select a,b from t2",,syntax_error +"insert into t3 select a from t1 order by a union select a from t2",,syntax_error +"INSERT INTO t3 SELECT a FROM t1 LIMIT 1 UNION SELECT a FROM t2",,syntax_error +"create table t3 select a,b from t1 union select a from t2" +"select a,b from t1 union select a from t2" +"select * from t1 union select a from t2" +"select a from t1 union select * from t2" +"select * from t1 union select SQL_BUFFER_RESULT * from t2" "create table t3 select a,b from t1 union all select a,b from t2" "insert into t3 select a,b from t1 union all select a,b from t2" "replace into t3 select a,b as c from t1 union all select a,b from t2" +"select * union select 1" "select 1 as a,(select a union select a)" +"(select 1) union (select 2) order by 0" "SELECT @a:=1 UNION SELECT @a:=@a+1" +"(SELECT 1) UNION (SELECT 2) ORDER BY (SELECT a)" "(SELECT 1,3) UNION (SELECT 2,1) ORDER BY (SELECT 2)" "insert into t2 values (11),(12),(13),(14),(15)" "(select * from t1 limit 2) union (select * from t2 limit 3) limit 4" @@ -104217,6 +117658,7 @@ KEY un (un) "SELECT COUNT(*) FROM ( (SELECT * FROM t1 LIMIT 1) UNION SELECT * FROM t2) q" "(SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1) UNION SELECT * FROM t2 LIMIT 1" +"SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1 UNION all SELECT * FROM t2 LIMIT 2",,syntax_error "SELECT COUNT(*) FROM ( (SELECT * FROM t1 LIMIT 1) UNION all SELECT * FROM t2) q" "(SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1) UNION all SELECT * FROM t2 LIMIT 2" @@ -104227,20 +117669,27 @@ SELECT * FROM t1 UNION all SELECT * FROM t2) q" SELECT * FROM t1 UNION SELECT * FROM t2) q" "SELECT SQL_CALC_FOUND_ROWS * FROM t1 UNION SELECT * FROM t2 LIMIT 2" "SELECT SQL_CALC_FOUND_ROWS * FROM t1 UNION SELECT * FROM t2 LIMIT 100" +"SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 100 UNION SELECT * FROM t2",,syntax_error "SELECT COUNT(*) FROM ( (SELECT * FROM t1 LIMIT 100) UNION SELECT * FROM t2) q" "(SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 100) UNION SELECT * FROM t2" +"SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1 UNION SELECT * FROM t2",,syntax_error "(SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1) UNION SELECT * FROM t2" +"SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1 UNION SELECT * FROM t2 LIMIT 2",,syntax_error "(SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1) UNION SELECT * FROM t2 LIMIT 2" "SELECT SQL_CALC_FOUND_ROWS * FROM t1 UNION SELECT * FROM t2 LIMIT 2,2" +"SELECT SQL_CALC_FOUND_ROWS * FROM t1 limit 2,2 UNION SELECT * FROM t2",,syntax_error "SELECT COUNT(*) FROM ( (SELECT * FROM t1 limit 2,2) UNION SELECT * FROM t2) q" "(SELECT SQL_CALC_FOUND_ROWS * FROM t1 limit 2,2) UNION SELECT * FROM t2" "SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a desc LIMIT 1" "(SELECT * FROM t1 ORDER by a) UNION ALL (SELECT * FROM t2 ORDER BY a) ORDER BY A desc LIMIT 4" +"(SELECT * FROM t1) UNION all (SELECT SQL_CALC_FOUND_ROWS * FROM t2) LIMIT 1" "create temporary table t1 select a from t1 union select a from t2" "create temporary table temp1 select a from t1 union select a from t2" "drop temporary table temp1" +"create table t1 select a from t1 union select a from t2" +"select a from t1 union select a from t2 order by t2.a" "select length(version()) > 1 as `*` UNION select 2" "insert into t1 values (0), (3), (1), (2)" "explain (select * from t1) union (select * from t1) order by a" @@ -104293,6 +117742,7 @@ SELECT * FROM t1 UNION SELECT * FROM t2) q" "create table t1 SELECT sv from t2 UNION select tx from t2" "create table t1 SELECT b from t2 UNION select tx from t2" "create table t1 select 1 union select -1" +"create table t1 select _latin1""test"" union select _latin2""testt"" " "create table t1 select _latin2""test"" union select _latin2""testt"" " "create table t1 (s char(200))" "insert into t1 values (repeat(""1"",200))" @@ -104302,7 +117752,6 @@ SELECT * FROM t1 UNION SELECT * FROM t2) q" "create table t1 (a int, index (a), b int)" "insert t1 values (1,1),(2,2),(3,3),(4,4),(5,5)" "insert t1 select a+1, a+b from t1" -"show status like 'Slow_queries'" "select count(*) from t1 where a=7" "select count(*) from t1 where b=13" "select count(*) from t1 where b=13 union select count(*) from t1 where a=7" @@ -104327,6 +117776,7 @@ SELECT * FROM t1 UNION SELECT * FROM t2) q" "SET SQL_SELECT_LIMIT=1" "CREATE TABLE t1 (i int(11) default NULL,c char(1) default NULL,KEY i (i))" "CREATE TABLE t2 (i int(11) default NULL,c char(1) default NULL,KEY i (i))" +"explain (select * from t1) union (select * from t2) order by not_existing_column" "CREATE TABLE t1 (uid int(1))" "INSERT INTO t1 SELECT 150" "SELECT 'a' UNION SELECT uid FROM t1" @@ -104390,6 +117840,9 @@ PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1)" a char character set latin1 collate latin1_swedish_ci, b char character set latin1 collate latin1_german1_ci)" "create table t1 as +(select a from t2) union +(select b from t2)" +"create table t1 as (select a collate latin1_german1_ci from t2) union (select b from t2)" "create table t1 as @@ -104458,6 +117911,7 @@ select 'YYYYYYYYYYYYYYYYYYYY' as description, f2 from t1" "create table t1 (a varchar(5))" "create table t2 select * from t1 union select 'abcdefghijkl'" "select row_format from information_schema.TABLES where table_schema=""test"" and table_name=""t2""" +"alter table t2 ROW_FORMAT=fixed" "CREATE TABLE t1 (a mediumtext)" "CREATE TABLE t2 (b varchar(20))" "SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2" @@ -104520,7 +117974,10 @@ select 'YYYYYYYYYYYYYYYYYYYY' as description, f2 from t1" "select _utf8mb3'12' union select _latin1'12345'" "INSERT INTO t1 VALUES (3),(1),(2),(4),(1)" "SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a) AS test" +"SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY c) AS test" +"(select 1 into @var) union (select 1)" "(select 1) union (select 1 into @var)" +"(select 2) union (select 1 into @var)" "INSERT INTO t2 VALUES (10), (50), (50)" "SELECT a,1 FROM t1 UNION @@ -104538,6 +117995,14 @@ ORDER BY a ASC LIMIT 3" UNION ALL SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a DESC" +"SELECT a,1 FROM t1 +UNION +(SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a)" +"SELECT a,1 FROM t1 +UNION ALL +SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a +UNION +SELECT 1,1",,syntax_error "CREATE TABLE t2 SELECT * FROM (SELECT NULL) a UNION SELECT a FROM t1" "CREATE TABLE t3 SELECT a FROM t1 UNION SELECT * FROM (SELECT NULL) a" "DESC t3" @@ -104576,6 +118041,9 @@ SELECT a FROM t1 WHERE 0 "SELECT a FROM t1 UNION SELECT a INTO @v FROM t1" "SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1" "SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1" +"SELECT a INTO @v FROM t1 UNION SELECT a FROM t1" +"SELECT a INTO OUTFILE 'union.out.file7' FROM t1 UNION SELECT a FROM t1" +"SELECT a INTO DUMPFILE 'union.out.file8' FROM t1 UNION SELECT a FROM t1" "SELECT ( SELECT a UNION SELECT a ) INTO @v FROM t1" "SELECT ( SELECT a UNION SELECT a ) INTO OUTFILE 'union.out.file3' FROM t1" "SELECT ( SELECT a UNION SELECT a ) INTO DUMPFILE 'union.out.file4' FROM t1" @@ -104585,6 +118053,17 @@ SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY a + 12" "SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY a + 12" "EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t1 +ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE)" +"WITH cte AS ( +SELECT * FROM t1 UNION SELECT * FROM t1 +ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE) +) SELECT * FROM cte" +"SELECT * FROM t1 UNION SELECT * FROM t1 +ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE)" +"(SELECT * FROM t1) UNION (SELECT * FROM t1) +ORDER BY MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE)" +"EXPLAIN +SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY (SELECT a FROM t2 WHERE b = 12)" "SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY (SELECT a FROM t2 WHERE b = 12)" @@ -104655,6 +118134,7 @@ WHERE TABLE_NAME='t3'" SELECT a FROM t1 WHERE a IN (SELECT 'r' FROM t1 UNION ALL SELECT 'j')" "EXPLAIN FORMAT=tree SELECT a, SUM(a) FROM t2 UNION ALL SELECT a, MIN(a) FROM t1 " "SELECT a, SUM(a) FROM t2 UNION ALL SELECT a, MIN(a) FROM t1 " +"CREATE TABLE t2 SELECT a, a FROM t1 UNION ALL SELECT a, a FROM t1" "(SELECT a FROM t1 ORDER BY a LIMIT 0) UNION ALL SELECT a FROM t1" "CREATE TABLE t1 (a INT) ENGINE=MEMORY" "CREATE TABLE t2 (a INT) ENGINE=MEMORY" @@ -104883,6 +118363,7 @@ UNION SELECT * FROM (SELECT NULL) AS a" "CREATE TABLE t(a VARCHAR(10) CHARSET ASCII)" "SELECT _utf8mb4 'a' UNION SELECT a FROM t" +"SELECT _utf8mb4 0xC3A6 UNION SELECT a FROM t" "PREPARE stmt FROM ""SELECT 'foo' UNION ALL SELECT ?""" "SET @param = CONVERT('bar' USING utf8mb3)" "EXECUTE stmt USING @param" @@ -104987,7 +118468,7 @@ KEY `pseudo` (`pseudo`) "select A.NAME, A.PHONE, B.NAME, B.PHONE from t1 A left join t1 B on A.NAME = B.NAME and B.IID = 2 where A.IID = 1 and (A.PHONE <> B.PHONE or B.NAME is null) union select A.NAME, A.PHONE, B.NAME, B.PHONE from t1 B left join t1 A on B.NAME = A.NAME and A.IID = 1 where B.IID = 2 and (A.PHONE <> B.PHONE or A.NAME is null)" "create table t1 (a varchar(5)) engine=myisam" "create table t2 engine=myisam select * from t1 union select 'abcdefghijkl'" -"alter table t2 ROW_FORMAT=fixed" +"SELECT * FROM wl6951" "SET @is_old_connection = 1" "SELECT @is_old_connection" "SELECT ""Unix domain socket will hit wait_timeout with reconnect, still succeed as reconnect is enabled.""" @@ -105023,6 +118504,9 @@ KEY `pseudo` (`pseudo`) "update t1 set a=a+100 limit 0" "explain update t1 set a=a+100 limit 0" "update t1 set a=a+100 where a=1 and a=2" +"update t1 set a=b+100 where a=1 and a=2" +"update t1 set a=b+100 where c=1 and a=2" +"update t1 set d=a+100 where a=1" "CREATE TABLE t1 ( place_id int (10) unsigned NOT NULL, @@ -105095,6 +118579,8 @@ PRIMARY KEY (`colC`,`colA`,`colD`,`colE`) "insert into t2 values(1,1),(2,2)" "UPDATE t1 SET t1.f2=(SELECT MAX(t2.f4) FROM t2 WHERE t2.f3=t1.f1)" "select DATABASE()" +"update t1 set f1=1 where count(*)=1" +"delete from t1 where count(*)=1" "create table t1 ( a int, b int default 0, index (a) )" "insert into t1 (a) values (0),(0),(0),(0),(0),(0),(0),(0)" "select a from t1 order by a limit 1" @@ -105117,6 +118603,7 @@ PRIMARY KEY (`colC`,`colA`,`colD`,`colE`) "update t2 set a=3 where a=2" "create table t1(f1 int, `*f2` int)" "update t1 set `*f2`=1" +"update t1 set f2=1 order by f2" "CREATE TABLE t1 ( request_id int unsigned NOT NULL auto_increment, user_id varchar(12) default NULL, @@ -105154,17 +118641,20 @@ SELECT @newA := 1 + a FROM t1 WHERE quux <= 0.1" "update t2 set a=id" "select count(*) from t1 join t2 on (t1.a=t2.a)" "update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id" -"update t1 set a=1" "update t2 set a=1" "CREATE FUNCTION f1() RETURNS INT RETURN f1()" +"UPDATE t1 SET i = 3 WHERE f1()" +"UPDATE t1 SET i = f1()" "CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT, PRIMARY KEY (f1))" "ALTER TABLE t2 COMMENT = 'ABC'" "UPDATE t2, t1 SET t2.f1 = 2, t1.f1 = 9" "ALTER TABLE t2 COMMENT = 'DEF'" +"UPDATE IGNORE v1 SET a = 1" "DROP TABLE IF EXISTS t1, not_exists" "CREATE TABLE t1 (PRIMARY KEY(pk)) AS SELECT 1 AS pk" "CREATE FUNCTION f1() RETURNS INTEGER RETURN (SELECT 1 FROM not_exists)" "CREATE VIEW v1 AS SELECT pk FROM t1 WHERE f1() = 13" +"UPDATE v1 SET pk = 7 WHERE pk > 0" "CREATE TABLE t2 (a CHAR(2), b CHAR(2), c CHAR(2), d CHAR(2), INDEX idx (a,b(1),c)) ENGINE=INNODB" "UPDATE t2 SET d = 10 WHERE b = 10 LIMIT 5" @@ -105202,6 +118692,7 @@ KEY key1 (a,b,c) (3, 3, 3, 9), (4, 4, 4, 0), (5, 5, 5, 1), (5, 6, 7, 3), (5, 7, 9, 9)" "INSERT INTO t1 (a,b,c,d) VALUES (5, 5, 1, 1), (5, 5, 2, 1), (5, 5, 4, 1)" "CREATE TABLE t1 (a INT PRIMARY KEY, b DATE)" +"UPDATE t1 SET b= NULL WHERE a < '00:38:47.008761'" "CREATE TABLE t1( id INTEGER NOT NULL AUTO_INCREMENT, token VARCHAR(255) DEFAULT NULL, @@ -105210,6 +118701,7 @@ KEY token (token) )DEFAULT CHARSET=utf8mb3" "INSERT INTO t1 VALUES (1, ""abc""), (2, ""def"")" "UPDATE t1 SET token = X'ad'" +"UPDATE t1 SET a=1 ORDER BY CAST('invalid' AS DATETIME)" "CREATE TABLE t1 (f1 INT PRIMARY KEY, f2 INT CHECK (f2 < 400))" "CREATE VIEW v2 AS SELECT * FROM t2 WHERE f2 < 400 WITH CHECK OPTION" "INSERT INTO t1 VALUES (1, 10), (2, 20)" @@ -105226,6 +118718,7 @@ UPDATE t1 JOIN t2 USING(a) SET t2.a=t2.a+1 WHERE t1.b>0" "CREATE VIEW vtr AS SELECT * FROM t1 JOIN vmat2 AS dt2 ON t1.a1=dt2.a2" "UPDATE vtr SET b1=b1+1 WHERE a1=1" +"UPDATE vtr SET b2=b2+1 WHERE a2=1" "DROP VIEW vtr, vmat2" "CREATE TABLE g(c INTEGER, b INTEGER)" "UPDATE t SET a=1 WHERE EXISTS(SELECT b FROM g WHERE 1 NOT LIKE c FOR UPDATE)" @@ -105237,6 +118730,7 @@ SELECT * FROM t1 JOIN vmat2 AS dt2 ON t1.a1=dt2.a2" "INSERT INTO t1 VALUES (1, 'one', '01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456')" "INSERT INTO t1 VALUES (2, 'two', '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567')" "UPDATE t1 SET c1 = c2 WHERE i = -1" +"UPDATE t1 SET c1 = c2 WHERE i = 0" "UPDATE IGNORE t1 SET c1 = c2 WHERE i = 1" "UPDATE t1 SET c1 = c2 WHERE i = 2" "SET SESSION sql_mode = DEFAULT" @@ -105311,6 +118805,7 @@ b int unsigned "create table `#mysql50#mysqltest-1`.`t1` (a int)" "create table `#mysql50#mysqltest-1`.`#mysql50#t-1` (a int)" "show create database `mysqltest1`" +"show create database `mysqltest-1`" "show create database `#mysql50#mysqltest-1`" "show tables in `mysqltest1`" "show tables in `#mysql50#mysqltest-1`" @@ -105320,12 +118815,14 @@ b int unsigned "drop table if exists `txu#p#p1`" "create table `txu#p#p1` (s1 int)" "insert into `txu#p#p1` values (1)" +"select * from `txu@0023p@0023p1`" "create table `txu@0023p@0023p1` (s1 int)" "insert into `txu@0023p@0023p1` values (2)" -"select * from `txu@0023p@0023p1`" "select * from `txu#p#p1`" "drop table `txu@0023p@0023p1`" "drop table `txu#p#p1`" +"USE `#mysql50#.`" +"USE `#mysql50#../blablabla`" "CREATE DATABASE testDB" "use testDB" "INSERT INTO t1 (c1) VALUES(1)" @@ -105381,7 +118878,11 @@ b int unsigned "ALTER USER u1 FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 3" "ALTER USER u1 FAILED_LOGIN_ATTEMPTS 0 PASSWORD_LOCK_TIME 0" "SET GLOBAL partial_revokes=DEFAULT" +"CREATE USER foo@localhost FAILED_LOGIN_ATTEMPTS -1",,syntax_error +"CREATE USER goo@localhost FAILED_LOGIN_ATTEMPTS 32768" "CREATE USER foo@localhost FAILED_LOGIN_ATTEMPTS 32767" +"CREATE USER foo@localhost PASSWORD_LOCK_TIME -1",,syntax_error +"CREATE USER goo@localhost PASSWORD_LOCK_TIME 32768" "CREATE USER foo@localhost PASSWORD_LOCK_TIME 32767" "CREATE USER ''@localhost IDENTIFIED BY 'pwd' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 3" "CREATE USER foo@localhost IDENTIFIED BY 'foo' PASSWORD_LOCK_TIME 3 FAILED_LOGIN_ATTEMPTS 2" @@ -105408,6 +118909,13 @@ b int unsigned "ALTER USER foo@localhost COMMENT 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'" "SELECT user_attributes FROM mysql.user WHERE user= 'foo'" "ALTER USER foo@localhost COMMENT 'xxx'" +"ALTER USER foo@localhost ATTRIBUTE 'not a valid object'" +"ALTER USER foo@localhost ATTRIBUTE NULL",,syntax_error +"ALTER USER foo@localhost ATTRIBUTE",,syntax_error +"ALTER USER foo@localhost COMMENT",,syntax_error +"ALTER USER u4@sdasd ATTRIBUTE '{}'" +"ALTER USER fff@asdasd COMMENT ''" +"ALTER USER USER() COMMENT 'test'",,syntax_error "CREATE USER foo2@localhost IDENTIFIED BY 'foo' COMMENT 'xxx'" "SHOW CREATE USER foo2@localhost" "SELECT user,user_attributes FROM mysql.user WHERE user='foo2'" @@ -105437,6 +118945,8 @@ b int unsigned "SET @@sql_mode = @org_sql_mode",NO_BACKSLASH_ESCAPES "CREATE USER u1@localhost IDENTIFIED BY 'foo' COMMENT 'Not permitted to change this'" "GRANT SELECT ON *.* to u1@localhost" +"ALTER USER u1@localhost COMMENT 'I comment what I want'" +"ALTER USER u1@localhost ATTRIBUTE '{""key"": ""value""}'" "CREATE USER u1@localhost IDENTIFIED BY 'foo',u2@localhost IDENTIFIED BY 'foo' COMMENT ""Works with partial restrictions""" "GRANT CREATE USER,SELECT ON *.* TO u2@localhost" "GRANT INSERT, CREATE ON *.* TO u1@localhost" @@ -105445,7 +118955,9 @@ b int unsigned "ALTER USER CURRENT_USER() COMMENT 'test'" "SELECT user_attributes->>""$.metadata.comment"" FROM mysql.user WHERE user='u2'" "ALTER USER CURRENT_USER() ATTRIBUTE '{ ""comment"" : null }'" +"REVOKE CREATE ON mysql.* FROM u1@localhost" "ALTER USER u1@localhost ATTRIBUTE '{""Restrictions"": [{""Database"":""mysql"",""Privileges"": [ ""CREATE"" ]}]}'" +"CREATE USER u1@localhost ATTRIBUTE ""this is a string""" "SET GLOBAL partial_revokes=@org_partial_revokes" "DELETE FROM mysql.user WHERE user = 'wl8540'" "SELECT COUNT(*) FROM mysql.user WHERE user = 'wl8540'" @@ -105453,8 +118965,10 @@ b int unsigned "CREATE USER IF NOT EXISTS wl8540@host1" "CREATE USER IF NOT EXISTS wl8540@host1, wl8540@host2" "SELECT COUNT(*) FROM mysql.user WHERE user = 'wl8540' AND account_locked = 'Y'" +"ALTER USER wl8540@host3 ACCOUNT LOCK" "ALTER USER IF EXISTS wl8540@host3, wl8540@host4, wl8540@host1 ACCOUNT LOCK" "ALTER USER IF EXISTS wl8540@host2 ACCOUNT LOCK" +"DROP USER wl8540@host3" "DROP USER IF EXISTS wl8540@host3" "DROP USER IF EXISTS wl8540@host3,wl8540@host2,wl8540@host4" "DROP USER IF EXISTS wl8540@nohost1, wl8540@nohost2" @@ -105498,6 +119012,7 @@ IDENTIFIED WITH 'mysql_native_password'" "create user mysqltest_1@localhost with max_user_connections 2" "alter user mysqltest_1@localhost with max_user_connections 3" "select @@session.max_user_connections, @@global.max_user_connections" +"set session max_user_connections= 2" "set global max_user_connections= 2" "set global max_user_connections= 0" "SELECT IS_USED_LOCK('test') IS NULL AS expect_1" @@ -105535,6 +119050,7 @@ WHERE GET_LOCK('test2',0) = 1" "SELECT GET_LOCK('test1', 0)" "SELECT IS_FREE_LOCK('test1') = 0 AS expect_1" "SELECT GET_LOCK('test2', 0)" +"SELECT GET_LOCK('test2', 7200)" "SELECT RELEASE_LOCK('test1')" "SELECT RELEASE_LOCK('test2') + RELEASE_LOCK('test1') = 2 AS expect_1" "SELECT (RELEASE_LOCK('test1') = 1) AND (RELEASE_LOCK('test3') IS NULL) @@ -105554,6 +119070,92 @@ SET @aux = GET_LOCK(new.id,7200)" "RENAME TABLE t1x TO t1" "SELECT RELEASE_ALL_LOCKS()" "DROP TRIGGER trig_t1_ins" +"CREATE TRIGGER trig_t1_ins BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +SET @aux = GET_LOCK(2,1); +IF @aux <> 1 THEN +SIGNAL SQLSTATE '45000' +SET MESSAGE_TEXT = 'LOCK 2 not got. Abort.', MYSQL_ERRNO = 9999; +END IF; +END;" +"SELECT GET_LOCK(CAST(1 AS CHAR),0)" +"SELECT @aux" +"CREATE TABLE t2 (col1 INT, col2 INT, PRIMARY KEY(col1))" +"INSERT INTO t1 VALUES(1),(2),(1)" +"INSERT INTO t2 SELECT id, GET_LOCK(id,0) FROM t1" +"INSERT INTO t1 VALUES(1),(1),(2)" +"SELECT GET_LOCK('test', 0) ORDER BY oscar" +"SELECT GET_LOCK('test', 0), RELEASE_LOCK('test')" +"SELECT GET_LOCK('test', 0), RELEASE_LOCK('test'), GET_LOCK('test', 0)" +"SELECT GET_LOCK('test', 0), GET_LOCK('test1', 0), RELEASE_ALL_LOCKS(), +GET_LOCK('test', 0)" +"SELECT RELEASE_ALL_LOCKS() = 1 AS expect_1" +"CREATE TABLE t1 AS SELECT GET_LOCK('test', 0) AS g, RELEASE_LOCK('test') AS r, +RELEASE_ALL_LOCKS() AS ra, IS_USED_LOCK('test') AS isu, +IS_FREE_LOCK('test') AS isf" +"SELECT GET_LOCK(NULL, 0)" +"SELECT GET_LOCK("""", 0)" +"SELECT RELEASE_LOCK(NULL)" +"SELECT RELEASE_LOCK("""")" +"SELECT IS_USED_LOCK(NULL)" +"SELECT IS_USED_LOCK("""")" +"SELECT IS_FREE_LOCK(NULL)" +"SELECT IS_FREE_LOCK("""")" +"SELECT GET_LOCK(REPEAT('a', 64), 0) = 1 AS expect_1" +"SELECT IS_USED_LOCK(REPEAT('a', 64)) = CONNECTION_ID() AS expect_1" +"SELECT IS_FREE_LOCK(REPEAT('a', 64)) = 0 AS expect_1" +"SELECT RELEASE_LOCK(REPEAT('a', 64)) = 1 AS expect_1" +"SELECT GET_LOCK(REPEAT('a', 65), 0)" +"SELECT IS_USED_LOCK(REPEAT('a', 65))" +"SELECT IS_FREE_LOCK(REPEAT('a', 65))" +"SELECT RELEASE_LOCK(REPEAT('a', 65))" +"SELECT GET_LOCK('A', 0)" +"SELECT GET_LOCK('a', 0)" +"SELECT IS_USED_LOCK('a') = CONNECTION_ID()" +"SELECT IS_FREE_LOCK('a')" +"SELECT RELEASE_LOCK('a')" +"SELECT GET_LOCK(_cp1251 0xf2e5f1f2, 0)" +"SELECT GET_LOCK(_utf8mb3 0xd182d0b5d181d182, 0)" +"SELECT IS_USED_LOCK(_koi8r 0xd4c5d3d4) = CONNECTION_ID()" +"SELECT IS_FREE_LOCK(_utf8mb3 0xd182d0b5d181d182)" +"SELECT RELEASE_LOCK(_utf8mb3 0xd182d0b5d181d182)" +"SELECT GET_LOCK('test')" +"SELECT GET_LOCK('test', 0, 1)" +"SELECT RELEASE_LOCK()" +"SELECT RELEASE_LOCK('test', 1)" +"SELECT RELEASE_ALL_LOCKS('test')" +"SELECT IS_USED_LOCK()" +"SELECT IS_USED_LOCK('test', 'test2')" +"SELECT IS_FREE_LOCK()" +"SELECT IS_FREE_LOCK('test', 'test2')" +"SELECT GET_LOCK(""test"", 0)" +"SELECT GET_LOCK(""test"", NULL) = 0 AS expect_1" +"SELECT RELEASE_LOCK(""test"")" +"CREATE TABLE t1 (conn CHAR(7), connection_id INT)" +"INSERT INTO t1 VALUES ('default', CONNECTION_ID())" +"SELECT GET_LOCK('bug16501',600)" +"INSERT INTO t1 VALUES ('con1', CONNECTION_ID())" +"SELECT IS_USED_LOCK('bug16501') = connection_id +FROM t1 +WHERE conn = 'default'" +"SELECT IS_USED_LOCK('bug16501') = CONNECTION_ID()" +"SELECT RELEASE_LOCK('bug16501')" +"SELECT IS_USED_LOCK('bug16501') = connection_id +FROM t1 +WHERE conn = 'con1'" +"SELECT IS_USED_LOCK('bug16501')" +"SET @@session.div_precision_increment=0" +"select * from(SELECT MIN(GET_LOCK(0,0) / 1 ^ 0)) as a" +"select * from(SELECT MAX(RELEASE_LOCK(0) / 1 ^ 0)) as a" +"select * from(SELECT MAX(RELEASE_ALL_LOCKS() / 1 ^ 0)) as a" +"SET @@session.div_precision_increment=default" +"SELECT GET_LOCK('1234567890123456789012345678901234567890123456789012345678901234',1)" +"SELECT GET_LOCK('12345678901234567890123456789012345678901234567890123456789012345',1)" +"SELECT GET_LOCK('',1)" +"SELECT GET_LOCK(NULL,1)" +"SET @a=0x414243FAFA" +"SELECT GET_LOCK(@a,1)" +"SET @a=0x414243" "CREATE USER no_pwd_history@localhost PASSWORD HISTORY 0 PASSWORD REUSE INTERVAL 0 DAY" "SELECT Password_reuse_history, Password_reuse_time @@ -105565,6 +119167,7 @@ User='no_pwd_history' AND Host='localhost'" "ALTER USER no_pwd_history@localhost IDENTIFIED BY 'changemeagain'" "ALTER USER no_pwd_history@localhost IDENTIFIED WITH ""mysql_native_password"" AS '*C40F578E1A9D8D1146AFD04AFCB0228EED9D45FB'" +"SET PASSWORD='pwd1'; SET PASSWORD='pwd2';" "SET GLOBAL password_history= 1" "SET PASSWORD FOR no_pwd_history@localhost = 'tracked'" "SET GLOBAL password_history= default" @@ -105599,12 +119202,17 @@ User='to_be_renamed' AND Host='localhost'" "RENAME USER to_be_renamed@localhost TO now_renamed@localhost" "SELECT COUNT(*) FROM mysql.password_history WHERE User='now_renamed' AND Host='localhost'" +"SET PASSWORD FOR now_renamed@localhost = 'haha'" "DELETE FROM mysql.password_history WHERE User='now_renamed' AND Host='localhost'" -"SET PASSWORD FOR now_renamed@localhost = 'haha'" "DROP USER now_renamed@localhost" "CREATE USER no_pwd_history@localhost IDENTIFIED BY 'haha'" "RENAME TABLE mysql.password_history TO mysql.password_history_backup" +"CREATE USER no_pwd_history_err@localhost IDENTIFIED BY 'haha' +PASSWORD HISTORY 0 PASSWORD REUSE INTERVAL 0 DAY" +"SET PASSWORD FOR no_pwd_history@localhost = 'hehe'" +"ALTER USER no_pwd_history@localhost IDENTIFIED BY 'hihi'" +"ALTER USER no_pwd_history@localhost IDENTIFIED WITH 'sha256_password'" "RENAME TABLE mysql.password_history_backup TO mysql.password_history" "CREATE USER dup_history@localhost IDENTIFIED BY 'haha' PASSWORD HISTORY 1 PASSWORD HISTORY DEFAULT" @@ -105622,15 +119230,16 @@ PASSWORD HISTORY 1" User='empty_pwd' AND Host='localhost'" "SET PASSWORD FOR empty_pwd@localhost = ''" "DROP USER empty_pwd@localhost" +"SET SESSION password_reuse_interval= 0" "SET GLOBAL password_history=0" "SET GLOBAL password_reuse_interval=1" "CREATE USER def_interval@localhost IDENTIFIED BY 'haha'" "SELECT COUNT(*) FROM mysql.password_history WHERE User='def_interval' AND Host='localhost'" +"SET PASSWORD FOR def_interval@localhost = 'haha'" "UPDATE mysql.password_history SET Password_timestamp = TIMESTAMPADD(DAY, -1, Password_timestamp) WHERE User='def_interval' AND Host='localhost'" -"SET PASSWORD FOR def_interval@localhost = 'haha'" "SELECT COUNT(*) FROM mysql.password_history WHERE User='def_interval' AND Host='localhost' AND TO_DAYS(Password_timestamp)=TO_DAYS(NOW())" @@ -105645,9 +119254,9 @@ WHERE User='def_interval' AND Host='localhost'" "SET GLOBAL password_reuse_interval=5" "CREATE USER mohit@localhost IDENTIFIED BY 'mohit' PASSWORD HISTORY 1 PASSWORD REUSE INTERVAL 2 DAY" +"ALTER USER mohit@localhost IDENTIFIED BY 'mohit'" "ALTER USER mohit@localhost IDENTIFIED BY 'mohit1'" "SET GLOBAL password_reuse_interval= default" -"ALTER USER mohit@localhost IDENTIFIED BY 'mohit'" "CREATE USER mohit@localhost IDENTIFIED WITH sha256_password BY 'mohit' PASSWORD HISTORY 1" "CREATE TABLE pwd_history_backup AS @@ -105662,6 +119271,7 @@ WHERE User='mohit' AND Host='localhost'" "DROP TABLE pwd_history_backup" "CREATE USER mohit_sha@localhost IDENTIFIED WITH sha256_password BY 'mohit_sha' PASSWORD HISTORY 1" +"ALTER USER mohit_sha@localhost IDENTIFIED BY 'mohit_sha'" "ALTER USER mohit_sha@localhost IDENTIFIED BY 'mohit_sha2'" "DROP USER mohit_sha@localhost" "SET GLOBAL password_reuse_interval= 1" @@ -105669,12 +119279,12 @@ PASSWORD HISTORY 1" PASSWORD REUSE INTERVAL 1 DAY" "SELECT COUNT(*) FROM mysql.password_history WHERE User='amar' AND Host='localhost'" +"ALTER USER amar@localhost IDENTIFIED BY 'amar'" "DROP USER amar@localhost" "SET GLOBAL password_reuse_interval=default" "CREATE USER mohit_sha@localhost IDENTIFIED WITH caching_sha2_password BY 'mohit_sha' PASSWORD HISTORY 1" "ALTER USER mohit_sha@localhost PASSWORD HISTORY 2" -"ALTER USER mohit_sha@localhost IDENTIFIED BY 'mohit_sha'" "ALTER USER mohit_sha@localhost IDENTIFIED BY 'mohit_sha3'" "create table t1 (a varchar(50))" "SET TIMESTAMP=10000" @@ -105683,6 +119293,7 @@ PASSWORD HISTORY 1" "set @var1= ""';aaa""" "SET @var2=char(ascii('a'))" "insert into t1 values (@var1),(@var2)" +"set @a := foo" "set @a := connection_id() + 3" "select @a - connection_id()" "set @b := 1" @@ -105741,6 +119352,7 @@ PASSWORD HISTORY 1" "select @v, coercibility(@v)" "set @v1=null, @v2=1, @v3=1.1, @v4=now()" "select coercibility(@v1),coercibility(@v2),coercibility(@v3),coercibility(@v4)" +"set session @honk=99",,syntax_error "select @@local.max_allowed_packet" "select @@session.max_allowed_packet" "select @@global.max_allowed_packet" @@ -105771,6 +119383,7 @@ PASSWORD HISTORY 1" "insert into t1 values (1,2),(2,3),(3,1)" "select @var:=f2 from t1 group by f1 order by f2 desc limit 1" "create table t2 as select @var:=f2 from t1 group by f1 order by f2 desc limit 1" +"insert into city 'blah'",,syntax_error "create table t1(f1 int, f2 varchar(2), f3 float, f4 decimal(2,1))" "insert into t1 values (1, ""a"", 1.5, 1.6), (1, ""a"", 1.5, 1.6), (2, ""b"", 2.5, 2.6), @@ -105850,6 +119463,9 @@ LIMIT 1" "SET @var1 = 6" "set @X234567890123456789012345678901234567890123456789012345678901234 = 12" "select @X234567890123456789012345678901234567890123456789012345678901234" +"set @X2345678901234567890123456789012345678901234567890123456789012345 = 12" +"set @``= ""illegal""" +"set @`endswithspace `= ""illegal""" "select @X2345678901234567890123456789012345678901234567890123456789012345" "select @``" "select @`endswithspace `" @@ -105866,7 +119482,9 @@ LIMIT 1" "SELECT (@x:=b) FROM t1" "SELECT * FROM t1 WHERE b = (SELECT (@x:=1) FROM t1) OR a = @x" "SELECT (@x:=a) FROM t1" +"SELECT * FROM t1 WHERE a = (SELECT (@x:=_utf16 0x1023) FROM t1) OR b = @x" "SET @c := FROM_UNIXTIME(1537002029)" +"DO ((@c := (_utf32' -'))) SOUNDS LIKE(@c)" "CREATE TABLE t1 (pk INTEGER PRIMARY KEY, d DATE)" "INSERT INTO t1 VALUES(1, '2017-01-01')" "SELECT d < 00010101000000.0 AS a FROM t1" @@ -105916,6 +119534,10 @@ vc_utf32 VARCHAR(20) COLLATE utf32_general_ci "PREPARE s4 FROM 'SELECT HEX(vc_utf8mb4) FROM strings WHERE vc_utf16 = ?'" "PREPARE s5 FROM 'SELECT HEX(vc_utf8mb4) FROM strings WHERE vc_utf32 = ?'" "EXECUTE s1 USING @str_ascii" +"EXECUTE s1 USING @str_latin1" +"EXECUTE s1 USING @str_utf8mb4" +"EXECUTE s1 USING @str_utf16" +"EXECUTE s1 USING @str_utf32" "EXECUTE s2 USING @str_ascii" "EXECUTE s2 USING @str_latin1" "EXECUTE s2 USING @str_utf8mb4" @@ -105988,6 +119610,7 @@ WHERE TRACE LIKE '%Constructed hypergraph%'" "SET optimizer_trace='enabled=off'" "call mtr.add_suppression(""Too big collation id"")" "call mtr.add_suppression(""Error while parsing"")" +"CREATE TABLE t1 (a VARCHAR(10)) COLLATE utf8mb3_hugeid_ci" "CREATE DATABASE db_25380000" "USE db_25380000" "CREATE TABLE t_25380000(a INT)" @@ -106002,9 +119625,13 @@ WHERE TRACE LIKE '%Constructed hypergraph%'" "CREATE USER 'user1'@'localhost' IDENTIFIED BY 'pass'" "GRANT ALL ON mysql.* TO 'user1'@'localhost'" "SET @@global.validate_password.policy=LOW" +"CREATE USER 'user'@'localhost' IDENTIFIED BY ''" +"ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'aweg'" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'password3'" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'password'" +"ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'passwor'" "SET @@global.validate_password.length= 12" +"ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'afrgtyhlp98'" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'iuyt567nbvfA'" "SET @@global.validate_password.mixed_case_count= 0" "SET @@global.validate_password.number_count= 0" @@ -106013,6 +119640,7 @@ WHERE TRACE LIKE '%Constructed hypergraph%'" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY ''" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'p'" "SET @@global.validate_password.length= -2" +"SET @@global.validate_password.length= 3.5" "SET @@global.validate_password.length= 2147483647" "SET @@global.validate_password.length= 2147483648" "PREPARE stmt1 FROM 'UPDATE mysql.user SET authentication_string=(?) where USER = ?'" @@ -106027,17 +119655,29 @@ WHERE TRACE LIKE '%Constructed hypergraph%'" "SET @@global.validate_password.special_char_count= 1" "SET @@global.validate_password.policy=MEDIUM" "CREATE USER 'user'@'localhost' IDENTIFIED BY 'aedfoiASE$%'" +"ALTER USER 'user'@'localhost' IDENTIFIED BY 'foiuiuytd78'" +"ALTER USER 'user'@'localhost' IDENTIFIED BY 'abcdefgh'" +"ALTER USER 'user'@'localhost' IDENTIFIED BY 'abcdeFGH'" "ALTER USER 'user'@'localhost' IDENTIFIED BY 'pasretryFRGH&^98'" +"CREATE USER 'user'@'localhost' IDENTIFIED BY 'aedSWEhjui'" "ALTER USER 'user'@'localhost' IDENTIFIED BY 'gruyuHOIU&*('" "ALTER USER 'user'@'localhost' IDENTIFIED BY 'passwor0987**&'" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'piufgklol'" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'password1A#'" +"ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'erftuiik'" +"ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'erftuIIK'" +"ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'erftu123'" "SET @@global.validate_password.number_count= 2" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'password12A#'" "SET @@global.validate_password.mixed_case_count= 2" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'password1AB#'" "SET @@global.validate_password.special_char_count= 2" "SET @@global.validate_password.policy=STRONG" +"CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'" +"ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'pass12345A#'" +"ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'pass0000A#'" +"SELECT VALIDATE_PASSWORD_STRENGTH('password', 0)" +"SELECT VALIDATE_PASSWORD_STRENGTH()" "SELECT VALIDATE_PASSWORD_STRENGTH('')" "SELECT VALIDATE_PASSWORD_STRENGTH('pass')" "SELECT VALIDATE_PASSWORD_STRENGTH('password')" @@ -106046,7 +119686,10 @@ WHERE TRACE LIKE '%Constructed hypergraph%'" "SELECT VALIDATE_PASSWORD_STRENGTH('PA12wrd!#')" "SELECT VALIDATE_PASSWORD_STRENGTH('PA00wrd!#')" "SET NAMES 'ujis'" +"SET @@global.validate_password.length= 4" +"CREATE USER 'user2'@'localhost' IDENTIFIED BY 'password'" "CREATE USER 'user2'@'localhost' IDENTIFIED BY 'PA00wrd!#'" +"ALTER USER 'user2'@'localhost' IDENTIFIED BY 'password'" "ALTER USER 'user2'@'localhost' IDENTIFIED BY 'PA00wrd!#'" "DROP USER 'base_user'@'localhost'" "DROP USER 'user'@'localhost'" @@ -106072,8 +119715,8 @@ WHERE VARIABLE_NAME = ""validate_password.dictionary_file_last_parsed""" "SELECT VARIABLE_VALUE into @ts2 FROM performance_schema.global_status WHERE VARIABLE_NAME = ""validate_password.dictionary_file_last_parsed""" "SELECT @ts1 <> @ts2" -"SET @@global.validate_password.dictionary_file=NULL" "CREATE USER 'user2'@'localhost' IDENTIFIED BY 'passWORD123#'" +"SET @@global.validate_password.dictionary_file=NULL" "SELECT NAME FROM performance_schema.setup_instruments WHERE NAME LIKE '%validate%'" "SELECT NAME FROM performance_schema.rwlock_instances WHERE NAME LIKE '%validate%'" "DROP USER 'user1'@'localhost', 'user2'@'localhost'" @@ -106097,7 +119740,11 @@ WHERE VARIABLE_NAME = ""validate_password.dictionary_file_last_parsed""" "SET @@GLOBAL.VALIDATE_PASSWORD.LENGTH=8" "SET @a='Aaaaaaaaa1!'" "SELECT VALIDATE_PASSWORD_STRENGTH(@a)" +"SET PASSWORD= ''" +"CREATE USER 'sha256user'@'localhost' IDENTIFIED WITH sha256_password" +"CREATE USER passtest@localhost" "CREATE TABLE test.t1 (a int)" +"CREATE USER 'passtest'@'localhost' IDENTIFIED WITH 'caching_sha2_password' AS ''" "SELECT VALIDATE_PASSWORD_STRENGTH( 0x6E616E646F73617135234552 )" "SELECT VALIDATE_PASSWORD_STRENGTH( 0xae4fb3774143790d0036033d6e )" "CREATE USER 'passtest'@'localhost' IDENTIFIED BY 'My!Complex@Passw0rd'" @@ -106117,6 +119764,8 @@ WHERE VARIABLE_NAME = ""validate_password.dictionary_file_last_parsed""" "create user user@localhost identified by 'ABCabc1!'" "grant all privileges on *.* to user@localhost" "SET @@GLOBAL.VALIDATE_PASSWORD.POLICY=MEDIUM" +"SET @@session.validate_password.check_user_name= ON" +"SET validate_password.check_user_name= ON" "SET @@global.validate_password.mixed_case_count=0" "SET @@global.validate_password.number_count=0" "SET @@global.validate_password.special_char_count=0" @@ -106126,11 +119775,13 @@ WHERE VARIABLE_NAME = ""validate_password.dictionary_file_last_parsed""" "GRANT ALL PRIVILEGES ON test.* TO ""base_user""@localhost" "SET PASSWORD FOR ""base_user""@localhost = 'base_user'" "ALTER USER ""base_user""@localhost IDENTIFIED BY 'base_user'" +"CREATE USER foo@localhost IDENTIFIED BY 'root'" "SELECT VALIDATE_PASSWORD_STRENGTH('root') = 0" "SELECT VALIDATE_PASSWORD_STRENGTH('toor') = 0" "SELECT VALIDATE_PASSWORD_STRENGTH('Root') <> 0" "SELECT VALIDATE_PASSWORD_STRENGTH('Toor') <> 0" "SELECT VALIDATE_PASSWORD_STRENGTH('fooHoHo%1') <> 0" +"SET PASSWORD='base_user'" "SET PASSWORD='base_User'" "SELECT VALIDATE_PASSWORD_STRENGTH('base_user') = 0" "SELECT VALIDATE_PASSWORD_STRENGTH('resu_esab') = 0" @@ -106166,6 +119817,7 @@ WHERE VARIABLE_NAME = ""validate_password.dictionary_file_last_parsed""" "SET @@global.validate_password_special_char_count= 0" "SET @@global.validate_password_length= 0" "SET @@global.validate_password_length= -2" +"SET @@global.validate_password_length= 3.5" "SET @@global.validate_password_length= 2147483647" "SET @@global.validate_password_length= 2147483648" "SET @@global.validate_password_length= 4294967295" @@ -106179,6 +119831,7 @@ WHERE VARIABLE_NAME = ""validate_password.dictionary_file_last_parsed""" "SET @@global.validate_password_special_char_count= 2" "SET @@global.validate_password_policy=STRONG" "ALTER USER 'base_user'@'localhost' IDENTIFIED BY 'PA00wrd!#'" +"SET @@global.validate_password_length= 4" "SET @@global.validate_password_length=default" "SET @@global.validate_password_number_count=default" "SET @@global.validate_password_mixed_case_count=default" @@ -106200,6 +119853,8 @@ WHERE VARIABLE_NAME = ""validate_password_dictionary_file_last_parsed""" "SET @@global.validate_password_dictionary_file=NULL" "SET @@global.validate_password_policy=DEFAULT" "SELECT @@global.validate_password_check_user_name" +"SET @@session.validate_password_check_user_name= ON" +"SET validate_password_check_user_name= ON" "SET @@global.validate_password_mixed_case_count=0" "SET @@global.validate_password_number_count=0" "SET @@global.validate_password_special_char_count=0" @@ -106213,6 +119868,8 @@ WHERE VARIABLE_NAME = ""validate_password_dictionary_file_last_parsed""" "insert into t1 set UNIQ=0x38afba1d73e6a18a" "insert into t1 set UNIQ=123" "explain select * from t1 where UNIQ=0x38afba1d73e6a18a" +"select x'hello'",,syntax_error +"select 0xfg" "create table t1 select 1 as x, 2 as xx" "select x,xx from t1" "drop table if exists table_28127_a" @@ -106232,6 +119889,8 @@ WHERE VARIABLE_NAME = ""validate_password_dictionary_file_last_parsed""" "select '', length('')" "select b'', 0+b''" "select x'', 0+x''" +"select 0x" +"select 0b" "create TABLE t1(a INT, b VARBINARY(4), c VARBINARY(4))" "INSERT INTO t1 VALUES (1, 0x31393831, 0x31303037), @@ -106557,6 +120216,21 @@ WHERE variable_name IN ('range_alloc_block_size', "set transaction_alloc_block_size=default, @@transaction_prealloc_size=default" "SELECT @@version LIKE 'non-existent'" "SELECT @@version_compile_os LIKE 'non-existent'" +"set big_tables=OFFF" +"set big_tables=""OFFF""" +"set unknown_variable=1" +"set max_join_size=""hello""" +"set default_storage_engine=UNKNOWN_TABLE_TYPE" +"set default_storage_engine=MERGE, big_tables=2" +"set character_set_client=UNKNOWN_CHARACTER_SET" +"set collation_connection=UNKNOWN_COLLATION" +"set character_set_client=NULL" +"set collation_connection=NULL" +"select @@global.timestamp" +"set @@version=''" +"set @@concurrent_insert=1" +"set myisam_max_sort_file_size=100" +"set @@SQL_WARNINGS=NULL" "select @@autocommit, @@big_tables" "set global binlog_cache_size=100" "set bulk_insert_buffer_size=100" @@ -106628,6 +120302,11 @@ WHERE variable_name IN ('range_alloc_block_size', "select * from t2 where a=3" "check table t1,t2" "select max(a) +1, max(a) +2 into @xx,@yy from t1" +"select @@xxxxxxxxxx" +"select @@session.key_buffer_size" +"set ft_boolean_syntax = @@init_connect" +"set global ft_boolean_syntax = @@init_connect" +"set init_connect = NULL" "set global init_connect = NULL" "set global myisam_max_sort_file_size=4294967296" "set global myisam_max_sort_file_size=default" @@ -106638,6 +120317,11 @@ WHERE variable_name IN ('range_alloc_block_size', "set @@global.max_user_connections=@svc, @@local.max_join_size=@svj" "set @a=@b, @b=@a" "SET max_join_size = @my_max_join_size" +"set @@global.global.key_buffer_size= 1",,syntax_error +"set GLOBAL global.key_buffer_size= 1",,syntax_error +"SELECT @@global.global.key_buffer_size",,syntax_error +"SELECT @@global.session.key_buffer_size",,syntax_error +"SELECT @@global.local.key_buffer_size",,syntax_error "create table t1 ( c1 tinyint, c2 smallint, @@ -106659,8 +120343,13 @@ c5 bigint)" "set @lc='JA_JP'" "set @@lc_time_names=@lc" "set lc_time_names=concat('de','_','DE')" +"set lc_time_names=concat('de','+','DE')" "set @@lc_time_names=1+2" +"set @@lc_time_names=1/0" +"set lc_time_names=NULL" +"set lc_time_names=-1" "set lc_time_names=110" +"set lc_time_names=111" "set lc_time_names=0" "select @@global.lc_time_names, @@lc_time_names" "set @@global.lc_time_names=fr_FR" @@ -106671,11 +120360,16 @@ c5 bigint)" "set @test = @@query_prealloc_size" "set @@query_prealloc_size = @test" "select @@query_prealloc_size = @test" +"set global sql_mode=repeat('a',80)" "select a into @x from t1" +"set @@warning_count=1" +"set @@global.error_count=1" "set @@max_heap_table_size= 4294967296" "select @@max_heap_table_size > 0" "set global max_heap_table_size= 4294967296" "select @@character_set_system" +"set global character_set_system = latin1" +"set @@global.version_compile_os='234'" "set character_set_filesystem=latin1" "set @@global.character_set_filesystem=latin2" "set character_set_filesystem=default" @@ -106708,8 +120402,14 @@ c5 bigint)" "select @@log_queries_not_using_indexes" "show variables like 'log_queries_not_using_indexes'" "select * from performance_schema.session_variables where variable_name like 'log_queries_not_using_indexes'" +"select @@""""",,syntax_error +"select @@&",,syntax_error +"select @@@",,syntax_error "select @@hostname" +"set @@hostname= ""anothername""" "show variables like 'hostname'" +"SET @@myisam_mmap_size= 500M" +"SET TIMESTAMP=2*1024*1024*1024" "SELECT UTC_DATE()" "set join_buffer_size=1" "set @save_join_buffer_size=@@join_buffer_size" @@ -106742,52 +120442,129 @@ c5 bigint)" "set global join_buffer_size =@my_join_buffer_size" "set global log_error_verbosity =@my_log_error_verbosity" "show global variables where Variable_name='table_definition_cache'" +"SET GLOBAL log_output = ''" +"SET GLOBAL log_output = 0" "SHOW VARIABLES like 'ft_max_word_len'" +"SELECT @@session.ft_max_word_len" "SELECT @@global.ft_max_word_len" +"SET @@session.ft_max_word_len= 7" +"SET @@global.ft_max_word_len= 7" "SHOW VARIABLES like 'ft_min_word_len'" +"SELECT @@session.ft_min_word_len" "SELECT @@global.ft_min_word_len" +"SET @@session.ft_min_word_len= 7" +"SET @@global.ft_min_word_len= 7" "SHOW VARIABLES like 'ft_query_expansion_limit'" +"SELECT @@session.ft_query_expansion_limit" +"SET @@session.ft_query_expansion_limit= 7" +"SET @@global.ft_query_expansion_limit= 7" "SHOW VARIABLES like 'ft_stopword_file'" +"SELECT @@session.ft_stopword_file" "SELECT @@global.ft_stopword_file" +"SET @@session.ft_stopword_file= 'x'" +"SET @@global.ft_stopword_file= 'x'" "SHOW VARIABLES like 'back_log'" +"SELECT @@session.back_log" +"SET @@session.back_log= 7" +"SET @@global.back_log= 7" "SHOW VARIABLES like 'large_files_support'" +"SELECT @@session.large_files_support" "SELECT @@global.large_files_support" +"SET @@session.large_files_support= true" +"SET @@global.large_files_support= true" +"SELECT @@session.character_sets_dir" "SELECT @@global.character_sets_dir" +"SET @@session.character_sets_dir= 'x'" +"SET @@global.character_sets_dir= 'x'" "SHOW VARIABLES like 'init_file'" +"SELECT @@session.init_file" "SELECT @@global.init_file" +"SET @@session.init_file= 'x'" +"SET @@global.init_file= 'x'" "SHOW VARIABLES like 'lc_messages_dir'" +"SELECT @@session.lc_messages_dir" "SELECT @@global.lc_messages_dir" +"SET @@session.lc_messages_dir= 'x'" +"SET @@global.lc_messages_dir= 'x'" "SHOW VARIABLES like 'large_page_size'" +"SELECT @@session.large_page_size" "SELECT @@global.large_page_size" +"SET @@session.large_page_size= 7" +"SET @@global.large_page_size= 7" "SHOW VARIABLES like 'large_pages'" +"SELECT @@session.large_pages" "SELECT @@global.large_pages" +"SET @@session.large_pages= true" +"SET @@global.large_pages= true" "SHOW VARIABLES like 'log_bin'" +"SELECT @@session.log_bin" "SELECT @@global.log_bin" +"SET @@session.log_bin= true" +"SET @@global.log_bin= true" "SHOW VARIABLES like 'log_error'" +"SELECT @@session.log_error" "SELECT @@global.log_error" +"SET @@session.log_error= 'x'" +"SET @@global.log_error= 'x'" "SHOW VARIABLES like 'lower_case_file_system'" +"SELECT @@session.lower_case_file_system" "SELECT @@global.lower_case_file_system" +"SET @@session.lower_case_file_system= true" +"SET @@global.lower_case_file_system= true" "SHOW VARIABLES like 'lower_case_table_names'" +"SELECT @@session.lower_case_table_names" "SELECT @@global.lower_case_table_names" +"SET @@session.lower_case_table_names= 7" +"SET @@global.lower_case_table_names= 7" "SHOW VARIABLES like 'myisam_recover_options'" +"SELECT @@session.myisam_recover_options" +"SET @@session.myisam_recover_options= 'x'" +"SET @@global.myisam_recover_options= 'x'" "SHOW VARIABLES like 'open_files_limit'" +"SELECT @@session.open_files_limit" "SELECT @@global.open_files_limit" +"SET @@session.open_files_limit= 7" +"SET @@global.open_files_limit= 7" "SHOW VARIABLES like 'pid_file'" +"SELECT @@session.pid_file" "SELECT @@global.pid_file" +"SET @@session.pid_file= 'x'" +"SET @@global.pid_file= 'x'" "SHOW VARIABLES like 'plugin_dir'" +"SELECT @@session.plugin_dir" "SELECT @@global.plugin_dir" +"SET @@session.plugin_dir= 'x'" +"SET @@global.plugin_dir= 'x'" "SHOW VARIABLES like 'port'" +"SELECT @@session.port" "SELECT @@global.port" +"SET @@session.port= 7" +"SET @@global.port= 7" "SHOW VARIABLES like 'protocol_version'" +"SELECT @@session.protocol_version" "SELECT @@global.protocol_version" +"SET @@session.protocol_version= 7" +"SET @@global.protocol_version= 7" "SHOW VARIABLES like 'skip_external_locking'" +"SELECT @@session.skip_external_locking" "SELECT @@global.skip_external_locking" +"SET @@session.skip_external_locking= true" +"SET @@global.skip_external_locking= true" "SHOW VARIABLES like 'skip_networking'" +"SELECT @@session.skip_networking" "SELECT @@global.skip_networking" +"SET @@session.skip_networking= true" +"SET @@global.skip_networking= true" "SHOW VARIABLES like 'skip_show_database'" +"SELECT @@session.skip_show_database" "SELECT @@global.skip_show_database" +"SET @@session.skip_show_database= true" +"SET @@global.skip_show_database= true" "SHOW VARIABLES like 'thread_stack'" +"SELECT @@session.thread_stack" "SELECT @@global.thread_stack" +"SET @@session.thread_stack= 7" +"SET @@global.thread_stack= 7" "SET GLOBAL auto_increment_offset=-1" "SET GLOBAL auto_increment_offset=0" "select @@default_storage_engine" @@ -106809,6 +120586,7 @@ c5 bigint)" "SET SQL_MODE=STRICT_ALL_TABLES" "SET @@global.max_binlog_cache_size=-1" "SET @@global.max_join_size=0" +"SET @@global.key_buffer_size=0" "SET @@global.key_cache_block_size=0" "CREATE TABLE t1(f1 DECIMAL(1,1) UNSIGNED)" "INSERT INTO t1 VALUES (0.2),(0.1)" @@ -106822,37 +120600,45 @@ c5 bigint)" "SET @sql_notes_saved = @@sql_notes" "SET @@sql_notes = ON" "SELECT @@sql_notes" +"SET @@sql_notes = OF",,syntax_error "SET @@sql_notes = OFF" "SET @@sql_notes = @sql_notes_saved" "SET @delay_key_write_saved = @@delay_key_write" "SET GLOBAL delay_key_write = ON" "SELECT @@delay_key_write" +"SET GLOBAL delay_key_write = OF",,syntax_error +"SET GLOBAL delay_key_write = AL" "SET GLOBAL delay_key_write = OFF" "SET GLOBAL delay_key_write = ALL" "SET GLOBAL delay_key_write = @delay_key_write_saved" "SET @sql_safe_updates_saved = @@sql_safe_updates" "SET @@sql_safe_updates = ON" "SELECT @@sql_safe_updates" +"SET @@sql_safe_updates = OF",,syntax_error "SET @@sql_safe_updates = OFF" "SET @@sql_safe_updates = @sql_safe_updates_saved" "SET @foreign_key_checks_saved = @@foreign_key_checks" "SET @@foreign_key_checks = ON" "SELECT @@foreign_key_checks" +"SET @@foreign_key_checks = OF",,syntax_error "SET @@foreign_key_checks = OFF" "SET @@foreign_key_checks = @foreign_key_checks_saved" "SET @unique_checks_saved = @@unique_checks" "SET @@unique_checks = ON" "SELECT @@unique_checks" +"SET @@unique_checks = OF",,syntax_error "SET @@unique_checks = OFF" "SET @@unique_checks = @unique_checks_saved" "SET @sql_buffer_result_saved = @@sql_buffer_result" "SET @@sql_buffer_result = ON" "SELECT @@sql_buffer_result" +"SET @@sql_buffer_result = OF",,syntax_error "SET @@sql_buffer_result = OFF" "SET @@sql_buffer_result = @sql_buffer_result_saved" "SET @sql_quote_show_create_saved = @@sql_quote_show_create" "SET @@sql_quote_show_create = ON" "SELECT @@sql_quote_show_create" +"SET @@sql_quote_show_create = OF",,syntax_error "SET @@sql_quote_show_create = OFF" "SET @@sql_quote_show_create = @sql_quote_show_create_saved" "drop function if exists t1_max" @@ -106867,6 +120653,16 @@ c5 bigint)" @@session.autocommit=t1_min(), @@session.autocommit=t1_max()" "drop function t1_min" "drop function t1_max" +"set session character_set_results = 2048" +"set session character_set_client=2048" +"set session character_set_connection=2048" +"set session character_set_server=2048" +"set session collation_server=2048" +"set session character_set_filesystem=2048" +"set session character_set_database=2048" +"set session collation_connection=2048" +"set session collation_database=2048" +"SET @@sql_mode= 8589934592" "show variables like 'log_slow%'" "set global log_slow_admin_statements = on" "show global variables like 'log_slow_admin_statements'" @@ -106888,27 +120684,55 @@ c5 bigint)" "set global sql_replica_skip_counter= 0" "set @@global.replica_net_timeout= @my_replica_net_timeout" "SHOW VARIABLES like 'log_replica_updates'" +"SELECT @@session.log_replica_updates" +"SET @@session.log_replica_updates= true" +"SET @@global.log_replica_updates= true" "SHOW VARIABLES like 'relay_log'" +"SELECT @@session.relay_log" "SELECT @@global.relay_log" +"SET @@session.relay_log= 'x'" +"SET @@global.relay_log= 'x'" "SHOW VARIABLES like 'relay_log_basename'" +"SELECT @@session.relay_log_basename" "SELECT @@global.relay_log_basename" +"SET @@session.relay_log_basename= 'x'" +"SET @@global.relay_log_basename= 'x'" "SHOW VARIABLES like 'log_bin_basename'" +"SELECT @@session.log_bin_basename" "SELECT @@global.log_bin_basename" +"SET @@session.log_bin_basename= 'x'" +"SET @@global.log_bin_basename= 'x'" "SHOW VARIABLES like 'relay_log_index'" +"SELECT @@session.relay_log_index" "SELECT @@global.relay_log_index" +"SET @@session.relay_log_index= 'x'" +"SET @@global.relay_log_index= 'x'" "SHOW VARIABLES like 'log_bin_index'" +"SELECT @@session.log_bin_index" "SELECT @@global.log_bin_index" +"SET @@session.log_bin_index= 'x'" +"SET @@global.log_bin_index= 'x'" "SHOW VARIABLES like 'relay_log_space_limit'" +"SELECT @@session.relay_log_space_limit" "SELECT @@global.relay_log_space_limit" +"SET @@session.relay_log_space_limit= 7" +"SET @@global.relay_log_space_limit= 7" "SHOW VARIABLES like 'replica_load_tmpdir'" +"SELECT @@session.replica_load_tmpdir" "SELECT @@global.replica_load_tmpdir" +"SET @@session.replica_load_tmpdir= 'x'" +"SET @@global.replica_load_tmpdir= 'x'" "SHOW VARIABLES like 'replica_skip_errors'" +"SELECT @@session.replica_skip_errors" "SELECT @@global.replica_skip_errors" +"SET @@session.replica_skip_errors= 7" +"SET @@global.replica_skip_errors= 7" "CREATE TABLE t1 (a MEDIUMTEXT)" "SET GLOBAL max_allowed_packet=2048" "SET GLOBAL net_buffer_length=4096" "SHOW SESSION VARIABLES LIKE 'max_allowed_packet'" "SHOW SESSION VARIABLES LIKE 'net_buffer_length'" +"INSERT INTO t1 VALUES ('123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890')" "SET GLOBAL net_buffer_length=default" "SET @sql_big_selects_save=@@sql_big_selects" "SET @@sql_big_selects=1" @@ -106921,8 +120745,9 @@ WHERE b.variable_name IS NULL AND a.variable_name NOT IN ('debug_sync') ORDER BY a.variable_name" "SET @@sql_big_selects=@sql_big_selects_save" -"DROP TABLE all_vars" +"SET character_set_client = @undefined_var" "PREPARE s FROM ""set character_set_client = ?""" +"EXECUTE s USING @x" "show global status like ""Uptime_%""" "SET @old_debug = @@GLOBAL.debug" "set debug= 'T'" @@ -106958,7 +120783,22 @@ ORDER BY a.variable_name" "SET GLOBAL binlog_cache_size=100" "SET GLOBAL binlog_cache_size=DEFAULT" "DROP ROLE r2,r1" +"SELECT version_tokens_show()" "drop function version_tokens_show" +"select version_tokens_set(""token1 = abc;token2= def"",123)" +"select version_tokens_edit(""token1= 123; token3 = asdf"",123)" +"select version_tokens_delete(""token1;token3"",123)" +"select version_tokens_show(""123"")" +"select version_tokens_set(123)" +"select version_tokens_edit(123)" +"select version_tokens_delete(123)" +"select version_tokens_lock_shared(""Less arguments"")" +"select version_tokens_lock_shared(1,""Wrong argument type"")" +"select version_tokens_lock_exclusive(""Less arguments"")" +"select version_tokens_lock_exclusive(1,""Wrong argument type"")" +"select version_tokens_unlock(""Takes no arguments"")" +"select version_tokens_lock_shared(""gizmo"", -1)" +"select version_tokens_lock_exclusive(""gizmo"", -1)" "CREATE USER vbhagi@localhost" "select version_tokens_set(""token1 = abc;token2= def"")" "select version_tokens_show()" @@ -107005,13 +120845,13 @@ WHERE name IN ('wait/io/table/sql/handler', "INSERT INTO performance_schema.setup_objects (object_type, object_schema, object_name, enabled, timed) VALUES ('TABLE', 'mtr', '%', 'NO', 'NO')" "DO version_tokens_set('vt1=11;vt2=22;vt3=33;vt4=44;vt5=55')" -"SELECT version_tokens_show()" "DO version_tokens_lock_exclusive('vt3', 'vt5', 'vt1', 0)" "SELECT OBJECT_NAME, LOCK_TYPE, LOCK_DURATION, LOCK_STATUS FROM performance_schema.metadata_locks WHERE OBJECT_NAME in ('vt1','vt3','vt5') AND LOCK_TYPE='EXCLUSIVE' ORDER BY OBJECT_NAME" +"DO version_tokens_lock_exclusive('vt3', 'vt5', 'vt1', 4)" "DO version_tokens_unlock()" "UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'" "DELETE FROM performance_schema.setup_objects WHERE object_schema='mtr'" @@ -107026,17 +120866,33 @@ ORDER BY OBJECT_NAME" "SELECT version_tokens_delete(' * ')" "SELECT version_tokens_delete(' ; y ')" "SELECT version_tokens_edit('=')" +"SELECT version_tokens_lock_shared('a',''>''%'0')" "SELECT version_tokens_delete(null)" "drop table if exists t1,t2,t3,t4,t9,`t1a``b`,v1,v2,v3,v4,v5,v6" "drop view if exists t1,t2,`t1a``b`,v1,v2,v3,v4,v5,v6" -"insert into t1 values (1,2), (1,3), (2,4), (2,5), (3,10)" +"create view v1 (c,d) as select a,b from t1" "create view v1 (c) as select b+1 from t1" +"insert into t1 values (1,2), (1,3), (2,4), (2,5), (3,10)" +"create view v1 (c,d) as select a,b+@@global.max_user_connections from t1" +"create view v1 (c,d) as select a,b from t1 +where a = @@global.max_user_connections" +"CREATE VIEW v1 AS SELECT @a=1 FROM DUAL" +"CREATE VIEW v1 AS SELECT 1 FROM DUAL WHERE @a>1" +"CREATE VIEW v1 AS SELECT (@a:= 1) AS one FROM DUAL" +"CREATE VIEW v1 AS SELECT 1 FROM DUAL WHERE (@a:= 1)" "select c from v1" "select is_updatable from information_schema.views where table_name='v1'" +"show create view t1" +"select a from v1" +"select v1.a from v1" +"select b from v1" +"select v1.b from v1" "explain select c from v1" "create algorithm=temptable view v2 (c) as select b+1 from t1" "select c from v2" "explain select c from v2" +"create view v3 (c) as select a+1 from v1" +"create view v3 (c) as select b+1 from v1" "create view v3 (c) as select c+1 from v1" "select c from v3" "explain select c from v3" @@ -107053,9 +120909,12 @@ ORDER BY OBJECT_NAME" "create view v1 (c,d,e,f) as select a,b, a in (select a+2 from t1), a = all (select a from t1) from t1" "create view v2 as select c, d from v1" +"create view v1 (c,d,e,f) as select a,b, a in (select a+2 from t1), a = all (select a from t1) from t1" "create or replace view v1 (c,d,e,f) as select a,b, a in (select a+2 from t1), a = all (select a from t1) from t1" +"alter view v2 as select c, d from v1" "create or replace view v2 as select c, d from v1" "alter view v1 (c,d) as select a,max(b) from t1 group by a" +"drop view v100" "create view v1 (a) as select a+1 from t1" "create view v2 (a) as select a-1 from t1" "select * from t1 natural left join v1" @@ -107063,6 +120922,7 @@ a in (select a+2 from t1), a = all (select a from t1) from t1" "select * from v2 natural left join v1" "insert into t1 values (1), (2), (3), (1), (2), (3)" "create view v1 as select distinct a from t1" +"create view v1 as select distinct a from t1 WITH CHECK OPTION" "create view v1 as select a from t1 WITH CHECK OPTION" "create view v2 as select a from t1 WITH CASCADED CHECK OPTION" "create view v3 as select a from t1 WITH LOCAL CHECK OPTION" @@ -107080,9 +120940,13 @@ a in (select a+2 from t1), a = all (select a from t1) from t1" "create view v1 (a,c) as select a, b+1 from t1" "create algorithm=temptable view v2 (a,c) as select a, b+1 from t1" "select is_updatable from information_schema.views where table_name='v2'" +"update v1 set c=a+c" +"update v2 set a=a+c" "update v1 set a=a+c" "create table t2 (x int)" "insert into t2 values (10), (20)" +"update t2,v1 set v1.c=v1.a+v1.c where t2.x=v1.a" +"update t2,v2 set v2.a=v2.a+c where t2.x=v2.a" "update t2,v1 set v1.a=v1.a+v1.c where t2.x=v1.a" "create table t1 (a int, b int, primary key(b))" "insert into t1 values (1,20), (2,30), (3,40), (4,50), (5,100)" @@ -107090,8 +120954,10 @@ a in (select a+2 from t1), a = all (select a from t1) from t1" "update v1 set c=c+1" "create view v2 (c) as select b from t1 where a>=3" "insert into t1 values (1,2), (2,3), (3,4), (4,5), (5,10)" +"delete from v2 where c < 4" "delete from v1 where c < 4" "insert into t2 values (1), (2), (3), (4)" +"delete v2 from t2,v2 where t2.x=v2.a" "delete v1 from t2,v1 where t2.x=v1.a" "create table t1 (a int, b int, c int, primary key(a,b))" "insert into t1 values (10,2,-1), (20,3,-2), (30,4,-3), (40,5,-4), (50,10,-5)" @@ -107101,8 +120967,9 @@ a in (select a+2 from t1), a = all (select a from t1) from t1" "update v1 set x=x+1" "update v2 set x=x+1" "update v1 set x=x+1 limit 1" -"set updatable_views_with_limit=YES" "update v2 set x=x+1 limit 1" +"delete from v2 limit 1" +"set updatable_views_with_limit=YES" "set updatable_views_with_limit=DEFAULT" "show variables like ""updatable_views_with_limit""" "insert into t1 values (10,2,-1), (20,3,-2)" @@ -107111,12 +120978,18 @@ a in (select a+2 from t1), a = all (select a from t1) from t1" "create view v3 (x,y,z) as select b, a, b from t1" "create view v4 (x,y,z) as select c+1, b, a from t1" "create algorithm=temptable view v5 (x,y,z) as select c, b, a from t1" +"insert into v3 values (-60,4,30)" +"insert into v4 values (-60,4,30)" +"insert into v5 values (-60,4,30)" "insert into v1 values (-60,4,30)" "insert into v1 (z,y,x) values (50,6,-100)" "insert into v2 values (5,40)" "drop view v1,v2,v3,v4,v5" "create table t2 (a int, b int, c int, primary key(a,b))" "insert into t2 values (30,4,-60)" +"insert into v3 select c, b, a from t2" +"insert into v4 select c, b, a from t2" +"insert into v5 select c, b, a from t2" "insert into v1 select c, b, a from t2" "insert into v1 (z,y,x) select a+20,b+2,-100 from t2" "insert into v2 select b+1, a+10 from t2" @@ -107126,9 +120999,9 @@ a in (select a+2 from t1), a = all (select a from t1) from t1" "create view v2 (y) as select x from v1 where x < 100" "create ALGORITHM=TEMPTABLE view v1 (x) as select a from t1" "create view v2 (y) as select x from v1" +"update v2 set y=10 where y=2" "create table t1 (a int not null auto_increment, b int not null, primary key(a), unique(b))" "create view v1 (x) as select b from t1" -"insert into v1 values (1)" "insert into t1 (b) values (2)" "create table t1 (""a*b"" int)","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" "create view v1 as select ""a*b"" from t1","ANSI_QUOTES,IGNORE_SPACE,PIPES_AS_CONCAT" @@ -107141,6 +121014,8 @@ a in (select a+2 from t1), a = all (select a from t1) from t1" "drop table `t1a``b`" "create table t1 (col1 char(5),col2 char(5))" "create table t1 (col1 char(5),newcol2 char(5))" +"insert into v1 values('a','aa')" +"create view v1 (a,a) as select 'a','a'" "create table t1 (col1 int,col2 char(22))" "insert into t1 values(5,'Hello, world of views')" "create view v2 as select * from v1" @@ -107148,6 +121023,7 @@ a in (select a+2 from t1), a = all (select a from t1) from t1" "select is_updatable from information_schema.views where table_schema != 'sys' and table_schema != 'information_schema'" "create view v1 as select a, sum(b) from t1 group by a" +"select b from v1 use index (some_index) where b=1" "create view v1 (col1,col2) as select col1,col2 from t1" "insert into v1 values('s1','p1'),('s1','p2'),('s1','p3'),('s1','p4'),('s2','p1'),('s3','p2'),('s4','p4')" "select distinct first.col2 from t1 first where first.col2 in (select second.col2 from t1 second where second.col1<>first.col1)" @@ -107159,7 +121035,9 @@ table_schema != 'sys' and table_schema != 'information_schema'" "PREPARE stmt FROM 'insert into v1 values (?)'" "SET @v0 = '4'" "PREPARE stmt FROM 'insert into v1 (a) values (?)'" +"CREATE VIEW v02 AS SELECT * FROM DUAL" "CREATE VIEW v1 AS SELECT EXISTS (SELECT 1 UNION SELECT 2)" +"create index i1 on v1 (col1)" "CREATE VIEW v1 (f1,f2,f3,f4) AS SELECT connection_id(), pi(), current_user(), version()" "create table t2 (s2 int)" "insert into t2 values (2), (3)" @@ -107219,22 +121097,74 @@ table_schema != 'sys' and table_schema != 'information_schema'" "select c from v1 where exists (select * from t1 where a=2 and b=c)" "create view v1 as select cast(1 as char(3))" "create view v3 as select a from t1" +"rename table v1 to mysqltest.v1" "rename table v1 to v2" +"rename table v3 to v1, v2 to t1" "drop view v2,v3" "create view v1 as select 'a',1" "create view v2 as select * from v1 union all select * from v1" "create view v3 as select * from v2 where 1 = (select `1` from v2)" "create view v4 as select * from v3" "drop view v4, v3, v2, v1" +"create view v1 as select 5 into @w" +"create view v1 as select 5 into outfile 'ttt'" "create view v1 as select 1 from (select 1) as d1" "create table t1 (s1 int, primary key (s1))" "insert into v1 values (1) on duplicate key update s1 = 7" "create table t3 (col1 datetime not null)" "create view v3 as select v2.col1 from v2,t2 where v2.col1 = t2.col1" +"update v2 set col1 = (select max(col1) from v1)" +"update v2 set col1 = (select max(col1) from t1)" +"update v2 set col1 = (select max(col1) from v2)" +"update v2,t2 set v2.col1 = (select max(col1) from v1) where v2.col1 = t2.col1" +"update t1,t2 set t1.col1 = (select max(col1) from v1) where t1.col1 = t2.col1" +"update v1,t2 set v1.col1 = (select max(col1) from v1) where v1.col1 = t2.col1" +"update t2,v2 set v2.col1 = (select max(col1) from v1) where v2.col1 = t2.col1" +"update t2,t1 set t1.col1 = (select max(col1) from v1) where t1.col1 = t2.col1" +"update t2,v1 set v1.col1 = (select max(col1) from v1) where v1.col1 = t2.col1" +"update v2,t2 set v2.col1 = (select max(col1) from t1) where v2.col1 = t2.col1" +"update v1,t2 set v1.col1 = (select max(col1) from t1) where v1.col1 = t2.col1" +"update t2,v2 set v2.col1 = (select max(col1) from t1) where v2.col1 = t2.col1" +"update t2,t1 set t1.col1 = (select max(col1) from t1) where t1.col1 = t2.col1" +"update t2,v1 set v1.col1 = (select max(col1) from t1) where v1.col1 = t2.col1" +"update v2,t2 set v2.col1 = (select max(col1) from v2) where v2.col1 = t2.col1" +"update t1,t2 set t1.col1 = (select max(col1) from v2) where t1.col1 = t2.col1" +"update v1,t2 set v1.col1 = (select max(col1) from v2) where v1.col1 = t2.col1" +"update t2,v2 set v2.col1 = (select max(col1) from v2) where v2.col1 = t2.col1" +"update t2,t1 set t1.col1 = (select max(col1) from v2) where t1.col1 = t2.col1" +"update t2,v1 set v1.col1 = (select max(col1) from v2) where v1.col1 = t2.col1" +"update v3 set v3.col1 = (select max(col1) from v1)" +"update v3 set v3.col1 = (select max(col1) from t1)" +"update v3 set v3.col1 = (select max(col1) from v2)" +"update v3 set v3.col1 = (select max(col1) from v3)" +"delete from v2 where col1 = (select max(col1) from v1)" +"delete from v2 where col1 = (select max(col1) from t1)" +"delete from v2 where col1 = (select max(col1) from v2)" +"delete v2 from v2,t2 where (select max(col1) from v1) > 0 and v2.col1 = t2.col1" +"delete t1 from t1,t2 where (select max(col1) from v1) > 0 and t1.col1 = t2.col1" +"delete v1 from v1,t2 where (select max(col1) from v1) > 0 and v1.col1 = t2.col1" +"delete v2 from v2,t2 where (select max(col1) from t1) > 0 and v2.col1 = t2.col1" +"delete t1 from t1,t2 where (select max(col1) from t1) > 0 and t1.col1 = t2.col1" +"delete v1 from v1,t2 where (select max(col1) from t1) > 0 and v1.col1 = t2.col1" +"delete v2 from v2,t2 where (select max(col1) from v2) > 0 and v2.col1 = t2.col1" +"delete t1 from t1,t2 where (select max(col1) from v2) > 0 and t1.col1 = t2.col1" +"delete v1 from v1,t2 where (select max(col1) from v2) > 0 and v1.col1 = t2.col1" +"insert into v2 values ((select max(col1) from v1))" +"insert into t1 values ((select max(col1) from v1))" +"insert into v2 values ((select max(col1) from t1))" +"insert into t1 values ((select max(col1) from t1))" +"insert into v2 values ((select max(col1) from v2))" +"insert into t1 values ((select max(col1) from v2))" +"insert into v3 (col1) values ((select max(col1) from v1))" +"insert into v3 (col1) values ((select max(col1) from t1))" +"insert into v3 (col1) values ((select max(col1) from v2))" +"insert into v3 (col1) values ((select CONVERT_TZ('20050101000000','UTC','MET') from v2))" "insert into v3 (col1) values ((select CONVERT_TZ('20050101000000','UTC','MET') from t2))" +"insert into t3 values ((select CONVERT_TZ('20050101000000','UTC','MET') from t2))" "create algorithm=temptable view v4 as select * from t1" "insert into t1 (col1) values ((select max(col1) from v4))" "drop view v4,v3,v2,v1" +"handler v1 open as xx" "insert into t2 select a from t1 where a > 1" "create view v1 as select a from t1 where a > 1" "select * from t1 left join (t2 as t, v1) on v1.a=t1.a" @@ -107250,12 +121180,15 @@ table_schema != 'sys' and table_schema != 'information_schema'" "set @arg='e'" "create view v1 as select * from t1 where a < 2 with check option" "insert into v1 values(1)" +"insert into v1 values(3)" "insert ignore into v1 values (2),(3),(0)" "insert into v1 SELECT 1" +"insert into v1 SELECT 3" "insert into t2 values (2),(3),(0)" "insert ignore into v1 SELECT a from t2" "select * from t1 order by a desc" "update v1 set a=-1 where a=0" +"update v1 set a=2 where a=1" "update v1 set a=0 where a=0" "update v1,t2 set v1.a=v1.a-1 where v1.a=t2.a" "update v1 set a=a+1" @@ -107263,9 +121196,17 @@ table_schema != 'sys' and table_schema != 'information_schema'" "create view v2 as select * from v1 where a > 0 with local check option" "create view v3 as select * from v1 where a > 0 with cascaded check option" "insert into v3 values (1)" +"insert into v2 values (0)" +"insert into v3 values (0)" +"insert into v2 values (2)" +"insert into v3 values (2)" "drop view v3,v2,v1" "insert into v1 values (1) on duplicate key update a=2" "insert ignore into v1 values (1) on duplicate key update a=2" +"alter view v1 as select * from v2" +"alter view v1 as select * from v1" +"create or replace view v1 as select * from v2" +"create or replace view v1 as select * from v1" "drop view v2,v1" "alter algorithm=undefined view v1 as select * from t1 with check option" "alter algorithm=merge view v1 as select * from t1 with cascaded check option" @@ -107288,18 +121229,24 @@ table_schema != 'sys' and table_schema != 'information_schema'" "insert ignore into v1 values (6),(3)" "create trigger t1_bi before insert on t1 for each row set new.s1 = 500" "create view v1 as select * from t1 where s1 <> 127 with check option" +"insert into v1 values (0)" "create view v1 as select * from t1 where s1 <> 0" "create view v2 as select * from v1 where s1 <> 1 with cascaded check option" "create view v1 as select * from t1 where a <> 'Field A' with check option" +"load data infile '../../std_data/loaddata2.dat' into table v1 fields terminated by ',' enclosed by ''''" "select concat('|',a,'|'), concat('|',b,'|') from v1" "load data infile '../../std_data/loaddata2.dat' ignore into table v1 fields terminated by ',' enclosed by ''''" "create view v1 as select * from t1 where a != 0 with check option" +"load data infile '../../std_data/loaddata3.dat' into table v1 fields terminated by '' enclosed by '' ignore 1 lines" "load data infile '../../std_data/loaddata3.dat' ignore into table v1 fields terminated by '' enclosed by '' ignore 1 lines" "create table t1 (a text, b text) " "create table t1 (s1 smallint)" "create view v1 as select * from t1 where 20 < (select (s1) from t1)" +"insert into v1 values (30)" "create view v3 as select * from t1 where 20 < (select (s1) from v2)" +"insert into v3 values (30)" "create view v4 as select * from v2 where 20 < (select (s1) from t1)" +"insert into v4 values (30)" "check table t1,v1" "check table v1,t1" "check table v1" @@ -107320,6 +121267,7 @@ table_schema != 'sys' and table_schema != 'information_schema'" "create view v3 (a,b) as select t1.a as a, t2.a as b from t1, t2" "update v3 set a= 10 where a=1" "create view v2 (a,b) as select t1.b as a, t2.a as b from t1, t2" +"update v2 set a= 10 where a=200 limit 1" "set @a= 10" "set @b= 100" "prepare stmt1 from ""update v3 set a= ? where a=?""" @@ -107329,10 +121277,19 @@ table_schema != 'sys' and table_schema != 'information_schema'" "drop view v3,v2" "create table t2 (a int, primary key (a), b int)" "insert into t2 values (1000, 2000)" +"insert into v3 values (1,2)" +"insert into v3 select * from t2" +"insert into v3(a,b) values (1,2)" +"insert into v3(a,b) select * from t2" +"update v3 set a=1,b=2" "insert into v3(a) values (1)" "insert into v3(b) values (10)" "insert into v3(a) select a from t2" +"insert into v3(b) select b from t2" "insert into v3(a) values (1) on duplicate key update a=a+10000+VALUES(a)" +"delete from v3" +"delete v3,t1 from v3,t1" +"delete t1,v3 from t1,v3" "prepare stmt1 from ""insert into v3(a) values (?);""" "set @a= 100" "prepare stmt1 from ""insert into v3(a) select ?;""" @@ -107356,6 +121313,7 @@ table_schema != 'sys' and table_schema != 'information_schema'" "select col1,group_concat(col2,col3) from v1 group by col1" "create table t1 (s1 int, s2 char)" "create view v1 as select s1, s2 from t1" +"select s2 from v1 vq1 where 2 = (select count(*) from v1 vq2 having vq1.s2 = vq2.s2)" "select s2 from v1 vq1 where 2 = (select count(*) aa from v1 vq2 having vq1.s2 = aa)" "CREATE TABLE t1 (a1 int)" "CREATE VIEW v1(a,b) AS SELECT a1,a2 FROM t1 JOIN t2 ON a1=a2 WHERE a1>1" @@ -107444,6 +121402,9 @@ SELECT t1.b as c, t2.b as d FROM t1,t2 WHERE t1.a=t2.a" "create view v1 as select 's1', 's1', 1 as s1 from t1" "create view v1 as select s1, 's1', 's1' from t1" "create view v1 as select 's1', 's1', s1 from t1" +"create view v1 as select 1 as s1, 's1', s1 from t1" +"create view v1 as select 's1', s1, 1 as s1 from t1" +"create view v1(k, K) as select 1,2" "create view v1 as SELECT TIME_FORMAT(SEC_TO_TIME(3600),'%H:%i') as t" "create table t1 (a timestamp default now())" "create table t2 (b timestamp default now())" @@ -107480,9 +121441,12 @@ SELECT t1.b as c, t2.b as d FROM t1,t2 WHERE t1.a=t2.a" "insert into t1 values (19,41,32)" "create view v1 as select f59, f60 from t1 where f59 in (select f59 from t1)" +"update v1 set f60=2345" +"update t1 set f60=(select max(f60) from v1)" "create view v1 as select var_samp(s1) from t1" "CREATE TABLE t1 (col1 INT NOT NULL, col2 INT NOT NULL)" "CREATE VIEW v2 (vcol1) AS SELECT col1 FROM t1 WHERE col2 > 2" +"INSERT INTO v2 (vcol1) VALUES(12)" "select f1 as alias from v1" "CREATE TABLE t1 (s1 int, s2 int)" "INSERT INTO t1 VALUES (1,2)" @@ -107714,7 +121678,6 @@ SELECT id, date(d) + INTERVAL TIME_TO_SEC(d) SECOND AS t, COUNT(*) FROM t1 GROUP BY id, t" "CREATE VIEW v1 AS SELECT MIN(j) AS j FROM t1" "CREATE VIEW v2 AS SELECT MIN(i) FROM t1 WHERE j = ( SELECT * FROM v1 )" -"DROP VIEW v2, v1" "CREATE TABLE t1( fName varchar(25) NOT NULL, lName varchar(25) NOT NULL, @@ -107743,6 +121706,7 @@ FROM t1 HAVING Age < 75" "CREATE VIEW v1 AS SELECT a, b FROM t1" "INSERT IGNORE INTO v1 (b) VALUES (2)" "SET SQL_MODE = STRICT_ALL_TABLES" +"INSERT INTO v1 (b) VALUES (4)" "CREATE TABLE t1 (firstname text, surname text)" "INSERT INTO t1 VALUES (""Bart"",""Simpson""),(""Milhouse"",""van Houten""),(""Montgomery"",""Burns"")" @@ -107769,6 +121733,7 @@ FROM v1" "INSERT INTO v1 (col) VALUES ('b')" "INSERT INTO v2 (col) VALUES ('c')" "SELECT s1 FROM t1" +"DROP VIEW t1,v1" "CREATE DATABASE bug21261DB" "USE bug21261DB" "CREATE SQL SECURITY INVOKER VIEW v1 AS SELECT x FROM t1" @@ -107786,6 +121751,10 @@ FROM v1" "DROP USER 'user21261'@'localhost'" "DROP DATABASE bug21261DB" "create view v1 as select * from t1 where f1 between now() and now() + interval 1 minute" +"CREATE DEFINER=1234567890abcdefGHIKL1234567890abcdefGHIKL@localhost +VIEW v1 AS SELECT a FROM t1" +"CREATE DEFINER=some_user_name@host_1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890abcdefghij1234567890X +VIEW v2 AS SELECT b FROM t1" "CREATE FUNCTION f1() RETURNS INT BEGIN INSERT INTO v1 VALUES (0); @@ -107802,6 +121771,7 @@ END " "EXPLAIN SELECT * FROM t1 t WHERE t.s1+1 < (SELECT MAX(t1.s1) FROM t1)" "EXPLAIN SELECT * FROM v1 t WHERE t.s1+1 < (SELECT MAX(t1.s1) FROM t1)" "create view v1 as select s1 as a, s1 as b from t1" +"insert into v1 values (1,1)" "update v1 set a = 5" "CREATE TABLE t2(pk int PRIMARY KEY, fk int, ver int, org int)" "CREATE ALGORITHM=MERGE VIEW v1 AS @@ -107818,6 +121788,8 @@ SET NEW.i = (SELECT * FROM v1) + 1" "CREATE VIEW v1 AS SELECT id, val FROM t1 WHERE val >= 1 AND val <= 5 WITH CHECK OPTION" "INSERT INTO v1 (val) VALUES (2)" "INSERT INTO v1 (val) VALUES (4)" +"INSERT INTO v1 (val) VALUES (6)" +"UPDATE v1 SET val=6 WHERE id=2" "CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY, j INT)" "CREATE VIEW v1 AS SELECT j FROM t1" "CREATE VIEW v2 AS SELECT * FROM t1" @@ -107836,6 +121808,7 @@ SET NEW.i = (SELECT * FROM v1) + 1" "SELECT * FROM v1 WHERE mydate BETWEEN '2007-01-01' AND '2007-01-31'" "CREATE VIEW v1 AS SELECT t2.b FROM t1,t2 WHERE t1.a = t2.b WITH CHECK OPTION" +"UPDATE v1 SET b=3" "insert into t1 values(1,2),(1,3),(1,1),(2,3),(2,1),(2,2)" "create view v1 as select * from t1 order by f2" "explain select * from v1 order by f1" @@ -107985,13 +121958,18 @@ WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION" "CREATE VIEW v1 AS SELECT t1.a1, t1.c FROM t1 JOIN t2 ON t1.a1=t2.a2 AND t1.c < 3 WITH CHECK OPTION" +"UPDATE v1 SET c=3" "PREPARE t FROM 'UPDATE v1 SET c=3'" +"EXECUTE t" +"INSERT INTO v1(a1, c) VALUES (3, 3)" "UPDATE v1 SET c=1 WHERE a1=1" "CREATE VIEW v2 AS SELECT t1.a1, t1.c FROM (t1 JOIN t2 ON t1.a1=t2.a2 AND t1.c < 3) JOIN (t3 JOIN t4 ON t3.a3=t4.a4) ON t2.a2=t3.a3 WITH CHECK OPTION" +"UPDATE v2 SET c=3" "PREPARE t FROM 'UPDATE v2 SET c=3'" +"INSERT INTO v2(a1, c) VALUES (3, 3)" "UPDATE v2 SET c=2 WHERE a1=1" "INSERT INTO t1 VALUES (1,2), (2,2), (1,3), (1,2)" "CREATE VIEW v1 AS SELECT a, b+1 as b FROM t1" @@ -108043,6 +122021,9 @@ ORDER BY profile.person_id,role.app_name,role.role_name" "create view v1 as select distinct i from t1" "select table_name, is_updatable from information_schema.views where table_name = 'v1'" +"SELECT * FROM v1 USE KEY(non_existant)" +"SELECT * FROM v1 FORCE KEY(non_existant)" +"SELECT * FROM v1 IGNORE KEY(non_existant)" "CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b INT NOT NULL DEFAULT 0, PRIMARY KEY(a), KEY (b))" "INSERT INTO t1 VALUES (),(),(),(),(),(),(),(),(),(),(),(),(),(),()" @@ -108060,19 +122041,29 @@ PRIMARY KEY(a), KEY (b))" "prepare stmt from ""select * from v2 where a = 1""" "CREATE VIEW v1 AS SELECT p.a AS a FROM t1 p, t1 q" "SELECT MAX(a), COUNT(DISTINCT a) FROM v1 GROUP BY a" +"ALTER ALGORITHM=TEMPTABLE SQL SECURITY INVOKER VIEW t1 (c2) AS SELECT (1)" "CREATE VIEW v1 AS SELECT 1 FROM DUAL WHERE 1" -"SHOW CREATE TABLE v1" "CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT, INDEX (c2))" "SELECT * FROM t1 USE INDEX (PRIMARY) WHERE c1=2" "SELECT * FROM t1 USE INDEX (c2) WHERE c2=2" "CREATE VIEW v1 AS SELECT c1, c2 FROM t1" "SHOW INDEX FROM v1" +"SELECT * FROM v1 USE INDEX (PRIMARY) WHERE c1=2" +"SELECT * FROM v1 FORCE INDEX (PRIMARY) WHERE c1=2" +"SELECT * FROM v1 IGNORE INDEX (PRIMARY) WHERE c1=2" +"SELECT * FROM v1 USE INDEX (c2) WHERE c2=2" +"SELECT * FROM v1 FORCE INDEX (c2) WHERE c2=2" +"SELECT * FROM v1 IGNORE INDEX (c2) WHERE c2=2" "CREATE TABLE t1(a INT UNIQUE)" "CREATE VIEW v1 AS SELECT t1.a FROM t1, t1 AS a" +"REPLACE INTO v1(a) SELECT 1 FROM t1,t1 AS c" +"REPLACE INTO v1(a) SELECT 3 FROM t1,t1 AS c" "DELETE FROM t1 WHERE a=3" "INSERT INTO v1(a) SELECT 1 FROM t1,t1 AS c ON DUPLICATE KEY UPDATE `v1`.`a`= 1" "CREATE VIEW v2 AS SELECT t1.a FROM t1, v1 AS a" +"REPLACE INTO v2(a) SELECT 1 FROM t1,t1 AS c" +"REPLACE INTO v2(a) SELECT 3 FROM t1,t1 AS c" "INSERT INTO v2(a) SELECT 1 FROM t1,t1 AS c ON DUPLICATE KEY UPDATE `v2`.`a`= 1" "CREATE TABLE t1 (c INT)" @@ -108091,9 +122082,9 @@ ON DUPLICATE KEY UPDATE `v2`.`a`= 1" "SET collation_connection = latin1_general_ci" "CREATE VIEW v1 AS SELECT _latin1 'text1' AS c1, 'text2' AS c2" "SELECT COLLATION(c1), COLLATION(c2) FROM v1" +"SELECT * FROM v1 WHERE c1 = 'text1'" "SELECT * FROM v1 WHERE c2 = 'text2'" "SET names latin1" -"SELECT * FROM v1 WHERE c1 = 'text1'" "drop view if exists a" "create procedure p() begin @@ -108101,6 +122092,7 @@ declare continue handler for sqlexception begin end; create view a as select 1; end" "drop view a" +"ALTER TABLE v1" "CREATE VIEW v1 AS SELECT 1 FROM t1 WHERE ROW(1,1) >= ROW(1, (SELECT 1 FROM t1 WHERE f1 >= ANY ( SELECT '1' )))" "CREATE TABLE t1 (a CHAR(1) CHARSET latin1, b CHAR(1) CHARSET utf8mb3)" @@ -108111,7 +122103,14 @@ SUBSTRING(1 FROM (SELECT 3 FROM t1 WHERE a >= ANY(SELECT 1)))" "drop table if exists t_9801" "drop view if exists v_9801" "create table t_9801 (s1 int)" +"create view v_9801 as +select sum(s1) from t_9801 with check option" +"create view v_9801 as +select sum(s1) from t_9801 group by s1 with check option" +"create view v_9801 as +select sum(s1) from t_9801 group by s1 with rollup with check option" "drop table t_9801" +"ALTER VIEW t1 AS SELECT 1 AS f1" "CREATE VIEW v1 AS SELECT 1 AS f1" "CREATE TEMPORARY TABLE v1 (id INT)" "ALTER VIEW v1 AS SELECT 2 AS f1" @@ -108119,6 +122118,7 @@ SUBSTRING(1 FROM (SELECT 3 FROM t1 WHERE a >= ANY(SELECT 1)))" "DROP VIEW IF EXISTS t2" "CREATE TEMPORARY TABLE IF NOT EXISTS t1 (f1 integer)" "CREATE TEMPORARY TABLE t2 (f1 integer)" +"CREATE VIEW t2 AS SELECT * FROM t1" "CREATE VIEW v1 AS SELECT schema_name FROM information_schema.schemata" "CREATE PROCEDURE p1() SELECT COUNT(*), GET_LOCK('blocker', 100) FROM v1" "SELECT RELEASE_LOCK('blocker')" @@ -108127,8 +122127,10 @@ SUBSTRING(1 FROM (SELECT 3 FROM t1 WHERE a >= ANY(SELECT 1)))" "CREATE FUNCTION f2 (i INTEGER) RETURNS INTEGER RETURN 1" "CREATE VIEW v1 AS SELECT f1() AS a FROM t1" "CREATE VIEW v2 AS SELECT f2(a) AS a FROM v1" +"SELECT f2(a) FROM v2" "CREATE TEMPORARY TABLE t1 (a INT) engine=InnoDB" "DROP DATABASE IF EXISTS nodb" +"CREATE VIEW nodb.a AS SELECT 1" "CREATE TABLE t1 ( pk INT AUTO_INCREMENT, c_int_key INT, @@ -108266,9 +122268,33 @@ SELECT * FROM (SELECT DISTINCT * FROM t1) AS dt1 JOIN (SELECT DISTINCT * FROM t2) AS dt2 ON dt1.a1=dt2.a2" "INSERT INTO vtt(a1,b1) VALUES (1,100)" "INSERT INTO vtt(a2,b2) VALUES (1,100)" +"INSERT INTO vtr(a1,b1) VALUES (2,100)" +"INSERT INTO vtrd(a1,b1) VALUES (3,100)" +"INSERT INTO vtr(a2,b2) VALUES (2,100)" +"INSERT INTO vtrd(a2,b2) VALUES (3,100)" +"INSERT INTO vrt(a1,b1) VALUES (4,100)" +"INSERT INTO vrtd(a1,b1) VALUES (5,100)" +"INSERT INTO vrt(a2,b2) VALUES (4,100)" +"INSERT INTO vrtd(a2,b2) VALUES (5,100)" +"INSERT INTO vrr(a1,b1) VALUES (6,100)" +"INSERT INTO vrrd(a1,b1) VALUES (7,100)" +"INSERT INTO vrr(a2,b2) VALUES (6,100)" +"INSERT INTO vrrd(a2,b2) VALUES (7,100)" "SELECT * FROM vtt" "INSERT INTO vtt(a1,b1) SELECT 1,100" "INSERT INTO vtt(a2,b2) SELECT 1,100" +"INSERT INTO vtr(a1,b1) SELECT 2,100" +"INSERT INTO vtrd(a1,b1) SELECT 3,100" +"INSERT INTO vtr(a2,b2) SELECT 2,100" +"INSERT INTO vtrd(a2,b2) SELECT 3,100" +"INSERT INTO vrt(a1,b1) SELECT 4,100" +"INSERT INTO vrtd(a1,b1) SELECT 5,100" +"INSERT INTO vrt(a2,b2) SELECT 4,100" +"INSERT INTO vrtd(a2,b2) SELECT 5,100" +"INSERT INTO vrr(a1,b1) SELECT 6,100" +"INSERT INTO vrrd(a1,b1) SELECT 7,100" +"INSERT INTO vrr(a2,b2) SELECT 6,100" +"INSERT INTO vrrd(a2,b2) SELECT 7,100" "INSERT INTO t1 VALUES (1,100), (2,100), (3,100), (4,100), (5,100), (6,100), (7,100), (8,100), (9,100), (10,100), @@ -108277,19 +122303,48 @@ SELECT * FROM (SELECT DISTINCT * FROM t1) AS dt1 JOIN (1,100), (2,100), (3,100), (4,100), (5,100), (6,100), (7,100), (8,100), (9,100), (10,100), (11,100), (12,100), (13,100), (14,100)" +"DELETE FROM vtt WHERE a1=1" +"DELETE FROM vtr WHERE a1=2" +"DELETE FROM vtrd WHERE a1=3" +"DELETE FROM vrt WHERE a1=4" +"DELETE FROM vrtd WHERE a1=5" +"DELETE FROM vrr WHERE a1=6" +"DELETE FROM vrrd WHERE a1=7" +"DELETE vtt FROM vtt WHERE a1=8" +"DELETE vtr FROM vtr WHERE a1=9" +"DELETE vtrd FROM vtrd WHERE a1=10" +"DELETE vrt FROM vrt WHERE a1=11" +"DELETE vrtd FROM vrtd WHERE a1=12" +"DELETE vrr FROM vrr WHERE a1=13" +"DELETE vrrd FROM vrrd WHERE a1=14" "INSERT INTO t1 VALUES (1,100)" "INSERT INTO t2 VALUES (1,100)" "UPDATE vtt SET b1=b1+1 WHERE a1=1" "UPDATE vtt SET b2=b2+1 WHERE a2=1" "UPDATE vtrd SET b1=b1+1 WHERE a1=1" +"UPDATE vtrd SET b2=b2+1 WHERE a2=1" +"UPDATE vrt SET b1=b1+1 WHERE a1=1" +"UPDATE vrtd SET b1=b1+1 WHERE a1=1" "UPDATE vrt SET b2=b2+1 WHERE a2=1" "UPDATE vrtd SET b2=b2+1 WHERE a2=1" +"UPDATE vrr SET b1=b1+1 WHERE a1=1" +"UPDATE vrrd SET b1=b1+1 WHERE a1=1" +"UPDATE vrr SET b2=b2+1 WHERE a2=1" +"UPDATE vrrd SET b2=b2+1 WHERE a2=1" "UPDATE vtt, v0 AS dt SET b1=b1+1 WHERE a1=1" "UPDATE vtt, v0 SET b2=b2+1 WHERE a2=1" "UPDATE vtr, v0 SET b1=b1+1 WHERE a1=1" "UPDATE vtrd, v0 SET b1=b1+1 WHERE a1=1" +"UPDATE vtr, v0 SET b2=b2+1 WHERE a2=1" +"UPDATE vtrd, v0 SET b2=b2+1 WHERE a2=1" +"UPDATE vrt, v0 SET b1=b1+1 WHERE a1=1" +"UPDATE vrtd, v0 SET b1=b1+1 WHERE a1=1" "UPDATE vrt, v0 SET b2=b2+1 WHERE a2=1" "UPDATE vrtd, v0 SET b2=b2+1 WHERE a2=1" +"UPDATE vrr, v0 SET b1=b1+1 WHERE a1=1" +"UPDATE vrrd, v0 SET b1=b1+1 WHERE a1=1" +"UPDATE vrr, v0 SET b2=b2+1 WHERE a2=1" +"UPDATE vrrd, v0 SET b2=b2+1 WHERE a2=1" "DROP VIEW v0, vtt, vtr, vrt, vrr, vmat1, vmat2" "DROP VIEW vtrd, vrtd, vrrd" "create table t1 (a varchar(100))" @@ -108302,32 +122357,67 @@ with local check option" "show create view v3l" "insert into t1 values('')" "insert into v1n values('')" +"insert into v2c values('')" "insert into v2c values('v2c')" +"insert into v3l values('')" "insert into v3l values('v3l')" "update v1n set a='_'" +"update v2c set a=''" +"update v3l set a=''" "create view v4n as select * from v2c where a like '%v4n%'" "create view v5n as select * from v3l where a like '%v5n%'" "insert into v4n values('v2c')" +"insert into v4n values('')" "insert into v4n values('v4n v2c')" "update v4n set a='v2c'" +"update v4n set a='v4n'" "delete from v4n" "insert into v5n values('v3l')" +"insert into v5n values('')" "create view v4l as select * from v2c where a like '%v4l%' with local check option" "create view v5l as select * from v3l where a like '%v5l%' with local check option" "insert into v4l values('v4l v2c')" +"insert into v4l values('v2c')" +"update v4l set a='v2c'" +"insert into v4l values('v4l')" +"update v4l set a='v4l'" "insert into v5l values('v5l v3l')" +"insert into v5l values('v3l')" +"update v5l set a='v3l'" +"insert into v5l values('v5l')" +"update v5l set a='v5l'" "create view v6c as select * from v5n where a like '%v6c%' with cascaded check option" "insert into v6c values('v6c v5n v3l')" +"insert into v6c values('v5n v3l')" +"update v6c set a='v5n v3l'" +"insert into v6c values('v6c v3l')" +"update v6c set a='v6c v3l'" +"insert into v6c values('v6c v5n')" +"update v6c set a='v6c v5n'" "create view v7n as select * from v6c where a like '%v7n%'" "insert into v7n values('v6c v5n v3l')" +"insert into v7n values('v5n v3l')" +"insert into v7n values('v6c v3l')" +"insert into v7n values('v6c v5n')" "insert into v7n values('v7n v6c v5n v3l')" +"update v7n set a='v7n v5n v3l'" +"update v7n set a='v7n v6c v3l'" +"update v7n set a='v7n v6c v5nà'" "create view v8l as select * from v7n where a like '%v8l%' with local check option" "insert into v8l values('v8l v6c v5n v3l')" +"insert into v8l values('v6c v5n v3l')" +"insert into v8l values('v8l v5n v3l')" +"insert into v8l values('v8l v6c v3l')" +"insert into v8l values('v8l v6c v5n')" "insert into v8l values('v8l v7n v6c v5n v3l')" +"update v8l set a='v7n v6c v5n v3l'" +"update v8l set a='v8l v7n v5n v3l'" +"update v8l set a='v8l v7n v6c v3l'" +"update v8l set a='v8l v7n v6c v5n'" "drop view v1n,v2c,v3l,v4n,v5n,v4l,v5l,v6c,v7n,v8l" "CREATE VIEW v3 AS SELECT 1 FROM t1" "CREATE VIEW v2 AS SELECT 1 FROM v3 LEFT JOIN t1 ON 1" @@ -108336,6 +122426,7 @@ with local check option" "CREATE TABLE t1 (r INTEGER) engine=innodb" "CREATE VIEW v1 AS SELECT 1 AS z from t1" +"INSERT INTO v1(z) VALUES(1)" "CREATE TABLE t (i INTEGER)" "PREPARE s1 FROM ""SELECT (SELECT MAX(i)) AS field1 @@ -108357,6 +122448,14 @@ SELECT 1 AS a, 1 AS a" SELECT 1 AS a, 2 AS b UNION ALL SELECT 1 AS a, 1 AS a" +"CREATE VIEW v4 (fld1, fld1) AS +SELECT 1 AS a, 2 AS b +UNION ALL +SELECT 1 AS a, 1 AS a" +"CREATE VIEW v4 AS +SELECT 1 AS a, 2 AS a +UNION ALL +SELECT 1 AS a, 1 AS a" "PREPARE X FROM 'CREATE VIEW bug22108567_v1 AS SELECT 1 FROM (SELECT 1) AS D1'" "EXECUTE X" "DROP VIEW bug22108567_v1" @@ -108370,6 +122469,7 @@ SELECT MIN(duration) AS dmin, MAX(duration) AS dmax FROM v1" "CREATE VIEW t1_view_N3 AS SELECT * FROM t1_base_N3 WHERE `pk` BETWEEN 1 AND 2" "CREATE VIEW t1_view_N4 AS SELECT * FROM ( SELECT * FROM t1_view_N3 ) AS A" +"UPDATE t1_view_N3 AS A JOIN t1_view_N4 B SET A. col_int = 1 , B. col_int = 2" "DROP VIEW t1_view_N3, t1_view_N4" "DROP TABLE t1_base_N3" "RENAME TABLE t1 TO t2, v1 TO v2" @@ -108426,10 +122526,16 @@ v16, v17, v18, v19" "CREATE VIEW v3 AS SELECT a FROM (SELECT a FROM v1) AS dt" "CREATE VIEW v4 AS SELECT a FROM (SELECT a FROM t1) AS dt" "CREATE VIEW v5 AS SELECT a FROM (SELECT a FROM v3) AS dt2" +"UPDATE v3 SET v3.a=3" +"UPDATE v3, v2 SET v3.a=3" "UPDATE v3, v1 SET v1.a=3" "UPDATE v3, t1 SET t1.a=4" +"UPDATE v4 SET v4.a=6" +"UPDATE v4, v2 SET v4.a=6" "UPDATE v4, v1 SET v1.a=6" "UPDATE v4, t1 SET t1.a=7" +"UPDATE v5 SET v5.a=9" +"UPDATE v5, v2 SET v5.a=9" "UPDATE v5, v1 SET v1.a=9" "UPDATE v5, t1 SET t1.a=10" "DROP VIEW v1, v2, v3, v4, v5" @@ -108444,6 +122550,9 @@ WHERE (SELECT 7 FROM DUAL) IS NOT NULL AND t1.pk BETWEEN 123 AND (123 + 128) AND t2.cvk <= 'p' ORDER BY t1.pk DESC" +"CREATE OR REPLACE VIEW v1 +(`x12345678901234567890123456789012345678901234567890123456789012322`) AS +SELECT fld1 FROM t1" "CREATE TABLE t1 ( col_date_key DATE, KEY col_date_key (col_date_key) @@ -108538,13 +122647,14 @@ GROUP BY a WITH ROLLUP" "CREATE TABLE test.t1(fld1 INT)" "CREATE VIEW test.v1 AS SELECT * FROM test.t1" "SET SESSION debug= ""+d, inject_error_ha_write_row""" -"SET SESSION debug= ""-d, inject_error_ha_write_row""" "ALTER VIEW test.v1 AS SELECT * FROM test.t1" +"SET SESSION debug= ""-d, inject_error_ha_write_row""" "DROP VIEW test.v1" "CREATE VIEW v1 AS SELECT 1 FROM DUAL" "CREATE TABLE t1(c INT,d INT,KEY(c))" "ALTER DEFINER=s@1 VIEW v1 AS SELECT * FROM t1" "SET SESSION DEBUG= ""+d,enable_stack_overrun_simulation""" +"ALTER TABLE t1 KEY_BLOCK_SIZE=8" "SET SESSION DEBUG= ""-d,enable_stack_overrun_simulation""" "drop view if exists v1,v2,v3" "grant create view on test.* to test@localhost" @@ -108553,15 +122663,19 @@ GROUP BY a WITH ROLLUP" "create table mysqltest.t2 (a int, b int)" "grant select on mysqltest.t1 to mysqltest_1@localhost" "grant create view,select on test.* to mysqltest_1@localhost" +"create definer=root@localhost view v1 as select * from mysqltest.t1" "create view v1 as select * from mysqltest.t1" -"grant create view,drop,select on test.* to mysqltest_1@localhost" "alter view v1 as select * from mysqltest.t1" "create or replace view v1 as select * from mysqltest.t1" +"create view mysqltest.v2 as select * from mysqltest.t1" +"create view v2 as select * from mysqltest.t2" +"grant create view,drop,select on test.* to mysqltest_1@localhost" "revoke all privileges on test.* from mysqltest_1@localhost" "drop view test.v1" "create view mysqltest.v1 (c,d) as select a+1,b+1 from mysqltest.t1" "grant select (c) on mysqltest.v1 to mysqltest_1@localhost" "select c from mysqltest.v1" +"select d from mysqltest.v1" "revoke all privileges on mysqltest.v1 from mysqltest_1@localhost" "create algorithm=temptable view mysqltest.v1 (c,d) as select a+1,b+1 from mysqltest.t1" "create algorithm=temptable view mysqltest.v2 (c,d) as select a+1,b+1 from mysqltest.t1" @@ -108576,19 +122690,23 @@ GROUP BY a WITH ROLLUP" "select c from mysqltest.v2" "select c from mysqltest.v3" "select c from mysqltest.v4" +"select c from mysqltest.v5" "show columns from mysqltest.v1" "show columns from mysqltest.v2" -"grant select on mysqltest.v5 to mysqltest_1@localhost" -"show create view mysqltest.v5" -"grant show view on mysqltest.v1 to mysqltest_1@localhost" -"revoke select on mysqltest.v5 from mysqltest_1@localhost" "explain select c from mysqltest.v1" "show create view mysqltest.v1" -"grant show view on mysqltest.* to mysqltest_1@localhost" "explain select c from mysqltest.v2" "show create view mysqltest.v2" +"explain select c from mysqltest.v3" "show create view mysqltest.v3" +"explain select c from mysqltest.v4" "show create view mysqltest.v4" +"explain select c from mysqltest.v5" +"show create view mysqltest.v5" +"grant select on mysqltest.v5 to mysqltest_1@localhost" +"grant show view on mysqltest.v1 to mysqltest_1@localhost" +"revoke select on mysqltest.v5 from mysqltest_1@localhost" +"grant show view on mysqltest.* to mysqltest_1@localhost" "create table mysqltest.t1 (a int, b int, primary key(a))" "insert into mysqltest.t1 values (10,2), (20,3), (30,4), (40,5), (50,10)" "create table mysqltest.t2 (x int)" @@ -108600,11 +122718,15 @@ GROUP BY a WITH ROLLUP" "grant update on mysqltest.v1 to mysqltest_1@localhost" "update t2,v1 set v1.a=v1.a+v1.c where t2.x=v1.c" "update t2,v2 set v2.a=v2.a+v2.c where t2.x=v2.c" -"update v2 set a=a+c" +"update t2,v2 set v2.c=v2.a+v2.c where t2.x=v2.c" +"update v2 set c=a+c" +"update t2,v3 set v3.a=v3.a+v3.c where t2.x=v3.c" +"update v3 set a=a+c" "insert into mysqltest.t1 values (1,2), (2,3), (3,4), (4,5), (5,10)" "create view mysqltest.v2 (a,c) as select a, b+1 from mysqltest.t1" "grant delete on mysqltest.v1 to mysqltest_1@localhost" "delete v1 from t2,v1 where t2.x=v1.c" +"delete v2 from t2,v2 where t2.x=v2.c" "insert into mysqltest.t1 values (1,2), (2,3)" "create table mysqltest.t2 (x int, y int)" "insert into mysqltest.t2 values (3,4)" @@ -108612,18 +122734,22 @@ GROUP BY a WITH ROLLUP" "grant insert on mysqltest.v1 to mysqltest_1@localhost" "insert into v1 values (5,6)" "insert into v1 select x,y from t2" +"insert into v2 values (5,6)" +"insert into v2 select x,y from t2" "grant update(b) on mysqltest.t2 to mysqltest_1@localhost" "grant create view,update on test.* to mysqltest_1@localhost" "create view v2 as select b from mysqltest.t2" +"create view mysqltest.v1 as select * from mysqltest.t1" +"create view v3 as select a from mysqltest.t2" "create table mysqltest.v3 (b int)" "grant create view on mysqltest.v3 to mysqltest_1@localhost" "drop table mysqltest.v3" "create view mysqltest.v3 as select b from mysqltest.t2" "grant create view, update on mysqltest.v3 to mysqltest_1@localhost" "drop view mysqltest.v3" +"create view v4 as select b+1 from mysqltest.t2" "grant create view,update,select on test.* to mysqltest_1@localhost" "grant update,select(b) on mysqltest.t2 to mysqltest_1@localhost" -"create view v4 as select b+1 from mysqltest.t2" "drop view v1,v2,v4" "create table mysqltest.t1 (a int)" "grant all privileges on mysqltest.* to mysqltest_1@localhost" @@ -108640,6 +122766,7 @@ into v; return v; end" "grant select on v3 to mysqltest_1@localhost" "grant select on v4 to mysqltest_1@localhost" "grant select on v5 to mysqltest_1@localhost" +"select * from v5" "grant select on t1 to mysqltest_1@localhost" "grant execute on function f2 to mysqltest_1@localhost" "grant create view on mysqltest.* to mysqltest_1@localhost" @@ -108681,10 +122808,27 @@ where table_schema = 'test' and table_name='v1'" "GRANT UPDATE,SELECT ON mysqltest1.v_tus TO readonly@localhost" "GRANT DELETE ON mysqltest1.v_td TO readonly@localhost" "GRANT DELETE,SELECT ON mysqltest1.v_tds TO readonly@localhost" +"SELECT * FROM mysqltest1.v_t1" +"INSERT INTO mysqltest1.v_t1 VALUES(4)" +"DELETE FROM mysqltest1.v_t1 WHERE x = 1" +"UPDATE mysqltest1.v_t1 SET x = 3 WHERE x = 2" +"UPDATE mysqltest1.v_t1 SET x = 3" +"DELETE FROM mysqltest1.v_t1" +"SELECT 1 FROM mysqltest1.v_t1" +"SELECT * FROM mysqltest1.t1" "SELECT * FROM mysqltest1.v_ts" +"SELECT * FROM mysqltest1.v_ts, mysqltest1.t1 WHERE mysqltest1.t1.x = mysqltest1.v_ts.x" +"SELECT * FROM mysqltest1.v_ti" +"INSERT INTO mysqltest1.v_ts VALUES (100)" "INSERT INTO mysqltest1.v_ti VALUES (100)" +"UPDATE mysqltest1.v_ts SET x= 200 WHERE x = 100" +"UPDATE mysqltest1.v_ts SET x= 200" +"UPDATE mysqltest1.v_tu SET x= 200 WHERE x = 100" "UPDATE mysqltest1.v_tus SET x= 200 WHERE x = 100" "UPDATE mysqltest1.v_tu SET x= 200" +"DELETE FROM mysqltest1.v_ts WHERE x= 200" +"DELETE FROM mysqltest1.v_ts" +"DELETE FROM mysqltest1.v_td WHERE x= 200" "DELETE FROM mysqltest1.v_tds WHERE x= 200" "DELETE FROM mysqltest1.v_td" "DROP VIEW mysqltest1.v_tds" @@ -108755,6 +122899,8 @@ END" "DROP USER def_17254@localhost" "DROP USER inv_17254@localhost" "DROP DATABASE db17254" +"DROP USER mysqltest_u1" +"DROP USER mysqltest_u2" "CREATE USER mysqltest_u2@localhost" "GRANT ALL ON mysqltest_db1.* TO mysqltest_u1@localhost WITH GRANT OPTION" "GRANT ALL ON mysqltest_db2.* TO mysqltest_u2@localhost" @@ -108779,6 +122925,9 @@ END" "GRANT CREATE VIEW ON db26813.v2 TO u26813@localhost" "GRANT DROP, CREATE VIEW ON db26813.v3 TO u26813@localhost" "GRANT SELECT ON db26813.t1 TO u26813@localhost" +"ALTER VIEW v1 AS SELECT f2 FROM t1" +"ALTER VIEW v2 AS SELECT f2 FROM t1" +"ALTER VIEW v3 AS SELECT f2 FROM t1" "DROP USER u26813@localhost" "DROP DATABASE db26813" "CREATE DATABASE mysqltest_29908" @@ -108794,8 +122943,6 @@ SELECT f1 FROM t1" "GRANT SELECT, DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost" "GRANT SELECT, DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost" "GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost" -"ALTER VIEW v1 AS SELECT f2 FROM t1" -"ALTER VIEW v2 AS SELECT f2 FROM t1" "ALTER VIEW v1 AS SELECT f1 FROM t1" "ALTER VIEW v2 AS SELECT f1 FROM t1" "DROP USER u29908_1@localhost" @@ -108814,7 +122961,6 @@ SELECT f1 FROM t1" "GRANT SELECT, UPDATE ON mysqltest1.t3 TO mysqltest_u1@localhost" "GRANT SELECT, DELETE ON mysqltest1.t4 TO mysqltest_u1@localhost" "GRANT ALL PRIVILEGES ON mysqltest2.* TO mysqltest_u1@localhost" -"SELECT * FROM mysqltest1.t1" "INSERT INTO mysqltest1.t2 VALUES(25)" "UPDATE mysqltest1.t3 SET c3 = 331 WHERE c3 = 31" "DELETE FROM mysqltest1.t4 WHERE c4 = 44" @@ -108825,11 +122971,17 @@ SELECT f1 FROM t1" "INSERT INTO v2 VALUES(26)" "UPDATE v3 SET c3 = 332 WHERE c3 = 32" "DELETE FROM v4 WHERE c4 = 43" +"CREATE VIEW v12 AS SELECT c1, c2 FROM mysqltest1.t1, mysqltest1.t2" "CREATE VIEW v13 AS SELECT c1, c3 FROM mysqltest1.t1, mysqltest1.t3" "CREATE VIEW v14 AS SELECT c1, c4 FROM mysqltest1.t1, mysqltest1.t4" +"CREATE VIEW v21 AS SELECT c2, c1 FROM mysqltest1.t2, mysqltest1.t1" +"CREATE VIEW v23 AS SELECT c2, c3 FROM mysqltest1.t2, mysqltest1.t3" +"CREATE VIEW v24 AS SELECT c2, c4 FROM mysqltest1.t2, mysqltest1.t4" "CREATE VIEW v31 AS SELECT c3, c1 FROM mysqltest1.t3, mysqltest1.t1" +"CREATE VIEW v32 AS SELECT c3, c2 FROM mysqltest1.t3, mysqltest1.t2" "CREATE VIEW v34 AS SELECT c3, c4 FROM mysqltest1.t3, mysqltest1.t4" "CREATE VIEW v41 AS SELECT c4, c1 FROM mysqltest1.t4, mysqltest1.t1" +"CREATE VIEW v42 AS SELECT c4, c2 FROM mysqltest1.t4, mysqltest1.t2" "CREATE VIEW v43 AS SELECT c4, c3 FROM mysqltest1.t4, mysqltest1.t3" "SELECT * FROM mysqltest1.t2" "SELECT * FROM mysqltest1.t3" @@ -108837,7 +122989,9 @@ SELECT f1 FROM t1" "CREATE USER foo" "GRANT SELECT (f1) ON t1 TO foo" "GRANT SELECT (f1) ON v1 TO foo" +"SELECT f2 FROM t1" "SELECT f1 FROM v1" +"SELECT f2 FROM v1" "REVOKE SELECT (f1) ON db1.t1 FROM foo" "REVOKE SELECT (f1) ON db1.v1 FROM foo" "DROP USER foo" @@ -108905,10 +123059,11 @@ SELECT f1 FROM t1" "grant select on mysqltest1.t2 to pjotr@localhost" "grant select, show view on mysqltest1.v2 to pjotr@localhost" "grant select, show view on mysqltest1.v1 to quintessa@localhost" +"explain select * from v2" +"explain select * from t3" "select k from t3" "explain select k from t3" "explain select * from v3" -"explain select * from v2" "drop user alice@localhost" "drop user bob@localhost" "drop user cecil@localhost" @@ -108933,10 +123088,11 @@ SELECT f1 FROM t1" "GRANT CREATE VIEW ON mysqltest1.* TO mysqluser1@localhost" "GRANT SELECT ON t1 TO mysqluser1@localhost" "GRANT INSERT ON t2 TO mysqluser1@localhost" -"CREATE VIEW v1 AS SELECT a, b FROM t1, t2" +"SELECT b FROM v1" "DROP USER mysqluser1@localhost" "GRANT SELECT( a ) ON v1 TO mysqluser1@localhost" "GRANT UPDATE( b ) ON t2 TO mysqluser1@localhost" +"CREATE VIEW v1 AS SELECT * FROM mysqltest1.t2" "CREATE VIEW v1 AS SELECT * FROM information_schema.tables LIMIT 1" "CREATE ALGORITHM = TEMPTABLE VIEW v2 AS SELECT 1 AS A" "CREATE VIEW test.v3 AS SELECT 1 AS a" @@ -108945,6 +123101,8 @@ SELECT f1 FROM t1" "PREPARE stmt_v1 FROM ""SELECT * FROM mysqltest1.v1""" "PREPARE stmt_v2 FROM ""SELECT * FROM mysqltest1.v2""" "REVOKE SELECT ON mysqltest1.* FROM mysqluser1@localhost" +"EXECUTE stmt_v1" +"EXECUTE stmt_v2" "PREPARE stmt FROM ""SELECT a FROM v3""" "DROP VIEW test.v3" "GRANT USAGE, SELECT, CREATE VIEW, SHOW VIEW @@ -109012,6 +123170,7 @@ ON mysqltest2.* TO mysqluser1@localhost" "GRANT CREATE VIEW ON mysqltest1.* TO 'mysqluser2'@'%'" "REVOKE SELECT ON t2 FROM 'mysqluser1'@'%'" "SELECT * FROM v2_uses_t1" +"SELECT * FROM v2_uses_t2" "DROP VIEW v2_uses_t1, v2_uses_t2" "CREATE SQL SECURITY INVOKER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1" "CREATE SQL SECURITY INVOKER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2" @@ -109019,7 +123178,6 @@ ON mysqltest2.* TO mysqluser1@localhost" "GRANT SELECT ON v2_uses_t2 TO 'mysqluser1'@'%'" "GRANT SELECT ON v1_uses_t1 TO 'mysqluser2'@'%'" "GRANT SELECT ON v1_uses_t2 TO 'mysqluser2'@'%'" -"SELECT * FROM v2_uses_t2" "DROP VIEW v1_uses_t1, v1_uses_t2" "CREATE SQL SECURITY DEFINER VIEW v1_uses_t1 AS SELECT * FROM t1" "CREATE SQL SECURITY DEFINER VIEW v1_uses_t2 AS SELECT * FROM t2" @@ -109071,22 +123229,38 @@ where t2.id = v2.id" where t2.id= v1.id" "update mysqltest2.t2 as t2, mysqltest1.v1_temp as v1 set t2.val= 'test4' where t2.id= v1.id" +"update mysqltest2.t2 as t2, mysqltest1.v1_merge as v1 set v1.val= 'test5' +where t2.id= v1.id" "update mysqltest1.t1 as t1, mysqltest2.v2_merge as v2 set v2.val= 'test6' where t1.id= v2.id" +"update mysqltest2.t2 as t2, mysqltest1.v1_temp as v1 set v1.val= 'test7' +where t2.id= v1.id" +"update mysqltest1.t1 as t1, mysqltest2.v2_temp as v2 set v2.val= 'test8' +where t1.id= v2.id" "update mysqltest2.t2 as t2, mysqltest1.v11_merge as v11 set t2.val= 'test9' where t2.id= v11.id" "update mysqltest2.t2 as t2, mysqltest1.v11_temp as v11 set t2.val= 'test10' where t2.id= v11.id" +"update mysqltest2.t2 as t2, mysqltest1.v11_merge as v11 set v11.val= 'test11' +where t2.id= v11.id" "update mysqltest1.t1 as t1, mysqltest2.v21_merge as v21 set v21.val= 'test12' where t1.id= v21.id" +"update mysqltest2.t2 as t2, mysqltest1.v11_temp as v11 set v11.val= 'test13' +where t2.id= v11.id" +"update mysqltest1.t1 as t1, mysqltest2.v21_temp as v21 set v21.val= 'test14' +where t1.id= v21.id" "update mysqltest2.t2 as t2, mysqltest2.v3_merge as v3 set t2.val= 'test15' where t2.id= v3.id" "update mysqltest2.t2 as t2, mysqltest2.v3_temp as v3 set t2.val= 'test16' where t2.id= v3.id" +"update mysqltest2.t2 as t2, mysqltest2.v3_merge as v3 set v3.val= 'test17' +where t2.id= v3.id" "update mysqltest1.t11 as t11, mysqltest2.v31 as v31 set v31.val= 'test18' where t11.id= v31.id" "update mysqltest1.t11 as t11, mysqltest2.v4 as v4 set v4.val= 'test19' where t11.id= v4.id" +"update mysqltest1.t11 as t11, mysqltest2.v41 as v4 set v4.val= 'test20' +where t11.id= v4.id" "update mysqltest1.t11 as t11, mysqltest2.v42 as v4 set v4.val= 'test20' where t11.id= v4.id" "drop user user_11766767" @@ -109126,87 +123300,308 @@ SELECT * FROM test1.v1_middle" SELECT cn AS cs, cn AS cx, cs AS cus, cs AS cy FROM test1.t1" "GRANT SELECT(cs,cus) ON test1.v1_renamed TO user1@localhost" "SELECT cs, cus FROM test1.t1" +"SELECT cn FROM test1.t1" +"SELECT ci FROM test1.t1" +"SELECT cu FROM test1.t1" "SELECT cs FROM test1.t1 WHERE cs = '0'" "SELECT cs FROM test1.t1 WHERE cus = '0'" +"SELECT cs FROM test1.t1 WHERE cn = '0'" +"SELECT cs FROM test1.t1 WHERE ci = '0'" +"SELECT cs FROM test1.t1 WHERE cu = '0'" "SELECT COUNT(*) AS c FROM test1.t1 GROUP BY cs" "SELECT COUNT(*) AS c FROM test1.t1 GROUP BY cus" +"SELECT COUNT(*) AS c FROM test1.t1 GROUP BY cn" +"SELECT COUNT(*) AS c FROM test1.t1 GROUP BY ci" +"SELECT COUNT(*) AS c FROM test1.t1 GROUP BY cu" "SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(cs) = '0'" "SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(cus) = '0'" +"SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(cn) = '0'" +"SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(ci) = '0'" +"SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(cu) = '0'" "SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(cs)" "SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(cus)" +"SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(cn)" +"SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(ci)" +"SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(cu)" "UPDATE test1.t1 SET cu='u'" "UPDATE test1.t1 SET cus='s' WHERE cus='0'" "UPDATE test1.t1, test1.single SET cu='u'" "UPDATE test1.t1, test1.single SET cus='s' WHERE cus='0'" +"UPDATE test1.t1 SET cn='x'" +"UPDATE test1.t1, test1.single SET cn='x'" +"UPDATE test1.t1 SET cs='x'" +"UPDATE test1.t1, test1.single SET cs='x'" +"UPDATE test1.t1 SET ci='x'" +"UPDATE test1.t1, test1.single SET ci='x'" +"UPDATE test1.t1 SET cu='x' WHERE cn='0'" +"UPDATE test1.t1, test1.single SET cu='x' WHERE cn='0'" "INSERT INTO test1.t1(ci) VALUES('i')" "INSERT INTO test1.t1(ci) SELECT 'i' FROM test1.single" "INSERT INTO test1.t1(ci) VALUES('i') ON DUPLICATE KEY UPDATE cu='u'" "INSERT INTO test1.t1(ci) SELECT 'i' FROM test1.single ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.t1(cn) VALUES('x')" +"INSERT INTO test1.t1(cn) SELECT 'x' FROM test1.single" +"INSERT INTO test1.t1(cs) VALUES('x')" +"INSERT INTO test1.t1(cs) SELECT 'x' FROM test1.single" +"INSERT INTO test1.t1(cu) VALUES('x')" +"INSERT INTO test1.t1(cu) SELECT 'x' FROM test1.single" +"INSERT INTO test1.t1(cus) VALUES('x')" +"INSERT INTO test1.t1(cus) SELECT 'x' FROM test1.single" +"INSERT INTO test1.t1(ci) VALUES('i') +ON DUPLICATE KEY UPDATE cn='u'" +"INSERT INTO test1.t1(ci) SELECT 'i' FROM test1.single +ON DUPLICATE KEY UPDATE cn='u'" +"DELETE FROM test1.t1" +"DELETE FROM test1.t1 WHERE cs='0'" +"DELETE test1.t1 FROM test1.t1, test1.single WHERE cs='0'" "SELECT * FROM (SELECT cs FROM test1.t1) AS dt" "SELECT * FROM (SELECT cus FROM test1.t1) AS dt" +"SELECT * FROM (SELECT cn FROM test1.t1) AS dt" +"SELECT * FROM (SELECT cu FROM test1.t1) AS dt" +"SELECT * FROM (SELECT ci FROM test1.t1) AS dt" "SELECT * FROM (SELECT MIN(cs) AS c FROM test1.t1) AS dt" "SELECT * FROM (SELECT MIN(cus) AS c FROM test1.t1) AS dt" +"SELECT * FROM (SELECT MIN(cn) AS c FROM test1.t1) AS dt" +"SELECT * FROM (SELECT MIN(cu) AS c FROM test1.t1) AS dt" +"SELECT * FROM (SELECT MIN(ci) AS c FROM test1.t1) AS dt" "SELECT * FROM (SELECT cs FROM test1.t1 WHERE cs = '0') AS dt" "SELECT * FROM (SELECT cs FROM test1.t1 WHERE cus = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.t1 WHERE cn = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.t1 WHERE ci = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.t1 WHERE cu = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 GROUP BY cs) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 GROUP BY cus) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 GROUP BY cn) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 GROUP BY ci) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 GROUP BY cu) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(cs) = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(cus) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(cn) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(ci) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 HAVING MIN(cu) = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(cs)) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(cus)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(cn)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(ci)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.t1 ORDER BY MIN(cu)) AS dt" +"SELECT cs, cus FROM test1.v1_none" +"UPDATE test1.v1_none SET cu='x'" +"UPDATE test1.v1_none, test1.single SET cu='x'" +"UPDATE test1.v1_none SET cus='x' WHERE cus='0'" +"UPDATE test1.v1_none, test1.single SET cus='x' WHERE cus='0'" +"INSERT INTO test1.v1_none(ci) VALUES('x')" +"INSERT INTO test1.v1_none(ci) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_none(ci) VALUES('x') +ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.v1_none(ci) SELECT 'x' FROM test1.single +ON DUPLICATE KEY UPDATE cu='u'" +"DELETE FROM test1.v1_none" +"DELETE FROM test1.v1_none WHERE cs='0'" +"DELETE test1.v1_none FROM test1.v1_none, test1.single WHERE cs='0'" "SELECT cs, cus FROM test1.v1_all" +"SELECT * FROM test1.v1_all" +"SELECT cn FROM test1.v1_all" +"SELECT ci FROM test1.v1_all" +"SELECT cu FROM test1.v1_all" "UPDATE test1.v1_all SET cu='v'" "UPDATE test1.v1_all, test1.single SET cu='v'" "UPDATE test1.v1_all SET cus='t' WHERE cus='0'" "UPDATE test1.v1_all, test1.single SET cus='t' WHERE cus='0'" +"UPDATE test1.v1_all SET cn='x'" +"UPDATE test1.v1_all, test1.single SET cn='x'" +"UPDATE test1.v1_all SET cs='x'" +"UPDATE test1.v1_all, test1.single SET cs='x'" +"UPDATE test1.v1_all SET ci='x'" +"UPDATE test1.v1_all, test1.single SET ci='x'" +"UPDATE test1.v1_all SET cu='x' WHERE cn='0'" +"UPDATE test1.v1_all, test1.single SET cu='x' WHERE cn='0'" "INSERT INTO test1.v1_all(ci) VALUES('j')" "INSERT INTO test1.v1_all(ci) SELECT 'j' FROM test1.single" "INSERT INTO test1.v1_all(ci) VALUES('j') ON DUPLICATE KEY UPDATE cu='u'" "INSERT INTO test1.v1_all(ci) SELECT 'j' FROM test1.single ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.v1_all(cn) VALUES('x')" +"INSERT INTO test1.v1_all(cn) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_all(cs) VALUES('x')" +"INSERT INTO test1.v1_all(cs) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_all(cu) VALUES('x')" +"INSERT INTO test1.v1_all(cu) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_all(cus) VALUES('x')" +"INSERT INTO test1.v1_all(cus) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_all(cn) VALUES('x') +ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.v1_all(cn) SELECT 'x' FROM test1.single +ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.v1_all(ci) VALUES('x') +ON DUPLICATE KEY UPDATE cn='u'" +"INSERT INTO test1.v1_all(ci) SELECT 'x' FROM test1.single +ON DUPLICATE KEY UPDATE cn='u'" +"DELETE FROM test1.v1_all" +"DELETE FROM test1.v1_all WHERE cs='0'" +"DELETE test1.v1_all FROM test1.v1_all, test1.single WHERE cs='0'" "SELECT * FROM (SELECT cs FROM test1.v1_all) AS dt" "SELECT * FROM (SELECT cus FROM test1.v1_all) AS dt" +"SELECT * FROM (SELECT cn FROM test1.v1_all) AS dt" +"SELECT * FROM (SELECT cu FROM test1.v1_all) AS dt" +"SELECT * FROM (SELECT ci FROM test1.v1_all) AS dt" "SELECT * FROM (SELECT MIN(cs) AS c FROM test1.v1_all) AS dt" "SELECT * FROM (SELECT MIN(cus) AS c FROM test1.v1_all) AS dt" +"SELECT * FROM (SELECT MIN(cn) AS c FROM test1.v1_all) AS dt" +"SELECT * FROM (SELECT MIN(cu) AS c FROM test1.v1_all) AS dt" +"SELECT * FROM (SELECT MIN(ci) AS c FROM test1.v1_all) AS dt" "SELECT * FROM (SELECT cs FROM test1.v1_all WHERE cs = '0') AS dt" "SELECT * FROM (SELECT cs FROM test1.v1_all WHERE cus = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.v1_all WHERE cn = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.v1_all WHERE ci = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.v1_all WHERE cu = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all GROUP BY cs) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all GROUP BY cus) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all GROUP BY cn) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all GROUP BY ci) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all GROUP BY cu) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all HAVING MIN(cs) = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all HAVING MIN(cus) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all HAVING MIN(cn) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all HAVING MIN(ci) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all HAVING MIN(cu) = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all ORDER BY MIN(cs)) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all ORDER BY MIN(cus)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all ORDER BY MIN(cn)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all ORDER BY MIN(ci)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_all ORDER BY MIN(cu)) AS dt" "SELECT cs, cus FROM test1.v1_same" +"SELECT * FROM test1.v1_same" +"SELECT cn FROM test1.v1_same" +"SELECT ci FROM test1.v1_same" +"SELECT cu FROM test1.v1_same" "UPDATE test1.v1_same SET cu='w'" "UPDATE test1.v1_same, test1.single SET cu='w'" "UPDATE test1.v1_same SET cus='z' WHERE cus='0'" "UPDATE test1.v1_same, test1.single SET cus='z' WHERE cus='0'" +"UPDATE test1.v1_same SET cn='x'" +"UPDATE test1.v1_same, test1.single SET cn='x'" +"UPDATE test1.v1_same SET cs='x'" +"UPDATE test1.v1_same, test1.single SET cs='x'" +"UPDATE test1.v1_same SET ci='x'" +"UPDATE test1.v1_same, test1.single SET ci='x'" +"UPDATE test1.v1_same SET cu='x' WHERE cn='0'" +"UPDATE test1.v1_same, test1.single SET cu='x' WHERE cn='0'" "INSERT INTO test1.v1_same(ci) VALUES('k')" "INSERT INTO test1.v1_same(ci) SELECT 'k' FROM test1.single" "INSERT INTO test1.v1_same(ci) VALUES('k') ON DUPLICATE KEY UPDATE cu='u'" "INSERT INTO test1.v1_same(ci) SELECT 'k' FROM test1.single ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.v1_same(cn) VALUES('x')" +"INSERT INTO test1.v1_same(cn) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_same(cs) VALUES('x')" +"INSERT INTO test1.v1_same(cs) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_same(cu) VALUES('x')" +"INSERT INTO test1.v1_same(cu) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_same(cus) VALUES('x')" +"INSERT INTO test1.v1_same(cus) SELECT 'x' FROM test1.single" +"DELETE FROM test1.v1_same" +"DELETE FROM test1.v1_same WHERE cs='0'" +"DELETE test1.v1_same FROM test1.v1_same, test1.single WHERE cs='0'" "SELECT * FROM (SELECT cs FROM test1.v1_same) AS dt" "SELECT * FROM (SELECT cus FROM test1.v1_same) AS dt" +"SELECT * FROM (SELECT cn FROM test1.v1_same) AS dt" +"SELECT * FROM (SELECT cu FROM test1.v1_same) AS dt" +"SELECT * FROM (SELECT ci FROM test1.v1_same) AS dt" "SELECT * FROM (SELECT MIN(cs) AS c FROM test1.v1_same) AS dt" "SELECT * FROM (SELECT MIN(cus) AS c FROM test1.v1_same) AS dt" +"SELECT * FROM (SELECT MIN(cn) AS c FROM test1.v1_same) AS dt" +"SELECT * FROM (SELECT MIN(cu) AS c FROM test1.v1_same) AS dt" +"SELECT * FROM (SELECT MIN(ci) AS c FROM test1.v1_same) AS dt" "SELECT * FROM (SELECT cs FROM test1.v1_same WHERE cs = '0') AS dt" "SELECT * FROM (SELECT cs FROM test1.v1_same WHERE cus = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.v1_same WHERE cn = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.v1_same WHERE ci = '0') AS dt" +"SELECT * FROM (SELECT cs FROM test1.v1_same WHERE cu = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same GROUP BY cs) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same GROUP BY cus) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same GROUP BY cn) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same GROUP BY ci) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same GROUP BY cu) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same HAVING MIN(cs) = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same HAVING MIN(cus) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same HAVING MIN(cn) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same HAVING MIN(ci) = '0') AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same HAVING MIN(cu) = '0') AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same ORDER BY MIN(cs)) AS dt" "SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same ORDER BY MIN(cus)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same ORDER BY MIN(cn)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same ORDER BY MIN(ci)) AS dt" +"SELECT * FROM (SELECT COUNT(*) AS c FROM test1.v1_same ORDER BY MIN(cu)) AS dt" +"SELECT cs, cus FROM test1.v1_cross" +"SELECT * FROM test1.v1_cross" +"SELECT cn FROM test1.v1_cross" +"SELECT ci FROM test1.v1_cross" +"SELECT cu FROM test1.v1_cross" +"UPDATE test1.v1_cross SET cu='x'" +"UPDATE test1.v1_cross, test1.single SET cu='x'" +"UPDATE test1.v1_cross SET cus='x' WHERE cus='0'" +"UPDATE test1.v1_cross, test1.single SET cus='x' WHERE cus='0'" +"UPDATE test1.v1_cross SET cn='x'" +"UPDATE test1.v1_cross, test1.single SET cn='x'" +"UPDATE test1.v1_cross SET cs='x'" +"UPDATE test1.v1_cross, test1.single SET cs='x'" +"UPDATE test1.v1_cross SET ci='x'" +"UPDATE test1.v1_cross, test1.single SET ci='x'" +"UPDATE test1.v1_cross SET cu='x' WHERE cn='0'" +"UPDATE test1.v1_cross, test1.single SET cu='x' WHERE cn='0'" +"INSERT INTO test1.v1_cross(ci) VALUES('x')" +"INSERT INTO test1.v1_cross(ci) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_cross(ci) VALUES('k') +ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.v1_cross(ci) SELECT 'k' FROM test1.single +ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.v1_cross(cn) VALUES('x')" +"INSERT INTO test1.v1_cross(cn) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_cross(cs) VALUES('x')" +"INSERT INTO test1.v1_cross(cs) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_cross(cu) VALUES('x')" +"INSERT INTO test1.v1_cross(cu) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_cross(cus) VALUES('x')" +"INSERT INTO test1.v1_cross(cus) SELECT 'x' FROM test1.single" +"DELETE FROM test1.v1_cross" +"DELETE FROM test1.v1_cross WHERE cs='0'" +"DELETE test1.v1_cross FROM test1.v1_cross, test1.single WHERE cs='0'" +"SELECT cs FROM test1.v1_multi" "SELECT cus FROM test1.v1_multi" +"UPDATE test1.v1_multi SET cu='x'" +"UPDATE test1.v1_multi, test1.single SET cu='x'" +"UPDATE test1.v1_multi SET cus='x' WHERE cus='0'" +"UPDATE test1.v1_multi, test1.single SET cus='x' WHERE cus='0'" +"INSERT INTO test1.v1_multi(ci) VALUES('x')" +"INSERT INTO test1.v1_multi(ci) SELECT 'x' FROM test1.single" +"INSERT INTO test1.v1_multi(ci) VALUES('x') +ON DUPLICATE KEY UPDATE cu='u'" +"INSERT INTO test1.v1_multi(ci) SELECT 'x' FROM test1.single +ON DUPLICATE KEY UPDATE cu='u'" +"DELETE FROM test1.v1_multi" +"DELETE FROM test1.v1_multi WHERE cs='0'" +"DELETE test1.v1_multi FROM test1.v1_multi WHERE cs='0'" +"SELECT cn FROM test1.v1_renamed" +"SELECT cs FROM test1.v1_renamed" "SELECT cus FROM test1.v1_renamed" +"SELECT cx FROM test1.v1_renamed" +"SELECT cy FROM test1.v1_renamed" +"SELECT cs, cus FROM (SELECT * FROM test1.t1) AS dt" +"SELECT * FROM (SELECT * FROM test1.t1) AS dt" +"SELECT cn FROM (SELECT * FROM test1.t1) AS dt" +"SELECT ci FROM (SELECT * FROM test1.t1) AS dt" +"SELECT cu FROM (SELECT * FROM test1.t1) AS dt" "SELECT * FROM (SELECT cs, cus FROM test1.t1) AS dt" "SELECT cs, cus FROM (SELECT cs, cus FROM test1.t1) AS dt" "SELECT cx FROM (SELECT CONCAT(cs, cus) AS cx FROM test1.t1) AS dt" +"SELECT * FROM (SELECT CONCAT(cs, cu) AS cx FROM test1.t1) AS dt" +"SELECT * FROM (SELECT CONCAT(ci, cu) AS cx FROM test1.t1) AS dt" +"SELECT cx FROM (SELECT CONCAT(cs, cu) AS cx FROM test1.t1) AS dt" +"SELECT cx FROM (SELECT CONCAT(ci, cu) AS cx FROM test1.t1) AS dt" "DROP VIEW test1.v1_none, test1.v1_all, test1.v1_same" "DROP VIEW test1.v1_cross, test1.v1_middle, test1.v1_multi" "DROP VIEW test1.v1_renamed" @@ -109219,16 +123614,20 @@ SELECT cs FROM test1.t1" SELECT * FROM test1.v1_middle" "REVOKE SELECT(cs) ON test1.t1 FROM user1@localhost" "SELECT * FROM test1.t1 LIMIT 1" +"SELECT cs FROM test1.v1_none" "SELECT cs FROM test1.v1_none LIMIT 1" "GRANT SELECT(cs) ON test1.v1_middle TO user1@localhost" "SELECT cs FROM test1.v1_multi LIMIT 1" "CREATE TABLE test1.t1 (cn CHAR(1), cs CHAR(1), ci CHAR(1), cu CHAR(1), cus CHAR(1))" +"UPDATE IGNORE test1.v1_all SET cn='x'" "CREATE VIEW v1 AS SELECT 1 FROM (SELECT 1) AS d1" "PREPARE stmt FROM 'SELECT * FROM v1'" "CREATE DEFINER=user_name_len_32_012345678901234@localhost VIEW test1.v1 AS SELECT int_field FROM test1.t1" "GRANT SELECT ON test1.v1 TO user_name_len_22_01234@localhost" "SELECT * FROM test1.v1" +"CREATE DEFINER=user_name_len_33_0123456789012345@localhost +VIEW test1.v2 AS SELECT int_field FROM test1.t1" "CREATE TABLE silly_one (ID INT)" "CREATE DEFINER=user_name_robert_golebiowski@oh_my_gosh_this_is_a_long_hostname_look_at_it_it_has_60_char VIEW silly_view AS SELECT * FROM silly_one" "SELECT DEFINER FROM information_schema.VIEWS WHERE TABLE_NAME='silly_view'" @@ -109245,15 +123644,17 @@ VIEW test1.v1 AS SELECT int_field FROM test1.t1" "select * from v1 order by a,b" "create table t1 (a int, primary key (a), b int) engine=myisam" "create table t2 (a int, primary key (a), b int) engine=myisam" -"insert into v3(b) select b from t2" "select * from t1 " "select * from t2 " "select * from v3 " "DROP TABLE IF EXISTS t1, t2, t3, table_broken" "DROP VIEW IF EXISTS view_broken" +"CREATE VIEW view_broken AS SELECT * FROM t1, t2, t3" +"CREATE TABLE table_broken AS SELECT * FROM t1, t2, t3" "CREATE TABLE t3(c INT)" "CREATE TABLE t4(d INT)" "RENAME TABLES t1 TO t5, v1 TO v2" +"RENAME TABLES t5 TO t1, v2 TO v1, t3 TO t4" "DROP TABLES t2, t3, t4, t5" "CALL mtr.add_suppression('Disk is full writing')" "CALL mtr.add_suppression('Retry in 60 secs')" @@ -109266,10 +123667,13 @@ VIEW test1.v1 AS SELECT int_field FROM test1.t1" "SET SESSION wait_timeout=100" "SET @aborted_clients= 0" "SELECT 3" +"SELECT ""Check that we don't reconnect with reconnection disabled.""" "SELECT COUNT(*) > 0 AS EXPECTED_LOG_MESSAGE_FOUND FROM performance_schema.error_log WHERE ERROR_CODE = 'MY-015123'" "set @@session.sql_mode=''" +"create table t2(a int) default charset qwerty" +"create table t (i)",,syntax_error "insert ignore into t1 values (""hej"")" "insert ignore into t1 values (""hej""),(""då"")" "set SQL_WARNINGS=1" @@ -109334,7 +123738,6 @@ BEGIN DECLARE x NUMERIC ZEROFILL; SELECT f1 INTO x FROM t3 LIMIT 1; END" -"CALL sp2()" "CALL sp3()" "CREATE PROCEDURE sp1() BEGIN @@ -109351,17 +123754,24 @@ END" "insert into t1 values(@q, @q, @q)" "insert into t2 values(@q)" "set sql_mode = 'traditional'" +"insert into t1 values(@q, NULL, NULL)" +"insert into t1 values(NULL, @q, NULL)" +"insert into t1 values(NULL, NULL, @q)" "CREATE FUNCTION f1(x INT) RETURNS INT BEGIN INSERT INTO t1 VALUES(x); INSERT INTO t1 VALUES(x); RETURN x; END" +"SHOW TABLES WHERE f1(11) = 11" +"create table t1 (id int) engine=FEDERATED" +"alter table t1 engine=FEDERATED" "SELECT ENGINE, SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE='FEDERATED'" "SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='FEDERATED'" "SET SESSION windowing_use_high_precision=FALSE" "SET SESSION windowing_use_high_precision=TRUE" +"select group_concat('3') over ()" "CREATE TABLE t(i INT, j INT)" "INSERT INTO t VALUES (1,4)" "INSERT INTO t VALUES (1,2)" @@ -109381,6 +123791,7 @@ PLUGIN_NAME='FEDERATED'" "SELECT i, j, SUM(i+j) OVER (ORDER BY j ROWS UNBOUNDED PRECEDING) foo FROM t ORDER BY foo" "SELECT i, j, SUM(i+j) OVER (ORDER BY j ROWS UNBOUNDED PRECEDING) foo FROM t ORDER BY foo DESC" "SELECT i, j, SUM(i+j) OVER (ORDER BY j DESC ROWS UNBOUNDED PRECEDING) foo FROM t" +"SELECT i, j, SUM(i+j) OVER (ORDER BY jj DESC ROWS UNBOUNDED PRECEDING) foo FROM t" "CREATE VIEW v AS SELECT i, j, SUM(i+j) OVER (ORDER BY j DESC ROWS UNBOUNDED PRECEDING) foo FROM t" "SELECT i, j, SUM(i+j) OVER (ORDER BY j DESC ROWS UNBOUNDED PRECEDING) foo FROM t ORDER BY foo" @@ -109403,6 +123814,7 @@ SELECT i, j, SUM(i+j) OVER (ORDER BY j DESC ROWS UNBOUNDED PRECEDING) foo FROM t "INSERT INTO t VALUES (1,2,4)" "CREATE TABLE tb(a INT, b INT)" "SELECT a, SUM(b) FROM tb GROUP BY a" +"SELECT a, SUM(b) OVER () FROM tb GROUP BY a" "SELECT k, SUM(k) OVER (ROWS UNBOUNDED PRECEDING) wf FROM t" "SELECT k, MIN(i), SUM(j), SUM(k) OVER (ROWS UNBOUNDED PRECEDING) wf FROM t GROUP BY (k)" "SELECT k, MIN(i), SUM(j), SUM(k) OVER (ROWS UNBOUNDED PRECEDING) wf FROM t GROUP BY (k) ORDER BY wf DESC" @@ -109410,6 +123822,9 @@ SELECT i, j, SUM(i+j) OVER (ORDER BY j DESC ROWS UNBOUNDED PRECEDING) foo FROM t "SELECT k, AVG(DISTINCT j), SUM(k) OVER (ROWS UNBOUNDED PRECEDING) foo FROM t GROUP BY (k)" "SELECT k, GROUP_CONCAT(j ORDER BY j), SUM(k+1) OVER (ROWS UNBOUNDED PRECEDING) foo FROM t GROUP BY (k)" "SELECT k, GROUP_CONCAT(j ORDER BY j), SUM(k+1) OVER (ORDER BY k DESC ROWS UNBOUNDED PRECEDING) foo FROM t GROUP BY (k)" +"SELECT i/SUM(j) OVER (PARTITION BY k) AS x FROM t GROUP BY x" +"SELECT i/SUM(j) OVER (PARTITION BY kk) AS x FROM t" +"SELECT i/SUM(j) OVER (PARTITION BY 1) AS x FROM t" "CREATE TABLE t1 (id INTEGER, sex CHAR(1))" "INSERT INTO t1 VALUES (1, 'M')" "INSERT INTO t1 VALUES (2, 'F')" @@ -109489,12 +123904,22 @@ ORDER BY id ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING)" WINDOW w AS (PARTITION BY sex ORDER BY id RANGE BETWEEN 1 FOLLOWING AND 2 FOLLOWING)" "SELECT (SELECT SUM(t_b.a) OVER () FROM t_b WHERE t_b.a = t_a.a) aa, b FROM t_a GROUP BY aa, b" +"SELECT sex, COUNT(id) OVER (ORDER BY id RANGE -1 PRECEDING) FROM t1",,syntax_error +"SELECT sex, COUNT(id) OVER (ORDER BY id RANGE BETWEEN -1 PRECEDING and 2 PRECEDING) FROM t1",,syntax_error +"SELECT sex, COUNT(id) OVER (ORDER BY id RANGE BETWEEN 1 PRECEDING and -1 PRECEDING) FROM t1",,syntax_error "SELECT sex, COUNT(id) OVER (ORDER BY id RANGE BETWEEN 1 PRECEDING and 2 PRECEDING) FROM t1" "CREATE TABLE t_time(t TIME, ts TIMESTAMP)" "INSERT INTO t_time VALUES ('12:30', '2016-07-05 08:30:42')" "SELECT t, FIRST_VALUE(t) OVER (ORDER BY t ) FROM t_time" "SELECT ADDTIME(FIRST_VALUE(time'18:00:00') OVER (ORDER BY NULL), '01:00:00')" "SELECT ADDTIME(NTH_VALUE(time'18:00:00', 1) OVER (ORDER BY NULL), '01:00:00')" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE INTERVAL -1 HOUR PRECEDING) FROM t_time" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE INTERVAL NULL HOUR PRECEDING) FROM t_time" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE BETWEEN INTERVAL -1 HOUR PRECEDING AND INTERVAL 2 HOUR PRECEDING) FROM t_time" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE BETWEEN INTERVAL 1 HOUR PRECEDING AND INTERVAL -2 HOUR PRECEDING) FROM t_time" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE BETWEEN INTERVAL 1 HOUR PRECEDING AND INTERVAL '-2:2' HOUR_MINUTE PRECEDING) FROM t_time" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE BETWEEN INTERVAL 1 HOUR PRECEDING AND INTERVAL NULL HOUR PRECEDING) FROM t_time" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE BETWEEN INTERVAL NULL HOUR PRECEDING AND INTERVAL 1 HOUR PRECEDING) FROM t_time" "PREPARE p FROM ""SELECT sex, COUNT(id) OVER (ORDER BY id ROWS BETWEEN ? PRECEDING and ? PRECEDING) FROM t1""" "SET @p1= 1" "SET @p2= 2" @@ -109605,6 +124030,14 @@ WINDOW w AS (PARTITION BY sex ORDER BY id ASC ROWS UNBOUNDED PRECEDING) ORDER BY "SELECT sex, id, SUM(id) OVER w summ, PERCENT_RANK() OVER w `p_rank`, CUME_DIST() OVER w `c_dist` FROM t1 WINDOW w AS (PARTITION BY sex ORDER BY id ASC ROWS UNBOUNDED PRECEDING) ORDER BY summ" +"SELECT sex, AVG(DISTINCT id), +RANK() OVER w `uids` +FROM t1 u, t2 WHERE t2.user_id = u.id GROUP BY sex +WINDOW w AS (ORDER BY uids DESC) ORDER BY sex" +"SELECT sex, AVG(DISTINCT id), +RANK() OVER (ORDER BY uids DESC) `uids` +FROM t1 u, t2 WHERE t2.user_id = u.id +GROUP BY sex ORDER BY sex" "CREATE TABLE t(d decimal(10,2), date DATE)" "INSERT INTO t values (10.4, '2002-06-09')" "INSERT INTO t values (20.5, '2002-06-09')" @@ -109625,12 +124058,17 @@ WINDOW w AS (PARTITION BY sex ORDER BY id ASC ROWS UNBOUNDED PRECEDING) ORDER BY "INSERT INTO t VALUES (2,NULL)" "SELECT i, j, SUM(j) OVER (PARTITION BY i ORDER BY j ROWS UNBOUNDED PRECEDING) FROM t" "SELECT SUM(id), SUM(SUM(id)) OVER (ORDER BY sex ROWS UNBOUNDED PRECEDING) FROM t1,t2 WHERE t1.id=t2.user_id GROUP BY sex" +"SELECT id, SUM(SUM(id)) OVER (ORDER BY sex ROWS UNBOUNDED PRECEDING) FROM t1,t2 WHERE t1.id=t2.user_id GROUP BY sex" +"SELECT SUM(id) OVER (ORDER BY sex ROWS UNBOUNDED PRECEDING) FROM t1,t2 WHERE t1.id=t2.user_id GROUP BY sex" "SELECT RANK() OVER w FROM t1,t2 WHERE t1.id=t2.user_id WINDOW w AS (PARTITION BY id ORDER BY sex)" "SELECT PERCENT_RANK() OVER w FROM t1,t2 WHERE t1.id=t2.user_id WINDOW w AS (PARTITION BY id ORDER BY sex)" "SELECT CUME_DIST() OVER w FROM t1,t2 WHERE t1.id=t2.user_id WINDOW w AS (PARTITION BY id ORDER BY sex)" "SELECT RANK() OVER w FROM (SELECT * FROM t1,t2 WHERE t1.id=t2.user_id) t WINDOW w AS (PARTITION BY id ORDER BY sex)" "SELECT PERCENT_RANK() OVER w FROM (SELECT * FROM t1,t2 WHERE t1.id=t2.user_id) t WINDOW w AS (PARTITION BY id ORDER BY sex)" "SELECT CUME_DIST() OVER w FROM (SELECT * FROM t1,t2 WHERE t1.id=t2.user_id) t WINDOW w AS (PARTITION BY id ORDER BY sex)" +"SELECT NTH_VALUE(id, id) OVER w FROM (SELECT * FROM t1,t2 WHERE t1.id=t2.user_id) t WINDOW w AS (PARTITION BY id ORDER BY sex)" +"SELECT SUM(1) OVER w FROM (SELECT * FROM t1,t2 WHERE t1.id=t2.user_id) t +WINDOW w AS (PARTITION BY id ORDER BY sex ROWS id PRECEDING)",,syntax_error "SELECT SUM(id) OVER (PARTITION BY sex ORDER BY id ROWS UNBOUNDED PRECEDING) summ, sex FROM t1" "CREATE TABLE t3(t3_id INT, k INT)" "INSERT INTO t3 VALUES (0, 0)" @@ -109832,8 +124270,12 @@ WINDOW w AS (ORDER BY d RANGE BETWEEN 2 PRECEDING AND 2 FOLLOWING)" WINDOW w AS (ORDER BY d RANGE BETWEEN CURRENT ROW AND 2 FOLLOWING)" "INSERT INTO td SELECT * FROM td" "DROP TABLE td" +"SELECT id, NTILE(0) OVER w FROM t1 WINDOW w AS ()" +"SELECT id, NTILE(NULL) OVER w FROM t1 WINDOW w AS (ORDER BY id)",,syntax_error "PREPARE s FROM 'SELECT id, NTILE(?) OVER w FROM t1 WINDOW w AS (ORDER BY id)'" +"EXECUTE s USING @a" +"SELECT id, NTILE(@s) OVER w FROM t1 WINDOW w AS (ORDER BY id)" "SELECT id, NTILE(1) OVER w FROM t1 WINDOW w AS ()" "SELECT id, NTILE(5) OVER w FROM t1 WINDOW w AS ()" "SELECT id, NTILE(1) OVER w FROM t1 WINDOW w AS (ORDER BY id)" @@ -109942,10 +124384,13 @@ SELECT id, FIRST_VALUE(id) OVER w FROM t1 WINDOW w AS (ORDER BY id RANGE BETWEEN "SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (PARTITION BY sex ORDER BY id)" "SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id DESC)" "SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id ROWS 2 PRECEDING)" +"SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id RANGE 2 PRECEDING)" "SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id ROWS BETWEEN 2 PRECEDING AND 1 PRECEDING)" +"SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id RANGE BETWEEN 2 PRECEDING AND 1 PRECEDING)" "SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)" "SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)" "SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id ROWS BETWEEN 2 FOLLOWING AND 3 FOLLOWING)" +"SELECT id, FIRST_VALUE(id) OVER w FROM td_str WINDOW w AS (ORDER BY id RANGE BETWEEN 2 FOLLOWING AND 3 FOLLOWING)" "DROP TABLE td_str" "CREATE TABLE t_date(id DATE)" "INSERT INTO t_date VALUES ('2002-06-09')" @@ -110023,8 +124468,11 @@ WINDOW w AS (ORDER BY user_id), w1 AS (ORDER BY user_id)" WINDOW w AS (ORDER BY id DESC RANGE 2 PRECEDING)" "SELECT p, NTILE(5) OVER w, ROW_NUMBER() OVER w, id, SUM(id) OVER w FROM t11 WINDOW w AS (PARTITION BY p ORDER BY id DESC RANGE 2 PRECEDING)" +"SELECT NTILE(5) OVER w, ROW_NUMBER() OVER w, id, SUM(id) OVER w FROM t1 +WINDOW w AS (ORDER BY id DESC RANGE INTERVAL 2 MONTH PRECEDING)" "update t2 set date=date + user_id" "SELECT user_id, date, COUNT(*) OVER (ORDER BY date RANGE INTERVAL 1 DAY PRECEDING) FROM t2" +"SELECT user_id, date, COUNT(*) OVER (ORDER BY date RANGE 1 PRECEDING) FROM t2" "CREATE TABLE t3(d DOUBLE)" "INSERT INTO t3 VALUES (1.1)" "INSERT INTO t3 VALUES (1.9)" @@ -110037,6 +124485,8 @@ WINDOW w AS (PARTITION BY p ORDER BY id DESC RANGE 2 PRECEDING)" "INSERT INTO t3 VALUES (23.0)" "SELECT d, SUM(d) OVER w, COUNT(*) OVER w FROM t3 WINDOW w AS (ORDER BY d RANGE BETWEEN 2.1 PRECEDING AND 1.1 FOLLOWING)" "CREATE TABLE t4(c VARCHAR(30), i INT, j INT)" +"SELECT COUNT(*) OVER (ORDER BY c RANGE 3 PRECEDING) FROM t4" +"SELECT COUNT(*) OVER (ORDER BY i,j RANGE 3 PRECEDING) FROM t4" "CREATE TABLE tj(j JSON, i INT DEFAULT 7)" "INSERT INTO tj(j) VALUES ('1')" "INSERT INTO tj(j) VALUES ('2')" @@ -110086,6 +124536,7 @@ WINDOW w AS (PARTITION BY i ORDER BY CAST(j AS UNSIGNED) RANGE UNBOUNDED PRECEDI "INSERT INTO tj VALUES ('5')" "INSERT INTO tj VALUES (NULL)" "SELECT j, JSON_TYPE(j), SUM(j) OVER (ORDER BY j ROWS 3 PRECEDING) FROM tj" +"SELECT j, JSON_TYPE(j), SUM(j) OVER (ORDER BY j RANGE 3 PRECEDING) FROM tj" "INSERT INTO tj VALUES ('3.14')" "INSERT INTO tj VALUES ('[1,2,3]')" "SELECT j, @@ -110122,6 +124573,16 @@ WINDOW w0 AS (), w AS (w0 ORDER BY t), w1 AS (w RANGE BETWEEN INTERVAL 24 HOUR PRECEDING AND INTERVAL '2:2' MINUTE_SECOND FOLLOWING)" +"SELECT t, COUNT(t) OVER w1 FROM t6 +WINDOW w1 AS (), +w2 AS (w1 PARTITION BY t)" +"SELECT t, COUNT(t) OVER w1 FROM t6 +WINDOW w1 AS (ORDER BY t), +w2 AS (w1 ORDER BY t)" +"SELECT t, COUNT(t) OVER w1 FROM t6 +WINDOW w1 AS (ORDER BY t RANGE BETWEEN CURRENT ROW AND +INTERVAL 1 DAY FOLLOWING), +w2 AS (w1)" "CREATE VIEW v AS SELECT COUNT(*) OVER w0, COUNT(*) OVER w, @@ -110187,6 +124648,7 @@ RANK() OVER (ORDER BY k,j) AS O_KJ FROM t ORDER BY i,j,k" "INSERT INTO t1 VALUES (2, 'b')" "INSERT INTO t1 VALUES (-1, '')" "SELECT ROW_NUMBER() OVER ()" +"SELECT 1 AS a, ROW_NUMBER() OVER (ORDER BY a) FROM dual" "SELECT *, ABS(ROW_NUMBER() OVER (ORDER BY s1,s2)) - ROW_NUMBER() OVER (ORDER BY s1,s2) AS X FROM t1" "SELECT RANK() OVER (ORDER BY AVG(s1)) FROM t1" @@ -110198,6 +124660,7 @@ DENSE_RANK() OVER (ORDER BY s2) FROM t1 "SELECT * FROM ( SELECT *, SUM(s1) OVER (ORDER BY s1) FROM t1 ORDER BY s1 ) alias ORDER BY s1,s2" +"SELECT AVG(s1), RANK() OVER (ORDER BY s1) FROM t1" "SELECT *, AVG(s1) OVER () FROM t1" "SELECT *, AVG(s1) OVER (ROWS UNBOUNDED PRECEDING) FROM t1" "CREATE TABLE t (a INT, b INT, c INT)" @@ -110211,9 +124674,19 @@ SELECT *, SUM(s1) OVER (ORDER BY s1) FROM t1 ORDER BY s1 "INSERT INTO t VALUES (2,3,3)" "SELECT * FROM t ORDER BY RANK() OVER (ORDER BY a DESC,b,c)" "SELECT *, RANK() OVER (ORDER BY a DESC,b,c) AS `rank` FROM t ORDER BY `rank`" +"SELECT * FROM t WHERE 1 = RANK() OVER (ORDER BY a)" +"SELECT * FROM t HAVING 1 = rank() OVER (ORDER BY a)" +"SELECT 1 FROM t HAVING 1=(SELECT 1 FROM (SELECT 1) foo) AND COUNT(a) OVER ()" "CREATE TABLE tb(a LONGBLOB NOT NULL)" "INSERT INTO tb VALUES ('1'), ('2'), ('3'), ('4'), ('5')" +"SELECT (SELECT 1 FROM tb WHERE (SELECT 1 FROM tb WHERE FIRST_VALUE(a) OVER()))" +"(select a from t) union (select a from t) order by (row_number() over ())" +"(select a from t) union (select a from t) order by (1+row_number() over ())" "(select a from t) union (select a from t order by (row_number() over ()))" +"SELECT a AS foo, SUM(a) OVER (ORDER BY a ROWS foo PRECEDING) FROM t",,syntax_error +"SELECT a, SUM(a) OVER (ORDER BY a ROWS a PRECEDING) FROM t",,syntax_error +"SELECT count(*) OVER w FROM t WINDOW w AS (ORDER BY a), w AS (ORDER BY b)" +"SELECT RANK() OVER (ORDER BY 1) FROM t" "SELECT * FROM ( SELECT a,b,c, RANK() OVER (ORDER BY 1*1) FROM t ) alias ORDER BY a,b,c" @@ -110221,6 +124694,24 @@ SELECT a,b,c, RANK() OVER (ORDER BY 1*1) FROM t "SELECT * FROM (SELECT count(*) OVER () + sum(c) OVER () AS sum1, a from t) as alias" "SELECT * FROM (SELECT SUM(b) OVER (), a FROM t) AS alias" "SELECT * FROM (SELECT SUM(b) OVER (), b FROM t) AS alias" +"SELECT a, b, c, rank() OVER ( w ORDER BY c DESC ) FROM t WINDOW w AS (ORDER BY a)" +"SELECT SUM(DISTINCT b) OVER () FROM t" +"SELECT SUM(b) OVER (ORDER by a GROUPS 2 PRECEDING) FROM t" +"UPDATE t set a= SUM(b) OVER ()" +"DELETE FROM t WHERE SUM(b) OVER () = 10" +"SELECT SUM(b) OVER (ORDER by a ROWS 2 PRECEDING EXCLUDE CURRENT ROW) FROM t" +"SELECT SUM(b) OVER (ORDER by a ROWS 2 PRECEDING EXCLUDE TIES) FROM t" +"SELECT SUM(b) OVER (ORDER by a ROWS 2 PRECEDING EXCLUDE GROUP) FROM t" +"SELECT SUM(b) OVER (ORDER by a ROWS 2 PRECEDING EXCLUDE NO OTHERS) FROM t" +"SELECT a, b, FIRST_VALUE(SUM(a+b) OVER()) OVER () AS sum FROM t" +"SELECT a, b, FIRST_VALUE(1+SUM(a+b) OVER()) OVER () AS sum FROM t" +"SELECT a, b, SUM(1+SUM(a+b) OVER()) OVER () AS sum FROM t" +"SELECT a, b, FIRST_VALUE(a) OVER (PARTITION BY ROW_NUMBER() OVER ()) AS sum FROM t" +"SELECT a, b, FIRST_VALUE(a) OVER (PARTITION BY 1+ROW_NUMBER() OVER ()) AS sum FROM t" +"SELECT a, b, FIRST_VALUE(a) OVER (ORDER BY ROW_NUMBER() OVER ()) AS sum FROM t" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE INTERVAL ROW_NUMBER() OVER () HOUR PRECEDING) FROM t_time" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE INTERVAL ABS(t) HOUR PRECEDING) FROM t_time" +"SELECT t, FIRST_VALUE(t) OVER (ORDER BY t RANGE BETWEEN INTERVAL 3 HOUR PRECEDING AND INTERVAL ABS(t) HOUR FOLLOWING) FROM t_time" "DROP TABLE t, t_time" "CREATE TABLE t(a int, b int)" "INSERT INTO t VALUES (3,2)" @@ -110291,6 +124782,7 @@ ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING)" "SET SQL_BUFFER_RESULT=TRUE" "SET SQL_BUFFER_RESULT=FALSE" "INSERT INTO t1 VALUES(1),(1),(2),(2)" +"SELECT (SELECT COUNT(a) OVER (PARTITION BY a) FROM t1) FROM t1" "SELECT SUM(1) OVER ()" "SELECT SUM(1.2) OVER ()" "SELECT SUM(CAST(4 as JSON)) OVER ()" @@ -110309,6 +124801,7 @@ ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING)" "SELECT AVG('e') OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)" "SELECT i FROM t1 WHERE i IN ( SELECT CAST( SUM(i) OVER (ROWS CURRENT ROW) AS UNSIGNED) FROM t1)" "SELECT i FROM t1 WHERE i IN ( SELECT CAST(0+SUM(i) OVER (ROWS CURRENT ROW) AS UNSIGNED) FROM t1)" +"SELECT FIRST_VALUE(i) IGNORE NULLS OVER () FROM t1" "SELECT SUM(i) OVER w FROM t1 WINDOW w AS (PARTITION BY j ORDER BY i ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)" "CREATE TABLE t1 (pk INT, j INT, PRIMARY KEY (pk), KEY(j))" @@ -110339,6 +124832,8 @@ ORDER BY 1+SUM(SUM(i)) OVER w" ORDER BY SUM(i) OVER w" "SELECT SUM(2+SUM(i)) OVER W FROM t1 GROUP BY j WINDOW w AS (PARTITION BY j ORDER BY j) ORDER BY SUM(2+SUM(i)) OVER w DESC" +"SELECT ROW_NUMBER() OVER () AS num FROM t HAVING (num = '2')" +"SELECT ROW_NUMBER() OVER () FROM t HAVING ( ROW_NUMBER() OVER () = '2')" "INSERT INTO t1 VALUES (1,1),(2,2),(3,3), (3,1),(2,2),(1,3)" "SELECT a,b, RANK() OVER (ORDER BY a), RANK() OVER (order BY a) FROM t1" @@ -110426,14 +124921,25 @@ FROM t1 LEFT JOIN t2 ON a = c GROUP BY 'c'" "INSERT INTO t2 VALUES (10),(100)" "SELECT (SELECT SUM(a) OVER () FROM t2 LIMIT 1) FROM t" "INSERT INTO t VALUES (1,2), (4,5)" +"SELECT AVG(SUM(a) OVER ()) FROM t" +"SELECT SUM(a) OVER () AS c, (SELECT SUM(c)) FROM t" +"SELECT SUM(a) OVER () AS c, SUM(c) FROM t" "SELECT SUM(a) OVER () AS c FROM t ORDER BY c" "SELECT AVG(a+(SELECT SUM(a) OVER () FROM t LIMIT 1)) FROM t" +"SELECT SUM(a) OVER () AS c, (SELECT SUM(1 + (SELECT c FROM DUAL))) FROM t" +"SELECT 1+SUM(a) OVER () AS c, (SELECT SUM(1 + (SELECT c FROM DUAL))) FROM t" +"SELECT SUM(a) OVER () AS c, (SELECT 1 + (SELECT c FROM DUAL)) FROM t" +"SELECT 1+SUM(a) OVER () AS c, (SELECT 1 + (SELECT c FROM DUAL)) FROM t" "CREATE TABLE t(a INT, b INT, c INT)" "INSERT INTO t VALUES (1,1,1),(1,2,3),(2,1,2),(2,2,3)" +"SELECT RANK() OVER (PARTITION BY c ORDER BY c) FROM t GROUP BY a,b" "SELECT RANK() OVER (PARTITION BY c ORDER BY c) FROM t" "SELECT RANK() OVER (PARTITION BY a ORDER BY b) FROM t GROUP BY a,b" "SELECT RANK() OVER (PARTITION BY a ORDER BY b) FROM t" "SELECT RANK() OVER (PARTITION BY (a+b) ORDER BY (b+a)) FROM t GROUP BY a,b" +"SELECT AVG(a), RANK() OVER (ORDER BY a) FROM t" +"SELECT AVG(a), SUM(AVG(a)) OVER (PARTITION BY a) FROM t" +"SELECT AVG(a), SUM(a) OVER () FROM t" "SELECT i, SUM(i), 1+SUM(i), SUM(SUM(i)) OVER w, 1+SUM(SUM(i)) OVER w FROM t1 GROUP BY i WINDOW w AS (PARTITION BY i)" "SELECT SUM(c/d), LAST_VALUE(SUM(c/d)) OVER (ORDER BY a) FROM t GROUP BY a,b" @@ -110446,8 +124952,11 @@ GROUP BY i WINDOW w AS (PARTITION BY i)" "SELECT a, SUM(b) FROM t1 GROUP BY a" "SELECT a, SUM(b) FROM t1 GROUP BY a HAVING a=1" "SELECT a, SUM(SUM(b)) OVER () FROM t1 GROUP BY a HAVING a=1" +"CREATE TABLE t (a INT , b INT as (ROW_NUMBER() OVER (ORDER BY a)))" "CREATE TABLE t (a INT DEFAULT NULL)" "INSERT INTO t VALUES (1),(2),(3),(4),(5)" +"ALTER TABLE t ADD b INT AS (ROW_NUMBER() OVER (ORDER BY a))" +"ALTER TABLE t ADD COLUMN b INT as (ROW_NUMBER() OVER (ORDER BY a))" "CREATE TABLE t1 (id INTEGER, sex CHAR(1), d DOUBLE)" "INSERT INTO t1 VALUES (1, 'M', 1.0)" "INSERT INTO t1 VALUES (2, 'F', 2.0)" @@ -110513,10 +125022,25 @@ CUME_DIST() OVER (ORDER BY AVG(a)) FROM t ORDER BY rn" "SELECT ROW_NUMBER() OVER w FROM t1 WINDOW w AS (w2), w1 AS (), w2 as (w1)" +"SELECT ROW_NUMBER() OVER w +FROM t1 +WINDOW w AS (w2), w1 AS (w), w2 as (w1)" +"SELECT ROW_NUMBER() OVER w +FROM t1 +WINDOW w AS (w1), w1 AS (w2), w2 as (w1)" +"SELECT ROW_NUMBER() OVER w FROM t1 WINDOW w AS (w)" +"SELECT ROW_NUMBER() OVER w +FROM t1 +WINDOW w AS (w4), w5 AS (w4), w4 AS (), w3 AS (w2), w1 AS (w3), w2 as (w1)" +"SELECT ROW_NUMBER() OVER w FROM t1 WINDOW w1 AS ()" "SELECT SUM(a) OVER w, ROW_NUMBER() OVER () FROM t1 WINDOW w AS ()" +"SELECT SUM(a) OVER w2, ROW_NUMBER() OVER () FROM t1 WINDOW w AS ()" "SELECT SUM(a) OVER w1, ROW_NUMBER() OVER w2 FROM t1 WINDOW w2 AS (), w1 AS (w2 ORDER BY a)" +"SELECT SUM(a) OVER w1, ROW_NUMBER() OVER w2 FROM t1 +WINDOW w2 AS (), +w1 AS (w22 ORDER BY a)" "CREATE TABLE tno (a INT)" "SELECT RANK() OVER () FROM tno" "SELECT DENSE_RANK() OVER () FROM tno" @@ -110533,7 +125057,20 @@ w1 AS (w2 ORDER BY a)" "SELECT DENSE_RANK() OVER () FROM (SELECT 1) t" "SELECT PERCENT_RANK() OVER () FROM (SELECT 1) t" "SELECT CUME_DIST() OVER () FROM (SELECT 1) t" +"SELECT ROW_NUMBER() OVER (ROWS BETWEEN UNBOUNDED FOLLOWING AND CURRENT ROW) +FROM t1" +"SELECT ROW_NUMBER() OVER (ROWS BETWEEN CURRENT ROW AND UNBOUNDED PRECEDING) +FROM t1" +"SELECT ROW_NUMBER() OVER (ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED PRECEDING) +FROM t1" +"SELECT ROW_NUMBER() OVER (ROWS BETWEEN INTERVAL 2 DAY PRECEDING AND UNBOUNDED FOLLOWING) +FROM t1" +"SELECT ROW_NUMBER() OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND INTERVAL 2 DAY FOLLOWING) +FROM t1" "INSERT INTO t VALUES (1,2),(3,4)" +"SELECT COUNT(*) AS count, +ROW_NUMBER() OVER (ORDER BY b) AS rn +FROM t ORDER BY b" "SELECT 1 UNION (SELECT ROW_NUMBER() OVER ( ORDER BY b ) AS rn FROM t ORDER BY b)" "CREATE TABLE AA ( @@ -110593,6 +125130,10 @@ ON alias1 . pk = alias2 . pk WHERE alias1 . pk = 1" "DROP TABLE G,H" "INSERT INTO t VALUES (1),(2)" +"SELECT MAX(row_number() OVER ()) FROM t" +"SELECT MIN(rank() OVER (ORDER BY a)) FROM t" +"SELECT BIT_AND(rank() OVER (ORDER BY a)) FROM t" +"SELECT MIN(a),SUM(rank() OVER (ORDER BY a)) FROM t GROUP BY a" "CREATE TABLE t(pk int PRIMARY KEY, col_int int, col_varchar varchar(10))" "PREPARE ps FROM ""SELECT RANK() OVER ( PARTITION BY pk ORDER BY col_int, col_varchar, pk) AS rnk, @@ -110619,6 +125160,11 @@ ORDER BY b" "SELECT ROW_NUMBER() OVER ( ORDER BY t1.a ) AS rn FROM t1, t2 WHERE t1.a = 1 GROUP BY t1.a" "INSERT INTO t1 SELECT CURRENT_DATE()" +"SELECT RANK() OVER (ORDER BY a RANGE INTERVAL (SELECT a FROM t2) MINUTE PRECEDING) FROM t1" +"SELECT RANK() OVER (ORDER BY a RANGE BETWEEN INTERVAL 1 MINUTE PRECEDING AND INTERVAL (SELECT a FROM t2) MINUTE FOLLOWING) FROM t1" +"SELECT RANK() OVER (ORDER BY a RANGE INTERVAL 1+(SELECT a FROM t2) MINUTE PRECEDING) FROM t1" +"SELECT RANK() OVER (ORDER BY a ROWS (SELECT a FROM t2) PRECEDING) FROM t1",,syntax_error +"SELECT RANK() OVER (ORDER BY a ROWS BETWEEN 1 PRECEDING AND (SELECT a FROM t2) FOLLOWING) FROM t1",,syntax_error "CREATE TABLE t (a int, b varchar(10))" "INSERT INTO t VALUES (1, 'are'), (2, 'not'), (3, 'have')" "SELECT a AS field1, ROW_NUMBER() OVER () AS field2 FROM t @@ -110804,9 +125350,18 @@ FROM t1" FROM t1 WINDOW w AS ()" "SELECT a, b, c, SUM(a) OVER +(RANGE BETWEEN 2 PRECEDING AND CURRENT ROW) +FROM t1" +"SELECT a, b, c, SUM(a) OVER +(ORDER BY b RANGE BETWEEN 2 PRECEDING AND CURRENT ROW) +FROM t1" +"SELECT a, b, c, SUM(a) OVER (ORDER BY a RANGE BETWEEN 2 PRECEDING AND CURRENT ROW) FROM t1" "SELECT a, b, c, SUM(a) OVER +(ORDER BY c RANGE BETWEEN 2 PRECEDING AND CURRENT ROW) +FROM t1" +"SELECT a, b, c, SUM(a) OVER (ORDER BY c RANGE BETWEEN INTERVAL 1 HOUR PRECEDING AND CURRENT ROW) FROM t1" "CREATE TABLE t1 (pk int NOT NULL, col_int int DEFAULT NULL)" @@ -111208,6 +125763,9 @@ d INT DEFAULT NULL)" UNBOUNDED FOLLOWING) FROM t" "CREATE TABLE t(w INT)" "INSERT INTO t VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9)" +"SELECT w, SUM(w) OVER (ROWS 3.14 PRECEDING) FROM t" +"SELECT w, SUM(w) OVER (ROWS BETWEEN 3 PRECEDING AND 3.4 FOLLOWING) FROM t" +"SELECT w, SUM(w) OVER (ROWS BETWEEN CURRENT ROW AND 3.4 FOLLOWING) FROM t" "PREPARE stmt FROM ""SELECT w, SUM(w) OVER (ROWS 3.14 PRECEDING) FROM t""" "PREPARE stmt FROM ""SELECT w, SUM(w) OVER (ROWS ? PRECEDING) FROM t""" "SET @p1= 2" @@ -111288,10 +125846,19 @@ FIRST_VALUE( alias1.pk ) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING) AS field1 FROM t1 AS alias1 RIGHT JOIN t2 AS alias2 ON alias1.pk = alias2.col_int_key" +"SELECT ST_BUFFER(ST_ASBINARY(1), ST_ASBINARY(NTH_VALUE('4714-05-04',1)OVER(),'axis-order=long-lat'))" "SELECT ((MAKETIME(((QUARTER('| !*c>*{/'))<=> (FIRST_VALUE(JSON_OBJECTAGG('key4',0x067c13d0d0d7d8c8d768aef7) )OVER())),'9236-05-27',0xe2a7d4))^(0x1109))" +"SELECT ((FIRST_VALUE(JSON_MERGE_PATCH(1.755913e+308,'{ }'))OVER())<=(1))" +"SELECT ((QUOTE(JSON_KEYS(FIRST_VALUE(JSON_KEYS(EXP(-15676),ABS('d0')) +)OVER())))>=(CONNECTION_ID()))" "SELECT JSON_LENGTH(FIRST_VALUE(JSON_OBJECTAGG('key2','*B'))OVER())" +"SELECT AVG(i) FROM t1 WINDOW w AS (ORDER BY i)" +"SELECT AVG(i), RANK() OVER (ORDER BY i) FROM t1" +"SELECT AVG(i) FROM t1 ORDER BY RANK() OVER (PARTITION BY AVG(i) ORDER BY i)" +"SELECT AVG(i), RANK() OVER w FROM t1 WINDOW w AS (ORDER BY i)" +"SELECT (select AVG(i)+RANK() OVER (ORDER BY i)) FROM t1" "INSERT INTO t VALUES (1,1), (2,1), (3,2), @@ -111327,7 +125894,26 @@ FIRST_VALUE(a) OVER w AS first, LAST_VALUE (a) OVER w AS last FROM t WINDOW w AS (ORDER BY b,a DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)" +"SELECT IFNULL(JSON_TYPE(CASE WHEN(1) THEN(1) ELSE(1) END), +LAST_VALUE('')OVER())" +"SELECT IFNULL((UUID_TO_BIN(0xAB8631)),(FIRST_VALUE(2.469566E+307)OVER()))" "SELECT IFNULL((JSON_TYPE(@c)),(FIRST_VALUE(@b)OVER()))" +"DO ST_WITHIN(ST_ASWKB(ST_ASBINARY(1,'axis-order=srid-defined')), ST_ASWKT( +ST_ASBINARY(LAST_VALUE(4732)OVER()),'axis-order=srid-defined'))" +"DO ST_OVERLAPS(ST_ASWKB(ST_ASBINARY(1,'axis-order=lat-long'), +'axis-order=srid-defined'), ST_ASWKT(LAST_VALUE('*7') OVER()))" +"DO ST_POINTN(ST_ASWKT(ST_ASWKT(ST_ASWKB(6565))), +ST_ASBINARY(LAST_VALUE(0xfd8b9af2bedb16c0d7f1cca63b5c9e) OVER()))" +"DO POW(-8714,REPEAT('1',32)) OR +VALIDATE_PASSWORD_STRENGTH(LAST_VALUE(1) OVER())" +"DO SUBSTRING_INDEX(((((RADIANS(0xBD)) && (ST_SRID(1, 4326)))) OR +(COT(UUID_SHORT()))), FIRST_VALUE(ROW_COUNT())RESPECT NULLS OVER(), 171)" +"DO ((JSON_TYPE('4:8')) AND (((ROLES_GRAPHML()) LIKE (FIRST_VALUE(31543) +RESPECT NULLS OVER()))))" +"DO CONCAT_WS( JSON_OBJECTAGG( ROW_COUNT(), BIT_COUNT(-23163)), +DEGREES((1.595545e+308)), REPEAT(FIRST_VALUE('%0') OVER(), 30))" +"DO REPLACE((( RELEASE_LOCK( ACOS(0x41))) OR (1)), LAST_VALUE(9.750062e+306) +RESPECT NULLS OVER(), UUID_SHORT())" "SELECT PERCENT_RANK() OVER(), LAG(1,35,1) OVER w2 FROM t @@ -111356,13 +125942,38 @@ FROM t" OVER (PARTITION BY b ORDER BY a RANGE BETWEEN 253 FOLLOWING AND 118 FOLLOWING) FROM t" +"DO NTILE(MAX(NOT 1)) OVER()",,syntax_error "DO LAG(1, 9223372036854775807) OVER()" "DO LEAD(1, 9223372036854775807) OVER()" "DO NTILE(9223372036854775807) OVER()" +"DO LAG(1, 18446744073709551615) OVER()" +"DO LEAD(1, 18446744073709551615) OVER()" +"DO NTILE(18446744073709551615) OVER()" "CREATE PROCEDURE p1(n INTEGER) DO NTILE(n) OVER()" +"CALL p1(NULL)" "CREATE PROCEDURE p1(n INTEGER) DO LEAD('x', n) OVER()" "CALL p1(0)" +"CALL p1(-1)" "CREATE PROCEDURE p1(n INTEGER) DO LAG('x', n) OVER()" +"CREATE PROCEDURE p1(n DATE) DO NTILE(n) OVER()",,syntax_error +"CREATE PROCEDURE p1() +BEGIN +DECLARE d DATE; +DO NTILE(d) OVER(); +END +",,syntax_error +"CREATE PROCEDURE p2() +BEGIN +DECLARE d DATE; +DO LEAD('x', d) OVER(); +END +",,syntax_error +"CREATE PROCEDURE p3() +BEGIN +DECLARE d DATE; +DO LAG('x', d) OVER(); +END +",,syntax_error "CREATE PROCEDURE p1(n INTEGER) BEGIN DECLARE i INTEGER; @@ -111384,19 +125995,28 @@ SET i = n; DO LAG('x', i) OVER(); END " +"CALL p2(NULL)" "CALL p2(0)" +"CALL p2(-1)" +"CALL p3(NULL)" "CALL p3(0)" +"CALL p3(-1)" "SET @v = NULL" "PREPARE stmt FROM 'DO NTILE(?) OVER()'" +"EXECUTE stmt USING @undefined" +"DO NTILE(@v) OVER()" +"DO NTILE(@undefined) OVER()" "CREATE PROCEDURE p2(n INT) DO LEAD(1, n) OVER()" "CREATE PROCEDURE p3(n INT) DO LAG(1, n) OVER()" "PREPARE stmt FROM 'DO LAG(1, ?) OVER()'" "PREPARE stmt FROM 'DO LEAD(1, ?) OVER()'" -"SET @v = '1'" -"SET @v = 1.2" "DO LAG(1, @v) OVER()" "DO LEAD(1, @v) OVER()" -"DO NTILE(@v) OVER()" +"SET @v = '1'" +"SET @v = 1.2" +"DO LAG(1, @v) OVER(), @v:=20" +"DO LEAD(1, @v) OVER(), @v:=20" +"DO NTILE(@v) OVER(), @v:=20" "CREATE TABLE `t1` (`c1` INT, `c2` INT, `c3` CHAR(255), `c4` CHAR(255))" "INSERT INTO t1 VALUES (1,1,'t1','t1'), (2,2,'t1','t1'), (3,3,'t1','t1'), (4,4,'t1','t1'), (5,5,'t1','t1'), @@ -111928,6 +126548,15 @@ FROM t WINDOW w1 AS (PARTITION BY a)" "SELECT MAX(-2605.952148) OVER (PARTITION BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM t WINDOW w1 AS (PARTITION BY a)" +"SELECT ((PERIOD_DIFF('7766-05-30','2955-06-11'))DIV(LAST_VALUE(';')OVER()))" +"SELECT ((BIT_OR(COT('f?e')))DIV(LAG(' ',133,0xbb054701d650)OVER()))" +"SELECT ((EXP(2778419536874221989))DIV(LAST_VALUE('{ }')OVER()))" +"SELECT ((PERIOD_ADD(-6001,16973))DIV(LAST_VALUE('')OVER()))" +"SELECT((LAST_VALUE(PERIOD_ADD(32733,1518714932))OVER())DIV(NULL))" +"SELECT ((EXP(0x6108))DIV(LAG(NULL,21,' 4F')OVER()))" +"SELECT ((FIRST_VALUE(EXP(0x41a129))OVER())DIV(-969))" +"SELECT MAKETIME('1',(!(999*1.421474e+308)),LAST_VALUE(-25038)RESPECT NULLS +OVER())" "CREATE TABLE t1 ( i INTEGER)" "INSERT INTO t1 VALUES (392),(392),(1027),(1027),(1027),(1034),(1039)" "SELECT i, LAST_VALUE(i) OVER w FROM t1 @@ -111979,6 +126608,9 @@ count(b) OVER w count FROM t1 WINDOW w as (ORDER BY b ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING)" "CREATE TABLE t (a BIGINT,b INT)" "INSERT INTO t VALUES (9223372036854775807,1)" +"SELECT b, CUME_DIST() OVER ( +PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND 1 FOLLOWING +) FROM t" "INSERT INTO t VALUES(0),(1),(2),(3)" "SELECT * FROM (SELECT IF(1, WEEKDAY('1'), ROW_NUMBER() OVER (PARTITION BY f1)) FROM t) AS a" @@ -112023,6 +126655,8 @@ SELECT * FROM der1" "WITH der AS (SELECT i AS a FROM t1), der1 AS (SELECT ROW_NUMBER() OVER (ORDER BY a) FROM der) SELECT * FROM der1" +"SELECT i AS b, ROW_NUMBER() OVER (ORDER BY b) FROM t1" +"SELECT i+1 AS b, ROW_NUMBER() OVER (ORDER BY b) FROM t1" "SELECT 3 AS i, ROW_NUMBER() OVER (ORDER BY i) FROM t1" "CREATE TABLE t ( a INT, b DATETIME(3))" "INSERT t VALUES(1986,'9344-11-05 13:39:24.686')" @@ -112037,8 +126671,18 @@ b BLOB GENERATED ALWAYS AS (LPAD(1,10622,10)) VIRTUAL ) ENGINE=INNODB" "INSERT INTO t VALUES (), ()" +"SET @f = +( +SELECT NTILE(39) OVER w1 FROM t +WINDOW w1 AS(ORDER BY a) +)" "PREPARE stmt FROM 'SELECT NTILE(39) OVER w1 FROM t WINDOW w1 AS(ORDER BY a)'" +"SET @f = +( +SELECT NTILE(39) OVER w1 FROM t +WINDOW w1 AS(ORDER BY b) +)" "PREPARE stmt FROM 'SELECT NTILE(39) OVER w1 FROM t WINDOW w1 AS(ORDER BY b)'" "WITH tab(t, company, quote) AS ( @@ -112067,6 +126711,10 @@ SELECT num, COUNT(*) OVER (frame) cnt_named, COUNT(*) OVER (ORDER BY num DESC) cnt_direct FROM cte WINDOW frame AS (ORDER BY num DESC)" +"SELECT JSON_ARRAY(FIRST_VALUE(CAST('' AS JSON)) OVER (), '')" +"SELECT JSON_ARRAY(NTH_VALUE(CAST('' AS JSON), 1) OVER (), '')" +"SELECT JSON_ARRAY(LEAD(CAST('true' AS JSON), 2, CAST('' AS JSON)) OVER (), '')" +"SELECT JSON_ARRAY(JSON_ARRAYAGG(CAST('' AS JSON)) OVER (), '')" "CREATE TABLE t1 (a TIMESTAMP NOT NULL)" "SELECT a + INTERVAL(LAST_VALUE(1) OVER ()) SECOND FROM (SELECT a FROM t1) q" "CREATE TABLE t1 ( @@ -112385,7 +127033,6 @@ COUNT(*) OVER () - 1 AS ""b-1"" FROM table1 ; END " "CALL test2()" "DROP PROCEDURE test2" -"DROP TABLE table1" "INSERT INTO t1 VALUES (NULL), (NULL), (-2128216064)" "SELECT AVG( @A := c1 ) OVER (ROWS 1 PRECEDING) FROM t1" "SELECT @A" @@ -112626,6 +127273,7 @@ WINDOW w AS (ORDER BY d RANGE BETWEEN 2 PRECEDING AND CURRENT ROW)" WINDOW w AS (ORDER BY d RANGE BETWEEN 2 PRECEDING AND 2 FOLLOWING)" "EXPLAIN FORMAT=JSON SELECT d, SUM(d) OVER w, AVG(d) OVER w FROM td WINDOW w AS (ORDER BY d RANGE BETWEEN CURRENT ROW AND 2 FOLLOWING)" +"EXPLAIN FORMAT=JSON SELECT id, NTILE(NULL) OVER w FROM t1 WINDOW w AS (ORDER BY id)",,syntax_error "EXPLAIN FORMAT=JSON SELECT id, NTILE(1) OVER w FROM t1 WINDOW w AS (ORDER BY id)" "EXPLAIN FORMAT=JSON SELECT id, NTILE(2) OVER w FROM t1 WINDOW w AS (ORDER BY id)" "EXPLAIN FORMAT=JSON SELECT id, NTILE(5) OVER w FROM t1 WINDOW w AS (ORDER BY id)" @@ -112851,6 +127499,7 @@ DENSE_RANK() OVER (ORDER BY s2) FROM t1 "EXPLAIN FORMAT=JSON SELECT * FROM ( SELECT *, SUM(s1) OVER (ORDER BY s1) FROM t1 ORDER BY s1 ) alias ORDER BY s1,s2" +"EXPLAIN FORMAT=JSON SELECT AVG(s1), RANK() OVER (ORDER BY s1) FROM t1" "EXPLAIN FORMAT=JSON SELECT *, AVG(s1) OVER () FROM t1" "EXPLAIN FORMAT=JSON SELECT *, AVG(s1) OVER (ROWS UNBOUNDED PRECEDING) FROM t1" "INSERT INTO t VALUES (1,1,1), (1,1,2), (1,1,3), @@ -113050,6 +127699,8 @@ OVER w jobject_j FROM t1 WINDOW w AS (PARTITION BY i ORDER BY s)" OVER (ORDER BY i DESC ROWS UNBOUNDED PRECEDING) jobject_j FROM t1" "SELECT j, s, JSON_OBJECTAGG(j, s) OVER w jobject_s FROM t1 GROUP BY j,s WINDOW w AS (ORDER BY j)" +"SELECT i, JSON_OBJECTAGG(i,f) OVER w jobject_f FROM t1 GROUP BY i,f +WITH ROLLUP HAVING GROUPING(f)=1 WINDOW w AS (ORDER BY f)" "SELECT i, j, f, JSON_OBJECTAGG(j,f) OVER w jobject_f, RANK() OVER w rank1 FROM t1 WINDOW w AS (PARTITION BY i ORDER BY i)" "SELECT i, j, f, JSON_OBJECTAGG(i,j) OVER w jobject_i, RANK() @@ -113316,12 +127967,15 @@ WINDOW w AS (ORDER BY user_id), w1 AS (ORDER BY user_id)" WINDOW w AS (ORDER BY id DESC RANGE 2 PRECEDING)" "SELECT p, NTILE(5) OVER w, ROW_NUMBER() OVER w, id, MAX(id) OVER w FROM t11 WINDOW w AS (PARTITION BY p ORDER BY id DESC RANGE 2 PRECEDING)" +"SELECT NTILE(5) OVER w, ROW_NUMBER() OVER w, id, MIN(id) OVER w FROM t1 +WINDOW w AS (ORDER BY id DESC RANGE INTERVAL 2 MONTH PRECEDING)" "DROP TABLE t11,t22,t1,t2" "SELECT d, MIN(d) OVER w min, MAX(d) OVER w max, COUNT(*) OVER w FROM t3 WINDOW w AS (ORDER BY d RANGE BETWEEN 2.1 PRECEDING AND 1.1 FOLLOWING)" "SELECT MIN(j) OVER () AS JSON FROM tj" "SELECT j, JSON_TYPE(j), MIN(j) OVER (ORDER BY j ROWS 3 PRECEDING) FROM tj" "SELECT j, JSON_TYPE(j), MAX(j) OVER (ORDER BY j ROWS 3 PRECEDING) FROM tj" +"SELECT j, JSON_TYPE(j), JSON_TYPE(MIN(j) OVER (ORDER BY j RANGE 3 PRECEDING)) FROM tj" "SELECT j, JSON_TYPE(j), JSON_TYPE(MAX(j) OVER (ORDER BY j ROWS 3 PRECEDING)) FROM tj" "SELECT j, JSON_TYPE(j), @@ -113366,6 +128020,9 @@ MIN(TIME'12:00:00') OVER () = TIME '12:00:00' AS c6, MIN(TIMESTAMP'2000-01-01 12:00:00') OVER () = TIMESTAMP'2000-01-01 12:00:00' AS c7" "SET windowing_use_high_precision= default" +"use lpt1" +"use com1" +"use prn" "create table nu (a int)" "drop table nu" "EXPLAIN SELECT * FROM t1 WHERE b = (SELECT max(2))" @@ -113396,12 +128053,21 @@ WHERE VARIABLE_NAME = 'socket'" "insert into t1 values(1,2)" "GRANT SELECT (pub) ON mysqltest1.t1 TO user1@localhost" "select pub from t1" +"select priv from t1" "select * from (select pub from t1) as dt" "explain select * from (select pub from t1) as dt" +"select /*+ merge(dt) */ * from (select priv from t1) as dt" +"select /*+ no_merge(dt) */ * from (select priv from t1) as dt" +"explain select * from (select priv from t1) as dt" "with qn as (select pub from t1) select * from qn" "explain with qn as (select pub from t1) select * from qn" +"with qn as (select priv from t1) select /*+ merge(qn) */ * from qn" +"with qn as (select priv from t1) select /*+ no_merge(qn) */ * from qn" +"explain with qn as (select priv from t1) select * from qn" "with qn2 as (with qn as (select pub from t1) select * from qn) select * from qn2" +"with qn2 as (with qn as (select priv from t1) select * from qn) +select * from qn2" "with qn(a) as (select 1 from t1 limit 2) select * from qn where qn.a=(select * from qn qn1 limit 1) union select 2" "CREATE TABLE c ( @@ -114153,6 +128819,32 @@ KEY col_datetime_key (col_datetime_key), KEY test_idx (col_int_key,col_int) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1" "CREATE OR REPLACE VIEW view_bb AS SELECT * FROM bb" +"WITH cte AS ( +SELECT alias1 . col_datetime_key AS field1 +FROM view_c AS alias1 RIGHT JOIN view_bb AS alias2 +ON alias1 . col_blob_key = alias2 . col_blob_key +WHERE +alias2 . col_varchar_key >= 'r' +AND alias2 . col_varchar_key <= 'z' +AND alias2 . col_varchar_key > 'x' +AND alias2 . col_varchar_key <= 'z' +AND alias2 . pk > 3 +AND alias2 . pk < ( 7 + 1 ) +OR alias2 . col_int_key IN (5) +ORDER BY field1 , field1 ) +DELETE outr1.* +FROM b AS outr1 JOIN e AS outr2 +ON ( outr1 . col_int_key = outr2 . col_int ) +JOIN c AS outr3 +ON ( outr1 . col_datetime_key = outr3 . col_date_key ) +LEFT JOIN cte AS outrcte +ON outr1 . col_blob = outrcte.field1 +WHERE ( _utf8mb3 'g' ) IN ( +SELECT innrcte . field1 AS x +FROM aa AS innr1 JOIN cte AS innrcte +ON innr1.pk = innrcte.field1 +WHERE outr1 . col_int_key <> 0 +ORDER BY innr1 . col_blob )" "DROP VIEW view_c, view_bb" "DROP TABLE aa,b,bb,c,e" "CREATE TABLE E ( @@ -114177,6 +128869,22 @@ key (col_time_key ), key (col_date_key ), key (col_blob_key (255)), primary key (pk)) ENGINE=innodb" +"WITH cte AS ( +SELECT alias2 . col_time_key AS field1 +FROM E AS alias1 LEFT OUTER JOIN E AS alias2 +ON alias1 . col_varchar_key = alias2 . col_blob_key +WHERE alias2 . col_varchar_key LIKE ( 'u' ) +ORDER BY field1 DESC LIMIT 1000) +UPDATE +E AS OUTR1 JOIN E AS OUTR2 +ON ( OUTR1 . col_int = OUTR2 . col_int ) +LEFT OUTER JOIN cte AS OUTRcte JOIN cte AS OUTRcte1 +ON OUTR1 . col_int = OUTRcte.field1 +ON OUTR2 . col_varchar = OUTRcte1.field1 +SET OUTR1.col_varchar_key = 0 +WHERE OUTRcte . field1 IN ( +SELECT INNR1 . col_varchar AS y FROM E AS INNR1 +WHERE OUTRcte1 . field1 <> 3 )" "DROP TABLE E" "INSERT INTO t1 VALUES(1),(2),(3),(4),(5),(6)" "INSERT INTO t2 @@ -114189,13 +128897,47 @@ WITH cte AS (SELECT * FROM t1 WHERE a>3*RAND()) SELECT SUM(c.a) FROM cte c UNION ALL SELECT SUM(c2.a) FROM cte c2" "insert into t1 values(2),(3)" +"with t1 as (select * from t1 where a=3) delete from t1" +"with t1 as (select * from t1 where a=3) delete t1.* from t1, t1 as t2" +"with t1 as (select * from t1 where a=3) update t1 set a=2" +"with t1 as (select * from t1 where a=3) update t1, t1 as t2 set t1.a=2" "with t1 as (select 36 as col from t1 where a=3) select * from t1" "insert into t1 with t1 as (select 36 as col from t1) select * from t1" +"create table t1 with t1 as (select 72 as col from t1) select * from t1" "create table t2 with t1 as (select 72 as col from t1) select * from t1" +"SELECT COUNT(sq1_t1.a) AS sq1_field1 +FROM t1 AS sq1_t1 RIGHT JOIN +t1 AS sq1_t2 LEFT JOIN t1 AS sq1_t3 +ON sq1_t2.a IN +(WITH cte2 AS +(SELECT sq1_t1.a AS c_sq1_field1 +FROM t1 AS c_sq1_t1 +) +SELECT * FROM cte2 +) +ON sq1_t3.a = sq1_t2.a" +"SELECT (WITH cte1 AS +(SELECT COUNT(sq1_t1.a) AS sq1_field1 +FROM t1 AS sq1_t1 RIGHT JOIN +t1 AS sq1_t2 LEFT JOIN t1 AS sq1_t3 +ON sq1_t2.a IN +(WITH cte2 AS +(SELECT sq1_t1.a AS c_sq1_field1 +FROM t1 AS c_sq1_t1 +) +SELECT * FROM cte2 +) +ON sq1_t3.a = sq1_t2.a +) +SELECT * FROM cte1 +) AS field3 +FROM t1 AS table1" "CREATE TABLE t1 (f1 TEXT)" "WITH cte1 AS (SELECT * FROM t1 UNION SELECT * FROM t1), cte2 AS (SELECT COUNT(*) FROM cte1) SELECT * from cte1,cte2" "CREATE TABLE t1(c1 DATETIME, c2 INT, KEY(c1))" +"WITH RECURSIVE cte AS ( SELECT a.c1 AS field1, 0 AS cycle FROM (t1 AS a) +UNION ALL SELECT b.c2 FROM cte AS a JOIN t1 AS b) SELECT * FROM cte" "CREATE TABLE A ( col_date date DEFAULT NULL, col_datetime_key datetime DEFAULT NULL, @@ -114415,6 +129157,8 @@ select count(n),max(n) from qn" "SET @@SESSION.cte_max_recursion_depth = 1000000000" "SET DEBUG_SYNC='in_WITH_RECURSIVE SIGNAL with_recursive_has_started'" "SET DEBUG_SYNC='now WAIT_FOR with_recursive_has_started'" +"with recursive q (b) as (select 1 union all select 1+b from q) +select b from q" "set sql_mode = pipes_as_concat" "create procedure solver(initial_leftm varchar(200), initial_rightm varchar(200)) @@ -114595,6 +129339,7 @@ end "EXPLAIN SELECT * FROM mysql.procs_priv WHERE host='' AND user=''" "DROP DATABASE wl14965" "SET @@SESSION.pseudo_replica_mode=1" +"BINLOG '0'" "CREATE TABLE t1(i TEXT, FULLTEXT INDEX tix (i)) ENGINE=InnoDB" "XA START 'xa1',''" "XA END 'xa1',''" @@ -114614,13 +129359,15 @@ end "XA END 'xa1_t1'" "XA PREPARE 'xa1_t1'" "XA COMMIT 'xa1_t1'" +"XA END 'xa2_t1'" +"UPDATE t1 SET c2 = 'f' WHERE c1 = 2" "XA ROLLBACK 'xa2_t1'" "XA START 'xid1'" "XA END 'xid1'" "XA PREPARE 'xid1'" "set session debug=""+d,crash_after_xa_recover""" -"set session debug=""-d,crash_after_xa_recover""" "XA RECOVER" +"set session debug=""-d,crash_after_xa_recover""" "XA COMMIT 'xid1'" "XA START 'xid1', 'br\'_1'" "XA END 'xid1', 'br\'_1'" @@ -114628,6 +129375,7 @@ end "XA ROLLBACK 'xid1', 'br\'_1'" "SET @@session.debug = '+d,simulate_xa_failure_prepare'" "SET @@session.debug = '-d,simulate_xa_failure_prepare'" +"XA ROLLBACK 'xid1'" "XA START 'trx_another_one'" "SET SESSION xa_detach_on_prepare = OFF" "SET @@session.debug= '+d,simulate_xa_commit_log_failure'" @@ -114643,29 +129391,35 @@ end "SET DEBUG_SYNC=""now SIGNAL proceed_check_xid_state""" "CREATE TABLE t1(d VARCHAR(128))" "INSERT INTO t1 VALUES ('I: The first string'), ('I: The second string')" -"XA ROLLBACK 'xid1'" +"XA PREPARE 'xidX'" "XA START 'xid2'" "INSERT INTO t1 VALUES ('II: The first string'), ('II: The second string')" "XA END 'xid2'" "SET DEBUG = ""+d,xaprep_mdl_fail""" +"XA PREPARE 'xid2'" "SET DEBUG = ""-d,xaprep_mdl_fail""" "XA START 'xid3'" "INSERT INTO t1 VALUES ('III: The first string'), ('III: The second string')" "XA END 'xid3'" "SET DEBUG = ""+d,xaprep_ha_xa_prepare_fail""" +"XA PREPARE 'xid3'" "SET DEBUG = ""-d,xaprep_ha_xa_prepare_fail""" "XA START 'xid4'" "INSERT INTO t1 VALUES ('IV: The first string'), ('IV: The second string')" "XA END 'xid4'" "SET DEBUG = ""+d,xaprep_create_mdl_backup_fail""" +"XA PREPARE 'xid4'" "SET DEBUG = ""-d,xaprep_create_mdl_backup_fail""" "XA START 'xid5'" "INSERT INTO t1 VALUES ('V: The first string'), ('V: The second string')" "XA END 'xid5'" "SET DEBUG = ""+d,xaprep_trans_detach_fail""" +"XA PREPARE 'xid5'" "SET DEBUG = ""-d,xaprep_trans_detach_fail""" +"XA START 'test-bad'" "XA START 'testa','testb'" "XA END 'testa','testb'" +"XA START 'testa','testb', 123" "XA START 0x7465737462, 0x2030405060, 0xb" "INSERT INTO t1 VALUES (40)" "XA END 'testb',' 0@P`',11" @@ -114681,6 +129435,7 @@ end "UPDATE t1 SET c = 'aa' WHERE a = 1" "XA START 'a','c'" "UPDATE t1 SET c = 'bb' WHERE a = 2" +"XA END 'a','c'" "XA ROLLBACK 'a','c'" "XA START 'x'" "SET SESSION autocommit=0" @@ -114699,9 +129454,11 @@ end "UPDATE t1 SET b= 3 WHERE a=1" "XA START 'b'" "UPDATE t1 SET b=4 WHERE a=2" +"UPDATE t1 SET b=6 WHERE a=2" "XA END 'b'" "XA ROLLBACK 'b'" "SAVEPOINT savep" +"SET @a=(SELECT * FROM t1)" "UPDATE t1 SET a=1 WHERE a=2" "SELECT a FROM t2 WHERE a=1 FOR SHARE" "SELECT a FROM t2 WHERE a=1 FOR UPDATE" @@ -114715,39 +129472,44 @@ end "XA PREPARE 0x4142434445, 0x46, 0x02 " "XA ROLLBACK 0x4142434445, 0x46, 0x02 " "XA START 'xid1' RESUME" +"XA START 'xid2' RESUME" +"XA END 'xid1' SUSPEND" +"XA ROLLBACK 'xid2'" "SET SESSION autocommit = OFF" -"XA PREPARE 'xid3'" "XA ROLLBACK 'xid3'" -"XA PREPARE 'xid4'" "XA COMMIT 'xid4'" "SET SESSION autocommit = DEFAULT" +"XA START '1', 0x01, 18446744073709551615",,syntax_error "CREATE TABLE asd (a INT)" "INSERT INTO asd VALUES (1)" "DROP TABLE asd" -"XA PREPARE 'xid2'" "XA COMMIT 'xid2'" "SET autocommit = DEFAULT" "XA START X'1A2B3C4D5E6F',X'F6E5D4C3B2A1',12345" "XA END X'1A2B3C4D5E6F',X'F6E5D4C3B2A1',12345" "XA PREPARE X'1A2B3C4D5E6F',X'F6E5D4C3B2A1',12345" +"XA ROLLBACK X'1A2B3C4D5E6F',X'F6E5D4C3B2A1',2" "XA RECOVER CONVERT XID" "XA ROLLBACK X'1A2B3C4D5E6F',X'F6E5D4C3B2A1',12345" "CREATE TEMPORARY TABLE temp1(i INT)" "XA START 'xa1'" +"INSERT INTO temp1 VALUES (1),(2),(3)" "XA END 'xa1'" "XA ROLLBACK 'xa1'" "XA START 'xa2'" +"CREATE TEMPORARY TABLE temp2(i INT)" "XA END 'xa2'" "XA ROLLBACK 'xa2'" "XA START 'xa3'" +"SELECT * FROM temp1" "XA END 'xa3'" "XA ROLLBACK 'xa3'" -"INSERT INTO temp1 VALUES (1),(2),(3)" "XA START 'xa3_'" +"DROP TEMPORARY TABLE temp1" "XA END 'xa3_'" "XA ROLLBACK 'xa3_'" -"DROP TEMPORARY TABLE temp1" "XA START 'xa4'" +"SET SESSION xa_detach_on_prepare=OFF" "XA END 'xa4'" "XA ROLLBACK 'xa4'" "CREATE TABLE t1(c1 VARCHAR(128))" @@ -114808,9 +129570,9 @@ FROM performance_schema.metadata_locks WHERE object_schema = 'test'" "XA PREPARE 'xa3x'" "XA COMMIT 'xa3x'" "CREATE USER xau" +"SET xa_detach_on_prepare = OFF" "GRANT GROUP_REPLICATION_ADMIN ON *.* TO xau" "GRANT SESSION_VARIABLES_ADMIN ON *.* TO xau" -"SET xa_detach_on_prepare = OFF" "DROP USER xau" "CREATE TABLE t7(i INT)" "INSERT INTO t7 VALUES (1),(2),(3)" @@ -114819,20 +129581,26 @@ FROM performance_schema.metadata_locks WHERE object_schema = 'test'" "CREATE TABLE t8(i INT)" "INSERT INTO t8 VALUES (1),(2),(3)" "SELECT * FROM t8" +"XA ROLLBACK 'xa8'" "SET GLOBAL xa_detach_on_prepare = false" "insert t1 values (10)" +"xa start 'test-bad'" "insert t1 values (20)" "xa commit 'test2'" "xa start 'testa','testb'" "insert t1 values (30)" "xa end 'testa','testb'" +"xa start 'testa','testb', 123" "xa start 0x7465737462, 0x2030405060, 0xb" "insert t1 values (40)" "xa end 'testb',' 0@P`',11" "xa prepare 'testb',0x2030405060,11" +"start transaction" "xa prepare 'testa','testb'" -"xa rollback 'testa','testb'" +"xa commit 'testb',0x2030405060,11" "xa rollback 'testb',0x2030405060,11" +"xa rollback 'testa','testb'" +"xa start 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'",,syntax_error "create table t1(a int, b int, c varchar(20), primary key(a)) engine = innodb" "insert into t1 values(1, 1, 'a')" "insert into t1 values(2, 2, 'b')" @@ -114840,6 +129608,7 @@ FROM performance_schema.metadata_locks WHERE object_schema = 'test'" "update t1 set c = 'aa' where a = 1" "xa start 'a','c'" "update t1 set c = 'bb' where a = 2" +"xa end 'a','c'" "xa rollback 'a','c'" "xa start 'a'" "xa end 'a'" @@ -115045,6 +129814,7 @@ FROM performance_schema.metadata_locks WHERE object_schema = 'test'" "SELECT extractValue(@xml, '/a/b[string-length(""x"")]')" "SELECT extractValue(@xml, '/a/b[string-length(""xx"")]')" "SELECT extractValue(@xml, '/a/b[string-length()]')" +"SELECT extractValue(@xml, 'string-length()')" "SELECT extractValue(@xml, 'string-length(""x"")')" "SET @xml=''" "select extractValue(@xml,'/a/@b')" @@ -115077,6 +129847,8 @@ FROM performance_schema.metadata_locks WHERE object_schema = 'test'" "select extractvalue('aB','/a|/b')" "select extractvalue('aB','/a|b')" "select extractvalue('aB','a|/b')" +"select extractvalue('A','/')" +"select extractvalue('bb!','//b!')" "select extractvalue('ABC','/a/descendant::*')" "select extractvalue('ABC','/a/self::*')" "select extractvalue('ABC','/a/descendant-or-self::*')" @@ -115104,6 +129876,9 @@ FROM performance_schema.metadata_locks WHERE object_schema = 'test'" "select extractValue('aa','/a')" "select extractValue('a','/a')" +"select extractValue('1','position()')" +"select extractValue('1','last()')" +"select extractValue('1','/e/')" "select extractValue('<Ñ>r','/Ñ/r')" "select extractValue('<Ñ>Ñ','/r/Ñ')" "select extractValue('<Ñ r=""r""/>','/Ñ/@r')" @@ -115118,6 +129893,7 @@ END" "select extractValue('a','/ns:element/@xmlns:ns')" "select extractValue('DataOtherdata','/foo/foo.bar')" "select extractValue('DataOtherdata','/foo/something')" +"select extractValue('<01>10:39:15<02>140','/zot/tim0/02')" "select extractValue('<01>10:39:15<02>140','//*')" "select extractValue('<.>test','//*')" "select extractValue('<->test','//*')" @@ -115216,6 +129992,9 @@ END" "CALL spxml('b1b2', 'string and 1')" "CALL spxml('b1b2', 'string')" "DROP PROCEDURE spxml" +"select UpdateXML('a',repeat('a b ',1000),'')" +"select ExtractValue('a', '/a[@x=@y0123456789_0123456789_0123456789_0123456789]')" +"select ExtractValue('a', '/a[@x=$y0123456789_0123456789_0123456789_0123456789]')" "select updatexml(NULL, 1, 1), updatexml(1, NULL, 1), updatexml(1, 1, NULL)" "select updatexml(NULL, NULL, 1), updatexml(1, NULL, NULL), updatexml(NULL, 1, NULL)" @@ -115234,6 +130013,11 @@ updatexml(NULL, 1, NULL)" "SELECT ExtractValue('CharData', '/xml')" "SELECT ExtractValue('CharData', '/xml')" "set @x=10" +"select extractvalue('','$@x/a')" +"select extractvalue('','round(123.4)/a')" +"select extractvalue('','1/a')" +"select extractvalue('','""b""/a')" +"select extractvalue('','(1)/a')" "CREATE TABLE IF NOT EXISTS t1 ( id int(10) unsigned NOT NULL AUTO_INCREMENT, xml text, @@ -115252,6 +130036,8 @@ UpdateXML(xml, '/bla/@name', 'test') FROM t1 ORDER BY t1.id" "SELECT REPLACE(EXTRACTVALUE('1', '/a'),'ds','')" "SELECT AVG(DISTINCT EXTRACTVALUE((''),('$@k')))" +"SELECT UPDATEXML(NULL, (LPAD(0.1111E-15, '2011', 1)), 1)" +"SELECT EXTRACTVALUE('', LPAD(0.1111E-15, '2011', 1))" "SELECT UPDATEXML(CONVERT(_latin1'<' USING utf8mb3),'1','1')" "SELECT UPDATEXML(CONVERT(_latin1'