summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/mysqltest.cc2
-rw-r--r--mysql-test/include/ctype_numconv.inc4
-rw-r--r--mysql-test/include/explain_utils.inc4
-rw-r--r--mysql-test/main/bug12427262.test2
-rw-r--r--mysql-test/main/column_compression.test2
-rw-r--r--mysql-test/main/ctype_gbk.test2
-rw-r--r--mysql-test/main/ctype_ucs.test4
-rw-r--r--mysql-test/main/delayed.test2
-rw-r--r--mysql-test/main/func_group.test2
-rw-r--r--mysql-test/main/func_time.test3
-rw-r--r--mysql-test/main/grant.test2
-rw-r--r--mysql-test/main/grant2.test2
-rw-r--r--mysql-test/main/information_schema_db.test2
-rw-r--r--mysql-test/main/innodb_mysql_lock2.test2
-rw-r--r--mysql-test/main/invisible_field.test2
-rw-r--r--mysql-test/main/lock_sync.test3
-rw-r--r--mysql-test/main/locking_clause.test2
-rw-r--r--mysql-test/main/merge.test4
-rw-r--r--mysql-test/main/myisam_debug.test2
-rw-r--r--mysql-test/main/mysqldump.test2
-rw-r--r--mysql-test/main/null.test2
-rw-r--r--mysql-test/main/outfile_loaddata.test4
-rw-r--r--mysql-test/main/parser.test2
-rw-r--r--mysql-test/main/partition.test2
-rw-r--r--mysql-test/main/partition_exchange.test2
-rw-r--r--mysql-test/main/partition_explicit_prune.test2
-rw-r--r--mysql-test/main/ps_ddl.test6
-rw-r--r--mysql-test/main/ps_ddl1.test2
-rw-r--r--mysql-test/main/query_cache.test4
-rw-r--r--mysql-test/main/select.test2
-rw-r--r--mysql-test/main/signal_demo1.test4
-rw-r--r--mysql-test/main/sp-anchor-row-type-cursor.test3
-rw-r--r--mysql-test/main/sp-anchor-row-type-table.test3
-rw-r--r--mysql-test/main/sp-anchor-type.test2
-rw-r--r--mysql-test/main/sp-big.test4
-rw-r--r--mysql-test/main/sp-error.test7
-rw-r--r--mysql-test/main/sp_gis.test4
-rw-r--r--mysql-test/main/sp_trans.test2
-rw-r--r--mysql-test/main/sp_trans_log.test2
-rw-r--r--mysql-test/main/subselect_exists2in_costmat.test2
-rw-r--r--mysql-test/main/subselect_mat_cost.test2
-rw-r--r--mysql-test/main/temporal_literal.test2
-rw-r--r--mysql-test/main/trigger.test4
-rw-r--r--mysql-test/main/type_blob.test4
-rw-r--r--mysql-test/main/type_newdecimal.test2
-rw-r--r--mysql-test/main/type_year.test4
-rw-r--r--mysql-test/main/union.test4
-rw-r--r--mysql-test/main/userstat.test2
-rw-r--r--mysql-test/main/view.test9
-rw-r--r--mysql-test/main/view_grant.test4
50 files changed, 141 insertions, 7 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
index a873618bf55..a3ca60819ce 100644
--- a/client/mysqltest.cc
+++ b/client/mysqltest.cc
@@ -8293,7 +8293,7 @@ void run_query_stmt(struct st_connection *cn, struct st_command *command,
Get the warnings from mysql_stmt_prepare and keep them in a
separate string
*/
- if (!disable_warnings)
+ if (!disable_warnings && prepare_warnings_enabled)
append_warnings(&ds_prepare_warnings, mysql);
/*
diff --git a/mysql-test/include/ctype_numconv.inc b/mysql-test/include/ctype_numconv.inc
index 889c80cc477..d99942c5d5f 100644
--- a/mysql-test/include/ctype_numconv.inc
+++ b/mysql-test/include/ctype_numconv.inc
@@ -1043,7 +1043,7 @@ update t1 set a= a + 0.1;
select a, hex(a) from t1;
drop table t1;
-
+--enable_prepare_warnings
#
# Columns
#
@@ -1203,7 +1203,6 @@ create table t2 as select concat(a) from t1;
show create table t2;
drop table t1, t2;
-
#
# create view with string functions with numeric input
#
@@ -1517,6 +1516,7 @@ select hex(a) from v1;
drop table t1;
drop view v1;
+--disable_prepare_warnings
#
# User defined function returning numeric result
#
diff --git a/mysql-test/include/explain_utils.inc b/mysql-test/include/explain_utils.inc
index 505798e432a..15376b76610 100644
--- a/mysql-test/include/explain_utils.inc
+++ b/mysql-test/include/explain_utils.inc
@@ -28,9 +28,11 @@
--echo #
if ($select) {
+--enable_prepare_warnings
--disable_query_log
--eval $select INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/before_explain.txt'
--enable_query_log
+--disable_prepare_warnings
}
if ($innodb) {
@@ -122,7 +124,9 @@ if ($validation) {
--disable_query_log
if ($select) {
+--enable_prepare_warnings
--eval $select INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/after_explain.txt'
+--disable_prepare_warnings
--diff_files '$MYSQLTEST_VARDIR/tmp/before_explain.txt' '$MYSQLTEST_VARDIR/tmp/after_explain.txt'
--remove_file '$MYSQLTEST_VARDIR/tmp/before_explain.txt'
--remove_file '$MYSQLTEST_VARDIR/tmp/after_explain.txt'
diff --git a/mysql-test/main/bug12427262.test b/mysql-test/main/bug12427262.test
index aca37a651c4..3a5642516a8 100644
--- a/mysql-test/main/bug12427262.test
+++ b/mysql-test/main/bug12427262.test
@@ -21,6 +21,7 @@ create table t10 (c1 int);
--enable_warnings
# Query PS to know initial read count for frm file.
+--enable_prepare_warnings
select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME
like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM'
into @count_read_before;
@@ -45,6 +46,7 @@ into @count_read_after;
select @count_read_after-@count_read_before;
+--disable_prepare_warnings
--disable_warnings
drop table t1;
drop database show_table_lw_db;
diff --git a/mysql-test/main/column_compression.test b/mysql-test/main/column_compression.test
index 2ae50be95d2..52235b07811 100644
--- a/mysql-test/main/column_compression.test
+++ b/mysql-test/main/column_compression.test
@@ -29,6 +29,7 @@ let $typec= BLOB COMPRESSED;
let $typeu= BLOB;
--source column_compression.inc
+--enable_prepare_warnings
--error ER_PARSE_ERROR
CREATE TABLE t1(a CHAR(100) COMPRESSED);
--error ER_WRONG_FIELD_SPEC
@@ -291,6 +292,7 @@ CREATE TABLE t1 (a VARCHAR(1000) COMPRESSED, FULLTEXT INDEX(a));
--error ER_COMPRESSED_COLUMN_USED_AS_KEY
CREATE TABLE t1 (a TEXT COMPRESSED, FULLTEXT INDEX(a));
+--disable_prepare_warnings
--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/main/ctype_gbk.test b/mysql-test/main/ctype_gbk.test
index c63c331c643..d68b78f847c 100644
--- a/mysql-test/main/ctype_gbk.test
+++ b/mysql-test/main/ctype_gbk.test
@@ -63,8 +63,10 @@ CREATE TABLE t1(a MEDIUMTEXT CHARACTER SET gbk,
INSERT INTO t1 VALUES
(REPEAT(0x1125,200000), REPEAT(0x1125,200000)), ('', ''), ('', '');
+--enable_prepare_warnings
SELECT a FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
SELECT b FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
+--disable_prepare_warnings
DROP TABLES t1;
diff --git a/mysql-test/main/ctype_ucs.test b/mysql-test/main/ctype_ucs.test
index cdc86fa3283..7c798e0a201 100644
--- a/mysql-test/main/ctype_ucs.test
+++ b/mysql-test/main/ctype_ucs.test
@@ -75,7 +75,9 @@ DROP TABLE t1;
--echo # Problem # 1 (original report): wrong parsing of ucs2 data
SET character_set_connection=ucs2;
+--enable_prepare_warnings
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt';
+--disable_prepare_warnings
CREATE TABLE t1(a INT);
LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2
(@b) SET a=REVERSE(@b);
@@ -88,7 +90,9 @@ remove_file $MYSQLD_DATADIR/test/tmpp.txt;
--echo # Problem # 2 : if you write and read ucs2 data to a file they're lost
+--enable_prepare_warnings
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2;
+--disable_prepare_warnings
CREATE TABLE t1(a INT);
LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2
(@b) SET a=REVERSE(@b);
diff --git a/mysql-test/main/delayed.test b/mysql-test/main/delayed.test
index a96ffdfcca9..862d30fe79f 100644
--- a/mysql-test/main/delayed.test
+++ b/mysql-test/main/delayed.test
@@ -636,8 +636,10 @@ insert into t1 values (1,1);
call mtr.add_suppression(" marked as crashed and should be repaired");
call mtr.add_suppression("Checking table");
+--enable_prepare_warnings
--replace_result '\\' '/'
insert delayed into t1 values (2,2);
+--disable_prepare_warnings
insert delayed into t1 values (3,3);
flush tables t1;
select * from t1;
diff --git a/mysql-test/main/func_group.test b/mysql-test/main/func_group.test
index a28b39c28f6..71129352aae 100644
--- a/mysql-test/main/func_group.test
+++ b/mysql-test/main/func_group.test
@@ -1070,7 +1070,9 @@ DROP TABLE t1;
--echo #
--echo # Bug#43668: Wrong comparison and MIN/MAX for YEAR(2)
--echo #
+--enable_prepare_warnings
create table t1 (f1 year(2), f2 year(4), f3 date, f4 datetime);
+--disable_prepare_warnings
insert into t1 values
(98,1998,19980101,"1998-01-01 00:00:00"),
(00,2000,20000101,"2000-01-01 00:00:01"),
diff --git a/mysql-test/main/func_time.test b/mysql-test/main/func_time.test
index ccec4d18ea3..f0bfb926f83 100644
--- a/mysql-test/main/func_time.test
+++ b/mysql-test/main/func_time.test
@@ -2228,6 +2228,7 @@ SET @sav_slow_query_log= @@session.slow_query_log;
SET @@session.slow_query_log= ON;
SELECT current_timestamp(6),fn_sleep_before_now() INTO @ts_cur, @ts_func;
+--enable_prepare_warnings
SELECT a FROM t_ts LIMIT 1 into @ts_func;
SELECT a FROM t_trig LIMIT 1 into @ts_trig;
if (!`SELECT @ts_cur = @ts_func and @ts_func = @ts_trig`)
@@ -2243,6 +2244,8 @@ SET @@session.slow_query_log= OFF;
SELECT current_timestamp(6),fn_sleep_before_now() INTO @ts_cur, @func_ts;
SELECT a FROM t_ts LIMIT 1 into @ts_func;
SELECT a FROM t_trig LIMIT 1 into @ts_trig;
+--disable_prepare_warnings
+
if (!`SELECT @ts_cur = @ts_func and @ts_func = @ts_trig`)
{
SELECT @ts_cur, @ts_func, @ts_trig;
diff --git a/mysql-test/main/grant.test b/mysql-test/main/grant.test
index 82b68b3b6e6..c8ca440b3e8 100644
--- a/mysql-test/main/grant.test
+++ b/mysql-test/main/grant.test
@@ -1239,12 +1239,14 @@ drop function if exists test_function;
drop view if exists v1;
create table test (col1 varchar(30));
delimiter |;
+--enable_prepare_warnings
create function test_function() returns varchar(30)
begin
declare tmp varchar(30);
select col1 from test limit 1 into tmp;
return '1';
end|
+--disable_prepare_warnings
delimiter ;|
create view v1 as select test.* from test where test.col1=test_function();
grant update (col1) on v1 to 'greg'@'localhost';
diff --git a/mysql-test/main/grant2.test b/mysql-test/main/grant2.test
index f98af8d8630..b8098488709 100644
--- a/mysql-test/main/grant2.test
+++ b/mysql-test/main/grant2.test
@@ -524,8 +524,10 @@ INSERT INTO t2 VALUES (1);
DROP FUNCTION IF EXISTS f2;
--enable_warnings
delimiter //;
+--enable_prepare_warnings
CREATE FUNCTION f2 () RETURNS INT
BEGIN DECLARE v INT; SELECT s1 FROM t2 INTO v; RETURN v; END//
+--disable_prepare_warnings
delimiter ;//
SELECT f2();
diff --git a/mysql-test/main/information_schema_db.test b/mysql-test/main/information_schema_db.test
index 7cf8c0801e6..1dd0f84bc09 100644
--- a/mysql-test/main/information_schema_db.test
+++ b/mysql-test/main/information_schema_db.test
@@ -35,12 +35,14 @@ grant all privileges on `inf%`.* to 'mysqltest_1'@'localhost';
grant all privileges on `mbase`.* to 'mysqltest_1'@'localhost';
create table t1 (f1 int);
delimiter |;
+--enable_prepare_warnings
create function func1(curr_int int) returns int
begin
declare ret_val int;
select max(f1) from t1 into ret_val;
return ret_val;
end|
+--disable_prepare_warnings
delimiter ;|
create view v1 as select f1 from t1 where f1 = func1(f1);
create function func2() returns int return 1;
diff --git a/mysql-test/main/innodb_mysql_lock2.test b/mysql-test/main/innodb_mysql_lock2.test
index b983fd8dc7a..09298a900b1 100644
--- a/mysql-test/main/innodb_mysql_lock2.test
+++ b/mysql-test/main/innodb_mysql_lock2.test
@@ -71,6 +71,7 @@ insert into t5 values (1);
create view v1 as select i from t1;
create view v2 as select j from t2 where j in (select i from t1);
create procedure p1(k int) insert into t2 values (k);
+--enable_prepare_warnings
delimiter |;
create function f1() returns int
begin
@@ -192,6 +193,7 @@ begin
set new.l= j + 1;
end|
delimiter ;|
+--disable_prepare_warnings
--echo #
--echo # Set common variables to be used by scripts called below.
diff --git a/mysql-test/main/invisible_field.test b/mysql-test/main/invisible_field.test
index 7a48347ec29..f3f8fc8f19c 100644
--- a/mysql-test/main/invisible_field.test
+++ b/mysql-test/main/invisible_field.test
@@ -251,6 +251,7 @@ DROP TABLE t1;
create or replace table t1 (a int, b int invisible);
insert into t1 values (1),(2);
+--enable_prepare_warnings
select * from t1 into outfile 'f';
load data infile 'f' into table t1;
select a,b from t1;
@@ -277,5 +278,6 @@ drop table t1;
--echo #
create table t1 (a int, b int invisible);
insert delayed into t1 values (1);
+--disable_prepare_warnings
# cleanup
drop table t1;
diff --git a/mysql-test/main/lock_sync.test b/mysql-test/main/lock_sync.test
index 1a8cd7bdbd3..16367d74800 100644
--- a/mysql-test/main/lock_sync.test
+++ b/mysql-test/main/lock_sync.test
@@ -82,6 +82,7 @@ create view v1 as select i from t1;
create view v2 as select j from t2 where j in (select i from t1);
create procedure p1(k int) insert into t2 values (k);
delimiter |;
+--enable_prepare_warnings
create function f1() returns int
begin
declare j int;
@@ -223,6 +224,8 @@ begin
end|
delimiter ;|
+--disable_prepare_warnings
+
--echo #
--echo # Set common variables to be used by the scripts
--echo # called below.
diff --git a/mysql-test/main/locking_clause.test b/mysql-test/main/locking_clause.test
index a27546a5cab..acba190b29f 100644
--- a/mysql-test/main/locking_clause.test
+++ b/mysql-test/main/locking_clause.test
@@ -150,6 +150,7 @@ DROP USER test2@localhost;
--echo # MYSQL 8
--echo #
+--enable_prepare_warnings
SELECT 1 FROM DUAL LIMIT 1 INTO @var FOR UPDATE;
SELECT 1 FROM DUAL LIMIT 1 FOR UPDATE INTO @var;
@@ -159,3 +160,4 @@ SELECT 1 FROM DUAL LIMIT 1 INTO @var FOR UPDATE INTO @var;
SELECT 1 UNION SELECT 1 FOR UPDATE INTO @var;
SELECT 1 UNION SELECT 1 INTO @var FOR UPDATE;
+--disable_prepare_warnings
diff --git a/mysql-test/main/merge.test b/mysql-test/main/merge.test
index 888b41b24bd..99cce370beb 100644
--- a/mysql-test/main/merge.test
+++ b/mysql-test/main/merge.test
@@ -2200,8 +2200,10 @@ DROP TABLE tm1, t1;
CREATE TABLE t1 (c1 INT) ENGINE=MyISAM;
CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1)
INSERT_METHOD=LAST;
+--enable_prepare_warnings
CREATE TRIGGER tm1_ai AFTER INSERT ON tm1
FOR EACH ROW SELECT max(c1) FROM t1 INTO @var;
+--disable_prepare_warnings
LOCK TABLE tm1 WRITE, t1 WRITE;
INSERT INTO tm1 VALUES (1);
SELECT * FROM tm1;
@@ -2223,8 +2225,10 @@ 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;
+--enable_prepare_warnings
CREATE TRIGGER t2_au AFTER UPDATE ON t2
FOR EACH ROW SELECT MAX(c1) FROM t1 INTO @var;
+--disable_prepare_warnings
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;
diff --git a/mysql-test/main/myisam_debug.test b/mysql-test/main/myisam_debug.test
index fcb134c0400..2659a3f9347 100644
--- a/mysql-test/main/myisam_debug.test
+++ b/mysql-test/main/myisam_debug.test
@@ -48,10 +48,12 @@ let $wait_condition=
INFO = "INSERT INTO t1(id) SELECT id FROM t2";
--source include/wait_condition.inc
+--enable_prepare_warnings
SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE STATE = 'wait_in_enable_indexes' AND
INFO = "INSERT INTO t1(id) SELECT id FROM t2"
INTO @thread_id;
+--disable_prepare_warnings
KILL QUERY @thread_id;
CHECK TABLE t1;
diff --git a/mysql-test/main/mysqldump.test b/mysql-test/main/mysqldump.test
index d2264d0a585..3b8130be5f8 100644
--- a/mysql-test/main/mysqldump.test
+++ b/mysql-test/main/mysqldump.test
@@ -1036,10 +1036,12 @@ begin
return f1;
end //
+--enable_prepare_warnings
CREATE PROCEDURE bug9056_proc2(OUT a INT)
BEGIN
select sum(id) from t1 into a;
END //
+--disable_prepare_warnings
DELIMITER ;//
diff --git a/mysql-test/main/null.test b/mysql-test/main/null.test
index 403790356ce..4e230f72543 100644
--- a/mysql-test/main/null.test
+++ b/mysql-test/main/null.test
@@ -318,7 +318,9 @@ SELECT NOT NOT NULLIF(2,3);
--echo #
--echo # MDEV-7146 NULLIF returns unexpected result with a YEAR field
--echo #
+--enable_prepare_warnings
CREATE TABLE t1 (a YEAR(2));
+--disable_prepare_warnings
INSERT INTO t1 VALUES (0);
SELECT a,NULLIF(a,2000),NULLIF(2000,a) FROM t1;
SELECT a,NULLIF(a,2001),NULLIF(2001,a) FROM t1;
diff --git a/mysql-test/main/outfile_loaddata.test b/mysql-test/main/outfile_loaddata.test
index 745c75cb4de..85e26ac7b4e 100644
--- a/mysql-test/main/outfile_loaddata.test
+++ b/mysql-test/main/outfile_loaddata.test
@@ -2,6 +2,8 @@
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
+--enable_prepare_warnings
+
--echo #
--echo # Bug#31663 FIELDS TERMINATED BY special character
--echo #
@@ -289,6 +291,6 @@ SELECT LENGTH(a) FROM t2;
DROP TABLE t1, t2;
-
+--disable_prepare_warnings
###########################################################################
--echo # End of 5.1 tests.
diff --git a/mysql-test/main/parser.test b/mysql-test/main/parser.test
index 816e55435d1..c202a8ac878 100644
--- a/mysql-test/main/parser.test
+++ b/mysql-test/main/parser.test
@@ -885,6 +885,7 @@ SELECT 1 FROM t1 UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1 FOR UPDATE;
--echo # "INTO" clause tests
+--enable_prepare_warnings
SELECT 1 FROM t1 INTO @var17727401;
SELECT 1 FROM DUAL INTO @var17727401;
SELECT 1 INTO @var17727401;
@@ -924,6 +925,7 @@ SELECT 1 FROM t1 INTO @var17727401 UNION SELECT 1 FROM t1 INTO t1;
SELECT 1 FROM t1 UNION SELECT 1 FROM t1 INTO @var17727401;
+--disable_prepare_warnings
--error ER_PARSE_ERROR
SELECT 1 INTO @var17727401 FROM t1 PROCEDURE ANALYSE();
diff --git a/mysql-test/main/partition.test b/mysql-test/main/partition.test
index 5d5dafdb206..5f4c5f659ca 100644
--- a/mysql-test/main/partition.test
+++ b/mysql-test/main/partition.test
@@ -350,10 +350,12 @@ ENGINE=Memory;
ALTER TABLE t1 ENGINE=NonExistentEngine;
# OK to only specify one partitions engine, since it is already assigned at
# table level (after create, it is specified on all levels and all parts).
+--enable_prepare_warnings
ALTER TABLE t1
PARTITION BY HASH (a)
(PARTITION p0 ENGINE=Memory,
PARTITION p1 ENGINE=NonExistentEngine);
+--disable_prepare_warnings
ALTER TABLE t1 ENGINE=NonExistentEngine;
SHOW CREATE TABLE t1;
DROP TABLE t1;
diff --git a/mysql-test/main/partition_exchange.test b/mysql-test/main/partition_exchange.test
index cb33b8dd857..e996866b1f9 100644
--- a/mysql-test/main/partition_exchange.test
+++ b/mysql-test/main/partition_exchange.test
@@ -5,6 +5,7 @@
DROP TABLE IF EXISTS t1, t2, t3, t, tp, tsp, tmp;
--enable_warnings
+--enable_prepare_warnings
--echo #
--echo # Bug#11894100: EXCHANGE PARTITION CAN'T BE EXECUTED IF
--echo # ROW_FORMAT WAS SET EXPLICITLY
@@ -536,3 +537,4 @@ ALTER TABLE t2 REMOVE PARTITIONING;
ALTER TABLE t1 EXCHANGE PARTITION pm WITH TABLE t2;
DROP TABLE t1, t2;
+--disable_prepare_warnings
diff --git a/mysql-test/main/partition_explicit_prune.test b/mysql-test/main/partition_explicit_prune.test
index fdbbcadd8cb..4dc3275394f 100644
--- a/mysql-test/main/partition_explicit_prune.test
+++ b/mysql-test/main/partition_explicit_prune.test
@@ -355,7 +355,9 @@ eval $get_handler_status_counts;
--echo #
SELECT * FROM t1 PARTITION (pNeg, `p10-99`);
FLUSH STATUS;
+--enable_prepare_warnings
SELECT * FROM t1 PARTITION (pNeg, `p10-99`) INTO OUTFILE 'loadtest.txt';
+--disable_prepare_warnings
eval $get_handler_status_counts;
--echo # 1 commit
--echo # 10 locks (1 ha_partition + 4 ha_innobase) x 2 (lock/unlock)
diff --git a/mysql-test/main/ps_ddl.test b/mysql-test/main/ps_ddl.test
index 5a2a0f60a70..8d811ec00c0 100644
--- a/mysql-test/main/ps_ddl.test
+++ b/mysql-test/main/ps_ddl.test
@@ -63,6 +63,7 @@ drop view if exists v1, v2;
TRUNCATE TABLE mysql.general_log;
delimiter |;
+--enable_prepare_warnings
create procedure p_verify_reprepare_count(expected int)
begin
declare old_reprepare_count int default @reprepare_count;
@@ -80,6 +81,7 @@ begin
select '' as "SUCCESS";
end if;
end|
+--disable_prepare_warnings
delimiter ;|
set @reprepare_count= 0;
flush status;
@@ -902,14 +904,18 @@ begin
return x;
end|
delimiter ;|
+--enable_prepare_warnings
create procedure p1(out x int) select max(a) from t1 into x;
+--disable_prepare_warnings
prepare stmt from "select * from v1";
execute stmt;
execute stmt;
call p_verify_reprepare_count(0);
drop procedure p1;
+--enable_prepare_warnings
create procedure p1(out x int) select max(a) from t2 into x;
+--disable_prepare_warnings
--echo # XXX: used to be a bug. The prelocked list was not invalidated
--echo # and we kept opening table t1, whereas the procedure
--echo # is now referring to table t2
diff --git a/mysql-test/main/ps_ddl1.test b/mysql-test/main/ps_ddl1.test
index 0145d445a14..e0441cb0ab8 100644
--- a/mysql-test/main/ps_ddl1.test
+++ b/mysql-test/main/ps_ddl1.test
@@ -30,6 +30,7 @@ drop view if exists t1;
drop schema if exists mysqltest;
--enable_warnings
+--enable_prepare_warnings
delimiter |;
create procedure p_verify_reprepare_count(expected int)
begin
@@ -48,6 +49,7 @@ begin
select '' as "SUCCESS";
end if;
end|
+--disable_prepare_warnings
delimiter ;|
set @reprepare_count= 0;
flush status;
diff --git a/mysql-test/main/query_cache.test b/mysql-test/main/query_cache.test
index e49387dcaf4..f8152945396 100644
--- a/mysql-test/main/query_cache.test
+++ b/mysql-test/main/query_cache.test
@@ -432,10 +432,12 @@ drop table t1;
create table t1 (a int);
insert into t1 values (1),(2),(3);
show status like "Qcache_queries_in_cache";
+--enable_prepare_warnings
select * from t1 into outfile "query_cache.out.file";
--error ER_FILE_EXISTS_ERROR
select * from t1 into outfile "query_cache.out.file";
select * from t1 limit 1 into dumpfile "query_cache.dump.file";
+--disable_prepare_warnings
show status like "Qcache_queries_in_cache";
drop table t1;
let $datadir=`select @@datadir`;
@@ -812,12 +814,14 @@ end//
call p1()//
drop procedure p1//
+--enable_prepare_warnings
create function f1() returns int
begin
Declare var1 int;
select max(a) from t1 into var1;
return var1;
end//
+--disable_prepare_warnings
create procedure `p1`()
begin
select a, f1() from t1;
diff --git a/mysql-test/main/select.test b/mysql-test/main/select.test
index 22baccc625c..b9891280c45 100644
--- a/mysql-test/main/select.test
+++ b/mysql-test/main/select.test
@@ -3525,7 +3525,9 @@ CREATE VIEW v1 AS SELECT 1 AS ` `;
--error 1166
CREATE VIEW v1 AS SELECT (SELECT 1 AS ` `);
+--enable_prepare_warnings
CREATE VIEW v1 AS SELECT 1 AS ` x`;
+--disable_prepare_warnings
SELECT `x` FROM v1;
--error 1166
diff --git a/mysql-test/main/signal_demo1.test b/mysql-test/main/signal_demo1.test
index 62020b8f3fd..ff6a4437cdf 100644
--- a/mysql-test/main/signal_demo1.test
+++ b/mysql-test/main/signal_demo1.test
@@ -67,6 +67,8 @@ delimiter $$;
--echo # Schema integrity enforcement
--echo #
+--enable_prepare_warnings
+
create procedure check_pk_person(in person_type char, in id integer)
begin
declare x integer;
@@ -158,6 +160,8 @@ begin
end
$$
+--disable_prepare_warnings
+
create trigger po_order_bi before insert on po_order
for each row
begin
diff --git a/mysql-test/main/sp-anchor-row-type-cursor.test b/mysql-test/main/sp-anchor-row-type-cursor.test
index 7089175507c..bf4b6968458 100644
--- a/mysql-test/main/sp-anchor-row-type-cursor.test
+++ b/mysql-test/main/sp-anchor-row-type-cursor.test
@@ -1006,6 +1006,7 @@ DROP TABLE t1;
--echo # SELECT INTO + cursor ROW TYPE variable with a wrong column count
--echo #
+--enable_prepare_warnings
CREATE TABLE t1 (a INT, b VARCHAR(32));
INSERT INTO t1 VALUES (10,'b10');
DELIMITER $$;
@@ -1068,6 +1069,8 @@ CALL p1();
DROP TABLE t1;
DROP PROCEDURE p1;
+--disable_prepare_warnings
+
--echo #
--echo # End of MDEV-12461 TYPE OF and ROW TYPE OF anchored data types
--echo #
diff --git a/mysql-test/main/sp-anchor-row-type-table.test b/mysql-test/main/sp-anchor-row-type-table.test
index 3f04dc68586..33b2d7487a4 100644
--- a/mysql-test/main/sp-anchor-row-type-table.test
+++ b/mysql-test/main/sp-anchor-row-type-table.test
@@ -11,6 +11,8 @@
--echo # Referring to a table in a non-existing database
--echo #
+--enable_prepare_warnings
+
DELIMITER $$;
CREATE PROCEDURE p1()
BEGIN
@@ -881,3 +883,4 @@ END;
$$
DELIMITER ;$$
DROP TABLE t1;
+--disable_prepare_warnings
diff --git a/mysql-test/main/sp-anchor-type.test b/mysql-test/main/sp-anchor-type.test
index b340cf776c5..56136c4bd63 100644
--- a/mysql-test/main/sp-anchor-type.test
+++ b/mysql-test/main/sp-anchor-type.test
@@ -659,6 +659,7 @@ DROP TABLE t1;
CREATE TABLE t1 (a INT, b VARCHAR(10),c DATETIME(3));
INSERT INTO t1 VALUES (1,'b1','2001-01-01 10:20:30.123');
DELIMITER $$;
+--enable_prepare_warnings
CREATE PROCEDURE p1()
BEGIN
DECLARE v_a TYPE OF t1.a;
@@ -669,6 +670,7 @@ BEGIN
END;
$$
DELIMITER ;$$
+--disable_prepare_warnings
CALL p1();
DROP PROCEDURE p1;
DROP TABLE t1;
diff --git a/mysql-test/main/sp-big.test b/mysql-test/main/sp-big.test
index 043e737105a..ff091c0a883 100644
--- a/mysql-test/main/sp-big.test
+++ b/mysql-test/main/sp-big.test
@@ -8,6 +8,7 @@ insert into t1 values (1),(2),(3);
let $body=`select repeat('select count(*) into out1 from t1;\n', 3072)`;
+--enable_prepare_warnings
delimiter //;
--disable_query_log
eval select length('$body') as length//
@@ -16,6 +17,7 @@ begin
$body
end//
--enable_query_log
+--disable_prepare_warnings
delimiter ;//
@@ -98,6 +100,7 @@ create table t1 (
) default collate=latin1_bin;
delimiter //;
+--enable_prepare_warnings
create procedure select_test()
begin
declare id1_cond int;
@@ -107,6 +110,7 @@ begin
set id1_cond = id1_cond + 1;
end while;
end//
+--disable_prepare_warnings
delimiter ;//
insert t1 select seq, seq, 1, 1, seq, seq, seq from seq_1_to_2000;
diff --git a/mysql-test/main/sp-error.test b/mysql-test/main/sp-error.test
index 3ce3623be18..9b0213a1f91 100644
--- a/mysql-test/main/sp-error.test
+++ b/mysql-test/main/sp-error.test
@@ -9,9 +9,10 @@ drop table if exists t1, t2;
--enable_warnings
# Backup the mysql.proc table
+--enable_prepare_warnings
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval SELECT * FROM mysql.proc INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/proc.txt';
-
+--disable_prepare_warnings
# Make sure we don't have any procedures left.
delete from mysql.proc;
@@ -42,8 +43,10 @@ drop table if exists t3|
create table t3 ( x int )|
insert into t3 values (2), (3)|
+--enable_prepare_warnings
create procedure bad_into(out param int)
select x from t3 into param|
+--disable_prepare_warnings
--error 1172
call bad_into(@x)|
@@ -3797,12 +3800,14 @@ delimiter |;
--echo # because SIGNAL would raise SQL-error in that case.
--echo
+--enable_prepare_warnings
CREATE FUNCTION f1() RETURNS INTEGER
BEGIN
DECLARE v VARCHAR(5) DEFAULT -1;
SELECT b FROM t1 WHERE a = 2 INTO v;
RETURN v;
END|
+--disable_prepare_warnings
--echo
--echo # Here we check that the NOT_FOUND condition raised in f1()
diff --git a/mysql-test/main/sp_gis.test b/mysql-test/main/sp_gis.test
index 4148a4ec423..749586854a3 100644
--- a/mysql-test/main/sp_gis.test
+++ b/mysql-test/main/sp_gis.test
@@ -12,6 +12,8 @@ drop function if exists x;
drop function if exists y;
--enable_warnings
+--enable_prepare_warnings
+
create function a() returns int
return 1;
@@ -97,6 +99,8 @@ SELECT geometrycollection();
--enable_warnings
DROP FUNCTION geometrycollection;
+--disable_prepare_warnings
+
--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/main/sp_trans.test b/mysql-test/main/sp_trans.test
index b39c13287ed..abc308a26d8 100644
--- a/mysql-test/main/sp_trans.test
+++ b/mysql-test/main/sp_trans.test
@@ -522,6 +522,7 @@ select @@session.max_heap_table_size|
--disable_warnings
create table t3 (a char(255)) engine=InnoDB|
--enable_warnings
+--enable_prepare_warnings
create procedure bug14210_fill_table()
begin
declare table_size, max_table_size int default 0;
@@ -533,6 +534,7 @@ begin
select count(*)*255 from t3 into table_size;
until table_size > max_table_size*2 end repeat;
end|
+--disable_prepare_warnings
--disable_warnings
call bug14210_fill_table()|
--enable_warnings
diff --git a/mysql-test/main/sp_trans_log.test b/mysql-test/main/sp_trans_log.test
index deea6e6d9b6..12efcc46ada 100644
--- a/mysql-test/main/sp_trans_log.test
+++ b/mysql-test/main/sp_trans_log.test
@@ -22,6 +22,7 @@ CREATE TABLE t2 (a int NOT NULL auto_increment, b int, PRIMARY KEY (a)) ENGINE=
insert into t2 values (1,1)|
+--enable_prepare_warnings
create function bug23333()
RETURNS int(11)
DETERMINISTIC
@@ -31,6 +32,7 @@ begin
return @a;
end|
delimiter ;|
+--disable_prepare_warnings
reset master;
--error ER_DUP_ENTRY
diff --git a/mysql-test/main/subselect_exists2in_costmat.test b/mysql-test/main/subselect_exists2in_costmat.test
index 5d5eeaee268..371f0936d1a 100644
--- a/mysql-test/main/subselect_exists2in_costmat.test
+++ b/mysql-test/main/subselect_exists2in_costmat.test
@@ -47,7 +47,9 @@ create index Language on CountryLanguage(Language);
create index CityName on City(Name);
alter table City change population population int(11) null default 0;
+--enable_prepare_warnings
select max(id) from City into @max_city_id;
+--disable_prepare_warnings
insert into City values (@max_city_id + 1,'Kilifarevo','BGR',NULL);
diff --git a/mysql-test/main/subselect_mat_cost.test b/mysql-test/main/subselect_mat_cost.test
index 73ba717a8dc..8fe38849735 100644
--- a/mysql-test/main/subselect_mat_cost.test
+++ b/mysql-test/main/subselect_mat_cost.test
@@ -53,7 +53,9 @@ create index Language on CountryLanguage(Language);
create index CityName on City(Name);
alter table City change population population int(11) null default 0;
+--enable_prepare_warnings
select max(id) from City into @max_city_id;
+--disable_prepare_warnings
insert into City values (@max_city_id + 1,'Kilifarevo','BGR',NULL);
diff --git a/mysql-test/main/temporal_literal.test b/mysql-test/main/temporal_literal.test
index 6783b19a7d4..5126796dc33 100644
--- a/mysql-test/main/temporal_literal.test
+++ b/mysql-test/main/temporal_literal.test
@@ -243,7 +243,9 @@ SELECT TIMESTAMP('2001-01-01 10:10:10.123456xyz');
SELECT TIMESTAMP('2001-01-01 10:10:10.1234567xyz');
CREATE TABLE t1 (a TIME(6));
+--enable_prepare_warnings
INSERT INTO t1 VALUES (TIME'10:20:30.1234567');
+--disable_prepare_warnings
INSERT INTO t1 VALUES (TIME('10:20:30.1234567'));
SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/main/trigger.test b/mysql-test/main/trigger.test
index 086912000d9..6fb194ed8dd 100644
--- a/mysql-test/main/trigger.test
+++ b/mysql-test/main/trigger.test
@@ -761,6 +761,7 @@ drop table t1;
create table t1 (id int, data int, username varchar(16));
insert into t1 (id, data) values (1, 0);
+--enable_prepare_warnings
delimiter |;
create trigger t1_whoupdated before update on t1 for each row
begin
@@ -771,6 +772,7 @@ begin
select count(*) from ((select 1) union (select 2)) as d1 into i;
end|
delimiter ;|
+--disable_prepare_warnings
update t1 set data = 1;
connection addconroot1;
@@ -2343,6 +2345,7 @@ DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (b VARCHAR(50) NOT NULL);
CREATE TABLE t2 (a VARCHAR(10) NOT NULL DEFAULT '');
+--enable_prepare_warnings
delimiter //;
CREATE TRIGGER trg1 AFTER INSERT ON t2
FOR EACH ROW BEGIN
@@ -2350,6 +2353,7 @@ FOR EACH ROW BEGIN
(@bug51650 IS NULL OR @bug51650 != c.b) AND c.b = NEW.a LIMIT 1 INTO @foo;
END//
delimiter ;//
+--disable_prepare_warnings
SET @bug51650 = 1;
INSERT IGNORE INTO t2 VALUES();
diff --git a/mysql-test/main/type_blob.test b/mysql-test/main/type_blob.test
index 38c8b9a83ca..c61ed124139 100644
--- a/mysql-test/main/type_blob.test
+++ b/mysql-test/main/type_blob.test
@@ -526,14 +526,18 @@ CREATE TABLE b15776 (a char(4294967296));
## When we complain about it, we say that the max is 255. We may be
## talking about different things. It's confusing.
--replace_result 4294967295 ? 0 ?
+--enable_prepare_warnings
CREATE TABLE b15776 (a year(4294967295));
+--disable_prepare_warnings
INSERT INTO b15776 VALUES (42);
SELECT * FROM b15776;
DROP TABLE b15776;
CREATE TABLE b15776 (a year(4294967296));
SHOW CREATE TABLE b15776;
DROP TABLE b15776;
+--enable_prepare_warnings
CREATE TABLE b15776 (a year(0)); # 0 is special case, means default size
+--disable_prepare_warnings
DROP TABLE b15776;
--error ER_PARSE_ERROR
CREATE TABLE b15776 (a year(-2));
diff --git a/mysql-test/main/type_newdecimal.test b/mysql-test/main/type_newdecimal.test
index 5b7ecf89a07..5e4d3b4b84b 100644
--- a/mysql-test/main/type_newdecimal.test
+++ b/mysql-test/main/type_newdecimal.test
@@ -1339,9 +1339,11 @@ DESC t1;
SELECT * FROM t1;
DROP TABLE t1;
+--enable_prepare_warnings
CREATE TABLE t1 SELECT
/* 82 */ 1000000000000000000000000000000000000000000000000000000000000000000000000000000001
AS c1;
+--disable_prepare_warnings
DESC t1;
SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/main/type_year.test b/mysql-test/main/type_year.test
index 0f1f49be5d0..09538fab805 100644
--- a/mysql-test/main/type_year.test
+++ b/mysql-test/main/type_year.test
@@ -2,6 +2,8 @@
# Test year
#
+--enable_prepare_warnings
+
create table t1 (y year,y2 year(2));
insert into t1 values (0,0),(1999,1999),(2000,2000),(2001,2001),(70,70),(69,69);
select * from t1;
@@ -372,7 +374,7 @@ SELECT MAX(NULLIF(a, 1970)) AS f FROM t1;
--enable_ps_protocol
DROP TABLE t1;
-
+--disable_prepare_warnings
--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/main/union.test b/mysql-test/main/union.test
index 8d023546b3d..7e0147cd337 100644
--- a/mysql-test/main/union.test
+++ b/mysql-test/main/union.test
@@ -987,7 +987,9 @@ DROP TABLE t1;
(select 1) union (select 1 into @var);
--error ER_PARSE_ERROR
(select 2) union (select 1 into @var);
+--enable_prepare_warnings
(select 1) union (select 1) into @var;
+--disable_prepare_warnings
--error ER_TOO_MANY_ROWS
(select 2) union (select 1) into @var;
@@ -1115,9 +1117,11 @@ 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;
--error ER_PARSE_ERROR
SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1;
+--enable_prepare_warnings
SELECT a FROM t1 UNION SELECT a FROM t1 INTO @v ;
SELECT a FROM t1 UNION SELECT a FROM t1 INTO OUTFILE 'union.out.file5';
SELECT a FROM t1 UNION SELECT a FROM t1 INTO OUTFILE 'union.out.file6';
+--disable_prepare_warnings
--error ER_PARSE_ERROR
SELECT a INTO @v FROM t1 UNION SELECT a FROM t1;
--error ER_PARSE_ERROR
diff --git a/mysql-test/main/userstat.test b/mysql-test/main/userstat.test
index 6d486810db1..5691a2dc890 100644
--- a/mysql-test/main/userstat.test
+++ b/mysql-test/main/userstat.test
@@ -7,7 +7,9 @@
-- source include/have_log_bin.inc
-- source include/have_perfschema.inc
+--enable_prepare_warnings
select variable_value from information_schema.global_status where variable_name="handler_read_key" into @global_read_key;
+--disable_prepare_warnings
show columns from information_schema.client_statistics;
show columns from information_schema.user_statistics;
show columns from information_schema.index_statistics;
diff --git a/mysql-test/main/view.test b/mysql-test/main/view.test
index 73322d97591..74f80919333 100644
--- a/mysql-test/main/view.test
+++ b/mysql-test/main/view.test
@@ -2292,6 +2292,7 @@ CREATE VIEW v1 AS SELECT 42 AS Meaning;
DROP FUNCTION IF EXISTS f1;
--enable_warnings
DELIMITER //;
+--enable_prepare_warnings
CREATE FUNCTION f1() RETURNS INTEGER
BEGIN
DECLARE retn INTEGER;
@@ -2300,6 +2301,7 @@ BEGIN
END
//
DELIMITER ;//
+--disable_prepare_warnings
CREATE VIEW v2 AS SELECT f1();
select * from v2;
drop view v2,v1;
@@ -2476,6 +2478,7 @@ drop view t1, v1;
# using SP function
create table t1 (a int);
delimiter //;
+--enable_prepare_warnings
create function f1() returns int
begin
declare mx int;
@@ -2483,6 +2486,7 @@ begin
return mx;
end//
delimiter ;//
+--disable_prepare_warnings
create view v1 as select f1() as a;
create view v2 as select * from v1;
drop table t1;
@@ -3117,12 +3121,13 @@ DROP VIEW IF EXISTS v1;
let $query = SELECT * FROM (SELECT 1) AS t into @w;
+--enable_prepare_warnings
eval $query;
--error ER_PARSE_ERROR
eval CREATE VIEW v1 AS $query;
--echo # Previously the following would fail.
eval $query;
-
+--disable_prepare_warnings
#
# Bug#24532 The return data type of IS TRUE is different from similar operations
@@ -3885,11 +3890,13 @@ CREATE TABLE t1 (a INT);
CREATE TABLE t2 (a INT);
delimiter //;
+--enable_prepare_warnings
CREATE FUNCTION f1() RETURNS INT
BEGIN
SELECT a FROM v2 INTO @a;
RETURN @a;
END//
+--disable_prepare_warnings
delimiter ;//
--echo # Trigger pre-locking when opening v2.
diff --git a/mysql-test/main/view_grant.test b/mysql-test/main/view_grant.test
index 18ff8aaf4fc..83bbeb3be77 100644
--- a/mysql-test/main/view_grant.test
+++ b/mysql-test/main/view_grant.test
@@ -494,10 +494,12 @@ create table t2 (s1 int);
--disable_warnings
drop function if exists f2;
--enable_warnings
+--enable_prepare_warnings
delimiter //;
create function f2 () returns int begin declare v int; select s1 from t2
into v; return v; end//
delimiter ;//
+--disable_prepare_warnings
create algorithm=TEMPTABLE view v1 as select f2() from t1;
create algorithm=MERGE view v2 as select f2() from t1;
create algorithm=TEMPTABLE SQL SECURITY INVOKER view v3 as select f2() from t1;
@@ -548,10 +550,12 @@ create table t2 (s1 int);
--disable_warnings
drop function if exists f2;
--enable_warnings
+--enable_prepare_warnings
delimiter //;
create function f2 () returns int begin declare v int; select s1 from t2
into v; return v; end//
delimiter ;//
+--disable_prepare_warnings
create user mysqltest_1@localhost;
grant select on t1 to mysqltest_1@localhost;
grant execute on function f2 to mysqltest_1@localhost;