From a9954110d8756fce8e244330433eda7204bbc112 Mon Sep 17 00:00:00 2001 From: "kostja@bodhi.(none)" <> Date: Tue, 20 May 2008 22:43:26 +0400 Subject: [PATCH] Update test coverage for Bug#27430 "Crash in subquery code when in PS and table DDL changed after PREPARE" to pass in embedded mode. --- mysql-test/r/ps.result | 18 ++++++++++++++++++ mysql-test/r/ps_ddl.result | 16 ++++------------ mysql-test/t/ps.test | 18 ++++++++++++++++++ mysql-test/t/ps_ddl.test | 17 ++++------------- 4 files changed, 44 insertions(+), 25 deletions(-) diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result index dbc8620398a..4cae3928097 100644 --- a/mysql-test/r/ps.result +++ b/mysql-test/r/ps.result @@ -2902,4 +2902,22 @@ execute stmt; ERROR 21000: Subquery returns more than 1 row deallocate prepare stmt; drop table t1, t2; +# +# Bug#27430 Crash in subquery code when in PS and table DDL changed +# after PREPARE +# +# This part of the test doesn't work in embedded server, this is +# why it's here. For the main test see ps_ddl*.test + +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show events where (1) in (select * from t1)"; +execute stmt; +Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +drop table t1; +create table t1 (x int); +execute stmt; +Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +drop table t1; +deallocate prepare stmt; End of 5.1 tests. diff --git a/mysql-test/r/ps_ddl.result b/mysql-test/r/ps_ddl.result index 9e1db062368..a47c01cca17 100644 --- a/mysql-test/r/ps_ddl.result +++ b/mysql-test/r/ps_ddl.result @@ -2124,17 +2124,9 @@ deallocate prepare stmt; # # SQLCOM_SHOW_EVENTS # -drop table if exists t1; -create table t1 (a int); -prepare stmt from "show events where (1) in (select * from t1)"; -execute stmt; -Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation -drop table t1; -create table t1 (x int); -execute stmt; -Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation -drop table t1; -deallocate prepare stmt; +# +# Please see this test in ps.test, it requires not_embedded.inc +# # # SQLCOM_SET_OPTION # @@ -2191,7 +2183,7 @@ drop table t1; deallocate prepare stmt; # Intermediate result: number of reprepares matches the number # of tests -call p_verify_reprepare_count(18); +call p_verify_reprepare_count(17); SUCCESS # diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test index d137461ce9c..3e1a41d32c8 100644 --- a/mysql-test/t/ps.test +++ b/mysql-test/t/ps.test @@ -2979,6 +2979,24 @@ execute stmt; deallocate prepare stmt; drop table t1, t2; +--echo # +--echo # Bug#27430 Crash in subquery code when in PS and table DDL changed +--echo # after PREPARE +--echo # +--echo # This part of the test doesn't work in embedded server, this is +--echo # why it's here. For the main test see ps_ddl*.test +--echo +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show events where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; --echo End of 5.1 tests. diff --git a/mysql-test/t/ps_ddl.test b/mysql-test/t/ps_ddl.test index e19e73df3ac..cbfdaaffa0f 100644 --- a/mysql-test/t/ps_ddl.test +++ b/mysql-test/t/ps_ddl.test @@ -1961,18 +1961,9 @@ deallocate prepare stmt; --echo # --echo # SQLCOM_SHOW_EVENTS --echo # - ---disable_warnings -drop table if exists t1; ---enable_warnings -create table t1 (a int); -prepare stmt from "show events where (1) in (select * from t1)"; -execute stmt; -drop table t1; -create table t1 (x int); -execute stmt; -drop table t1; -deallocate prepare stmt; +--echo # +--echo # Please see this test in ps.test, it requires not_embedded.inc +--echo # --echo # --echo # SQLCOM_SET_OPTION @@ -2045,7 +2036,7 @@ drop table t1; deallocate prepare stmt; --echo # Intermediate result: number of reprepares matches the number --echo # of tests -call p_verify_reprepare_count(18); +call p_verify_reprepare_count(17); --echo # --echo # SQLCOM_ALTER_VIEW