mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
66 lines
1.9 KiB
Text
66 lines
1.9 KiB
Text
#
|
|
# Tests related to PS returning errors rather than doing successfull execution
|
|
#
|
|
|
|
--echo #
|
|
--echo # MDEV-17741 Assertion `thd->Item_change_list::is_empty()' failed in mysql_parse after unsuccessful PS
|
|
--echo #
|
|
|
|
SET SQL_MODE= 'STRICT_ALL_TABLES';
|
|
CREATE TABLE t1 (a INT);
|
|
PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
|
|
--error ER_TRUNCATED_WRONG_VALUE
|
|
EXECUTE stmt;
|
|
SELECT a FROM t1 GROUP BY NULL WITH ROLLUP;
|
|
DROP TABLE t1;
|
|
SET sql_mode=DEFAULT;
|
|
|
|
SET SQL_MODE= 'STRICT_ALL_TABLES';
|
|
CREATE TABLE t1 (a INT);
|
|
PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
|
|
--error ER_TRUNCATED_WRONG_VALUE
|
|
EXECUTE stmt;
|
|
SET @a = REPLACE( @@global.optimizer_switch, '=on', '=off' ) ;
|
|
DROP TABLE t1;
|
|
SET sql_mode=DEFAULT;
|
|
|
|
|
|
--echo #
|
|
--echo # MDEV-17738 Server crashes in Item::delete_self on closing connection after unsuccessful PS
|
|
--echo #
|
|
|
|
SET SQL_MODE='STRICT_ALL_TABLES';
|
|
PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
|
|
--error ER_TRUNCATED_WRONG_VALUE
|
|
EXECUTE stmt;
|
|
--source include/restart_mysqld.inc
|
|
SELECT 'All done';
|
|
SET SQL_MODE=DEFAULT;
|
|
|
|
SET SQL_MODE='STRICT_ALL_TABLES';
|
|
PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
|
|
--error ER_TRUNCATED_WRONG_VALUE
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
SELECT 'All done';
|
|
SET SQL_MODE=DEFAULT;
|
|
|
|
SET SQL_MODE= 'STRICT_ALL_TABLES';
|
|
CREATE TABLE t1 (a INT);
|
|
PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
|
|
--error ER_TRUNCATED_WRONG_VALUE
|
|
EXECUTE stmt;
|
|
SELECT a FROM t1 GROUP BY a;
|
|
SELECT * FROM t1;
|
|
DROP TABLE t1;
|
|
SET SQL_MODE=DEFAULT;
|
|
|
|
SET SQL_MODE= 'STRICT_ALL_TABLES';
|
|
CREATE TABLE t1 (a INT);
|
|
PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
|
|
--error ER_TRUNCATED_WRONG_VALUE
|
|
EXECUTE stmt;
|
|
SELECT a FROM t1 GROUP BY a;
|
|
INSERT t1 SELECT * FROM ( SELECT * FROM t1 ) sq;
|
|
DROP TABLE t1;
|
|
SET SQL_MODE=DEFAULT;
|