Commit d007600b authored by unknown's avatar unknown
Browse files

ps.test, ps.result: a test case for Bug#6042 "constants

propogation works only once (prepared statements)".


mysql-test/r/ps.result:
  Test case for Bug#6042: test results fixed
mysql-test/t/ps.test:
  A test case for Bug#6042 "constants propogation works only once
  (prepared statements).
parent 4855ff51
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -318,3 +318,21 @@ execute stmt;
a
drop table t1;
deallocate prepare stmt;
create table t1 (a int, b int);
insert into t1 (a, b) values (1,1), (1,2), (2,1), (2,2);
prepare stmt from
"explain select * from t1 where t1.a=2 and t1.a=t1.b and t1.b > 1 + ?";
set @v=5;
execute stmt using @v;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-	-	-	-	-	-	-	-	NULL	Impossible WHERE
set @v=0;
execute stmt using @v;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-	-	-	-	-	-	-	-	4	Using where
set @v=5;
execute stmt using @v;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-	-	-	-	-	-	-	-	NULL	Impossible WHERE
drop table t1;
deallocate prepare stmt;
+21 −0
Original line number Diff line number Diff line
@@ -342,4 +342,25 @@ execute stmt;
drop table t1;
deallocate prepare stmt;

#
# Test case for Bug#6042 "constants propogation works only once (prepared
# statements): check that the query plan changes whenever we change
# placeholder value.
#
create table t1 (a int, b int);
insert into t1 (a, b) values (1,1), (1,2), (2,1), (2,2);
prepare stmt from
"explain select * from t1 where t1.a=2 and t1.a=t1.b and t1.b > 1 + ?";
--replace_column 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -
set @v=5;
execute stmt using @v;
--replace_column 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -
set @v=0;
execute stmt using @v;
--replace_column 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -
set @v=5;
execute stmt using @v;
drop table t1;
deallocate prepare stmt;