diff options
author | unknown <konstantin@mysql.com> | 2006-01-14 04:55:07 +0300 |
---|---|---|
committer | unknown <konstantin@mysql.com> | 2006-01-14 04:55:07 +0300 |
commit | 04a78106272f82aebfd5cfbfa7264e32d3eb5651 (patch) | |
tree | 5b53ef41f16095a4cbe0f8518d355ea4d92bb76e /mysql-test | |
parent | 4e195cbd520d30260e226af9e27cb937335ca1f1 (diff) | |
download | mariadb-git-04a78106272f82aebfd5cfbfa7264e32d3eb5651.tar.gz |
A fix and a test case for Bug#12734 " prepared statement may
return incorrect result set for a select SQL request"
mysql-test/r/ps.result:
Test results fixed (Bug#12734)
mysql-test/t/ps.test:
A test case for Bug#12734
sql/item_cmpfunc.cc:
Reset canDoTurboBM in Item_func_like::cleanup()
sql/item_cmpfunc.h:
Add Item_func_like::cleanup()
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/ps.result | 34 | ||||
-rw-r--r-- | mysql-test/t/ps.test | 30 |
2 files changed, 64 insertions, 0 deletions
diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result index d46c2d5b3d5..aa9ff083cbb 100644 --- a/mysql-test/r/ps.result +++ b/mysql-test/r/ps.result @@ -718,3 +718,37 @@ execute stmt; drop table t1; set names default; deallocate prepare stmt; +create table t1 ( +word_id mediumint(8) unsigned not null default '0', +formatted varchar(20) not null default '' +); +insert into t1 values +(80,'pendant'), (475,'pretendants'), (989,'tendances'), +(1019,'cependant'),(1022,'abondance'),(1205,'independants'), +(13,'lessiver'),(25,'lambiner'),(46,'situer'),(71,'terminer'), +(82,'decrocher'); +select count(*) from t1 where formatted like '%NDAN%'; +count(*) +6 +select count(*) from t1 where formatted like '%ER'; +count(*) +5 +prepare stmt from "select count(*) from t1 where formatted like ?"; +set @like="%NDAN%"; +execute stmt using @like; +count(*) +6 +set @like="%ER"; +execute stmt using @like; +count(*) +5 +set @like="%NDAN%"; +execute stmt using @like; +count(*) +6 +set @like="%ER"; +execute stmt using @like; +count(*) +5 +deallocate prepare stmt; +drop table t1; diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test index 82dfc643801..23eb2e11ae3 100644 --- a/mysql-test/t/ps.test +++ b/mysql-test/t/ps.test @@ -746,5 +746,35 @@ drop table t1; set names default; deallocate prepare stmt; +# +# A test case for Bug#12734 "prepared statement may return incorrect result +# set for a select SQL request": test that canDoTurboBM is reset for each +# execute of a prepared statement. +# +create table t1 ( + word_id mediumint(8) unsigned not null default '0', + formatted varchar(20) not null default '' +); + +insert into t1 values + (80,'pendant'), (475,'pretendants'), (989,'tendances'), + (1019,'cependant'),(1022,'abondance'),(1205,'independants'), + (13,'lessiver'),(25,'lambiner'),(46,'situer'),(71,'terminer'), + (82,'decrocher'); + +select count(*) from t1 where formatted like '%NDAN%'; +select count(*) from t1 where formatted like '%ER'; +prepare stmt from "select count(*) from t1 where formatted like ?"; +set @like="%NDAN%"; +execute stmt using @like; +set @like="%ER"; +execute stmt using @like; +set @like="%NDAN%"; +execute stmt using @like; +set @like="%ER"; +execute stmt using @like; +deallocate prepare stmt; +drop table t1; + # End of 4.1 tests |