diff options
Diffstat (limited to 'mysql-test/t/ps_11bugs.test')
-rw-r--r-- | mysql-test/t/ps_11bugs.test | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/mysql-test/t/ps_11bugs.test b/mysql-test/t/ps_11bugs.test deleted file mode 100644 index ccab833e878..00000000000 --- a/mysql-test/t/ps_11bugs.test +++ /dev/null @@ -1,217 +0,0 @@ -############################################### -# # -# Prepared Statements # -# re-testing bug DB entries # -# # -# The bugs are reported as "closed". # -# Command sequences taken from bug report. # -# No other test contains the bug# as comment. # -# # -# Tests drop/create tables 't1', 't2', ... # -# # -############################################### - ---disable_warnings -drop table if exists t1, t2; ---enable_warnings - -# bug#1180: optimized away part of WHERE clause cause incorect prepared satatement results - -CREATE TABLE t1(session_id char(9) NOT NULL); -INSERT INTO t1 VALUES ("abc"); -SELECT * FROM t1; - -prepare st_1180 from 'SELECT * FROM t1 WHERE ?="1111" and session_id = "abc"'; - -# Must not find a row -set @arg1= 'abc'; -execute st_1180 using @arg1; - -# Now, it should find one row -set @arg1= '1111'; -execute st_1180 using @arg1; - -# Back to non-matching -set @arg1= 'abc'; -execute st_1180 using @arg1; - -drop table t1; - -# end of bug#1180 - - -# bug#1644: Insertion of more than 3 NULL columns with parameter binding fails - -# Using prepared statements, insertion of more than three columns with NULL -# values fails to insert additional NULLS. After the third column NULLS will -# be inserted into the database as zeros. -# First insert four columns of a value (i.e. 22) to verify binding is working -# correctly. Then Bind to each columns bind parameter an is_null value of 1. -# Then insert four more columns of integers, just for sanity. -# A subsequent select on the server will result in this: -# mysql> select * from foo_dfr; -# +------+------+------+------+ -# | col1 | col2 | col3 | col4 | -# +------+------+------+------+ -# | 22 | 22 | 22 | 22 | -# | NULL | NULL | NULL | 0 | -# | 88 | 88 | 88 | 88 | -# +------+------+------+------+ - -# Test is extended to more columns - code stores bit vector in bytes. - -create table t1 ( - c_01 char(6), c_02 integer, c_03 real, c_04 int(3), c_05 varchar(20), - c_06 date, c_07 char(1), c_08 real, c_09 int(11), c_10 time, - c_11 char(6), c_12 integer, c_13 real, c_14 int(3), c_15 varchar(20), - c_16 date, c_17 char(1), c_18 real, c_19 int(11), c_20 text); -# Do not use "timestamp" type, because it has a non-NULL default as of 4.1.2 - -prepare st_1644 from 'insert into t1 values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'; - -set @arg01= 'row_1'; set @arg02= 1; set @arg03= 1.1; set @arg04= 111; set @arg05= 'row_one'; -set @arg06= '2004-10-12'; set @arg07= '1'; set @arg08= 1.1; set @arg09= '100100100'; set @arg10= '12:34:56'; -set @arg11= 'row_1'; set @arg12= 1; set @arg13= 1.1; set @arg14= 111; set @arg15= 'row_one'; -set @arg16= '2004-10-12'; set @arg17= '1'; set @arg18= 1.1; set @arg19= '100100100'; set @arg20= '12:34:56'; -execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10, - @arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20; - -set @arg01= NULL; set @arg02= NULL; set @arg03= NULL; set @arg04= NULL; set @arg05= NULL; -set @arg06= NULL; set @arg07= NULL; set @arg08= NULL; set @arg09= NULL; set @arg10= NULL; -set @arg11= NULL; set @arg12= NULL; set @arg13= NULL; set @arg14= NULL; set @arg15= NULL; -set @arg16= NULL; set @arg17= NULL; set @arg18= NULL; set @arg19= NULL; set @arg20= NULL; -execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10, - @arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20; - -set @arg01= 'row_3'; set @arg02= 3; set @arg03= 3.3; set @arg04= 333; set @arg05= 'row_three'; -set @arg06= '2004-10-12'; set @arg07= '3'; set @arg08= 3.3; set @arg09= '300300300'; set @arg10= '12:34:56'; -set @arg11= 'row_3'; set @arg12= 3; set @arg13= 3.3; set @arg14= 333; set @arg15= 'row_three'; -set @arg16= '2004-10-12'; set @arg17= '3'; set @arg18= 3.3; set @arg19= '300300300'; set @arg20= '12:34:56'; -execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10, - @arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20; - -select * from t1; - -drop table t1; - -# end of bug#1644 - - -# bug#1676: Prepared statement two-table join returns no rows when one is expected - -create table t1( - cola varchar(50) not null, - colb varchar(8) not null, - colc varchar(12) not null, - cold varchar(2) not null, - primary key (cola, colb, cold)); - -create table t2( - cola varchar(50) not null, - colb varchar(8) not null, - colc varchar(2) not null, - cold float, - primary key (cold)); - -insert into t1 values ('aaaa', 'yyyy', 'yyyy-dd-mm', 'R'); - -insert into t2 values ('aaaa', 'yyyy', 'R', 203), ('bbbb', 'zzzz', 'C', 201); - -prepare st_1676 from 'select a.cola, a.colb, a.cold from t1 a, t2 b where a.cola = ? and a.colb = ? and a.cold = ? and b.cola = a.cola and b.colb = a.colb and b.colc = a.cold'; - -set @arg0= "aaaa"; -set @arg1= "yyyy"; -set @arg2= "R"; - -execute st_1676 using @arg0, @arg1, @arg2; - -drop table t1, t2; - -# end of bug#1676 - -# End of 4.1 tests - -# bug#18492: mysqld reports ER_ILLEGAL_REFERENCE in --ps-protocol - -create table t1 (a int primary key); -insert into t1 values (1); - -explain select * from t1 where 3 in (select (1+1) union select 1); - -select * from t1 where 3 in (select (1+1) union select 1); - -prepare st_18492 from 'select * from t1 where 3 in (select (1+1) union select 1)'; -execute st_18492; - -drop table t1; - -# -# Bug#19356: Assertion failure with undefined @uservar in prepared statement execution -# -create table t1 (a int, b varchar(4)); -create table t2 (a int, b varchar(4), primary key(a)); - -prepare stmt1 from 'insert into t1 (a, b) values (?, ?)'; -prepare stmt2 from 'insert into t2 (a, b) values (?, ?)'; - -set @intarg= 11; -set @varchararg= '2222'; -execute stmt1 using @intarg, @varchararg; -execute stmt2 using @intarg, @varchararg; -set @intarg= 12; -execute stmt1 using @intarg, @UNDEFINED; -execute stmt2 using @intarg, @UNDEFINED; -set @intarg= 13; -execute stmt1 using @UNDEFINED, @varchararg; ---error 1048 -execute stmt2 using @UNDEFINED, @varchararg; -set @intarg= 14; -set @nullarg= Null; -execute stmt1 using @UNDEFINED, @nullarg; ---error 1048 -execute stmt2 using @nullarg, @varchararg; - -select * from t1; -select * from t2; - -drop table t1; -drop table t2; - -# -# Bug #32124: crash if prepared statements refer to variables in the where -# clause -# - -CREATE TABLE t1 (a INT); -PREPARE stmt FROM 'select 1 from `t1` where `a` = any (select (@@tmpdir))'; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; -DROP TABLE t1; - -CREATE TABLE t2 (a INT PRIMARY KEY); -INSERT INTO t2 VALUES (400000), (400001); - -SET @@sort_buffer_size=400000; - -DELIMITER |; - -CREATE FUNCTION p1(i INT) RETURNS INT -BEGIN - SET @@sort_buffer_size= i; - RETURN i + 1; -END| - -DELIMITER ;| - -SELECT * FROM t2 WHERE a = @@sort_buffer_size AND p1(@@sort_buffer_size + 1) > a - 1; - -DROP TABLE t2; -DROP FUNCTION p1; - - -SELECT CONCAT(@@sort_buffer_size); -SELECT LEFT("12345", @@ft_boolean_syntax); - -SET @@sort_buffer_size=DEFAULT; - ---echo End of 5.0 tests. |