mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
New tests for bug#1644 and bug#1676,
test for bug#1180 changed to table naming scheme 't#'. mysql-test/r/ps_11bugs.result: Expected results of new tests for bug#1644 and bug#1676, test for bug#1180 changed to table naming scheme 't#'. mysql-test/t/ps_11bugs.test: New tests to check bug#1644 and bug#1676, test for bug#1180 changed to table naming scheme 't#'.
This commit is contained in:
@@ -1,13 +1,10 @@
|
|||||||
use test;
|
drop table if exists t1, t2;
|
||||||
drop table if exists test_select;
|
CREATE TABLE t1(session_id char(9) NOT NULL);
|
||||||
Warnings:
|
INSERT INTO t1 VALUES ("abc");
|
||||||
Note 1051 Unknown table 'test_select'
|
SELECT * FROM t1;
|
||||||
CREATE TABLE test_select(session_id char(9) NOT NULL);
|
|
||||||
INSERT INTO test_select VALUES ("abc");
|
|
||||||
SELECT * FROM test_select;
|
|
||||||
session_id
|
session_id
|
||||||
abc
|
abc
|
||||||
prepare st_1180 from 'SELECT * FROM test_select WHERE ?="1111" and session_id = "abc"';
|
prepare st_1180 from 'SELECT * FROM t1 WHERE ?="1111" and session_id = "abc"';
|
||||||
set @arg1= 'abc';
|
set @arg1= 'abc';
|
||||||
execute st_1180 using @arg1;
|
execute st_1180 using @arg1;
|
||||||
session_id
|
session_id
|
||||||
@@ -18,16 +15,13 @@ abc
|
|||||||
set @arg1= 'abc';
|
set @arg1= 'abc';
|
||||||
execute st_1180 using @arg1;
|
execute st_1180 using @arg1;
|
||||||
session_id
|
session_id
|
||||||
drop table test_select;
|
drop table t1;
|
||||||
drop table if exists tab_many_null;
|
create table t1 (
|
||||||
Warnings:
|
|
||||||
Note 1051 Unknown table 'tab_many_null'
|
|
||||||
create table tab_many_null (
|
|
||||||
c_01 char(6), c_02 integer, c_03 real, c_04 int(3), c_05 varchar(20),
|
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_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_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);
|
c_16 date, c_17 char(1), c_18 real, c_19 int(11), c_20 text);
|
||||||
prepare st_1644 from 'insert into tab_many_null values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
prepare st_1644 from 'insert into t1 values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
||||||
set @arg01= 'row_1';
|
set @arg01= 'row_1';
|
||||||
set @arg02= 1;
|
set @arg02= 1;
|
||||||
set @arg03= 1.1;
|
set @arg03= 1.1;
|
||||||
@@ -94,35 +88,31 @@ set @arg19= '300300300';
|
|||||||
set @arg20= '12:34:56';
|
set @arg20= '12:34:56';
|
||||||
execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10,
|
execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10,
|
||||||
@arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20;
|
@arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20;
|
||||||
select * from tab_many_null;
|
select * from t1;
|
||||||
c_01 c_02 c_03 c_04 c_05 c_06 c_07 c_08 c_09 c_10 c_11 c_12 c_13 c_14 c_15 c_16 c_17 c_18 c_19 c_20
|
c_01 c_02 c_03 c_04 c_05 c_06 c_07 c_08 c_09 c_10 c_11 c_12 c_13 c_14 c_15 c_16 c_17 c_18 c_19 c_20
|
||||||
row_1 1 1.1 111 row_one 2004-10-12 1 1.1 100100100 12:34:56 row_1 1 1.1 111 row_one 2004-10-12 1 1.1 100100100 12:34:56
|
row_1 1 1.1 111 row_one 2004-10-12 1 1.1 100100100 12:34:56 row_1 1 1.1 111 row_one 2004-10-12 1 1.1 100100100 12:34:56
|
||||||
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
row_3 3 3.3 333 row_three 2004-10-12 3 3.3 300300300 12:34:56 row_3 3 3.3 333 row_three 2004-10-12 3 3.3 300300300 12:34:56
|
row_3 3 3.3 333 row_three 2004-10-12 3 3.3 300300300 12:34:56 row_3 3 3.3 333 row_three 2004-10-12 3 3.3 300300300 12:34:56
|
||||||
drop table tab_many_null;
|
drop table t1;
|
||||||
drop table if exists table1, table2;
|
create table t1(
|
||||||
Warnings:
|
|
||||||
Note 1051 Unknown table 'table1'
|
|
||||||
Note 1051 Unknown table 'table2'
|
|
||||||
create table table1(
|
|
||||||
cola varchar(50) not null,
|
cola varchar(50) not null,
|
||||||
colb varchar(8) not null,
|
colb varchar(8) not null,
|
||||||
colc varchar(12) not null,
|
colc varchar(12) not null,
|
||||||
cold varchar(2) not null,
|
cold varchar(2) not null,
|
||||||
primary key (cola, colb, cold));
|
primary key (cola, colb, cold));
|
||||||
create table table2(
|
create table t2(
|
||||||
cola varchar(50) not null,
|
cola varchar(50) not null,
|
||||||
colb varchar(8) not null,
|
colb varchar(8) not null,
|
||||||
colc varchar(2) not null,
|
colc varchar(2) not null,
|
||||||
cold float,
|
cold float,
|
||||||
primary key (cold));
|
primary key (cold));
|
||||||
insert into table1 values ('aaaa', 'yyyy', 'yyyy-dd-mm', 'R');
|
insert into t1 values ('aaaa', 'yyyy', 'yyyy-dd-mm', 'R');
|
||||||
insert into table2 values ('aaaa', 'yyyy', 'R', 203), ('bbbb', 'zzzz', 'C', 201);
|
insert into t2 values ('aaaa', 'yyyy', 'R', 203), ('bbbb', 'zzzz', 'C', 201);
|
||||||
prepare st_1676 from 'select a.cola, a.colb, a.cold from table1 a, table2 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';
|
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 @arg0= "aaaa";
|
||||||
set @arg1= "yyyy";
|
set @arg1= "yyyy";
|
||||||
set @arg2= "R";
|
set @arg2= "R";
|
||||||
execute st_1676 using @arg0, @arg1, @arg2;
|
execute st_1676 using @arg0, @arg1, @arg2;
|
||||||
cola colb cold
|
cola colb cold
|
||||||
aaaa yyyy R
|
aaaa yyyy R
|
||||||
drop table table1, table2;
|
drop table t1, t2;
|
||||||
|
@@ -7,19 +7,21 @@
|
|||||||
# Command sequences taken from bug report. #
|
# Command sequences taken from bug report. #
|
||||||
# No other test contains the bug# as comment. #
|
# No other test contains the bug# as comment. #
|
||||||
# #
|
# #
|
||||||
|
# Tests drop/create tables 't1', 't2', ... #
|
||||||
|
# #
|
||||||
###############################################
|
###############################################
|
||||||
|
|
||||||
use test;
|
--disable_warnings
|
||||||
|
drop table if exists t1, t2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
# bug#1180: optimized away part of WHERE clause cause incorect prepared satatement results
|
# bug#1180: optimized away part of WHERE clause cause incorect prepared satatement results
|
||||||
|
|
||||||
drop table if exists test_select;
|
CREATE TABLE t1(session_id char(9) NOT NULL);
|
||||||
|
INSERT INTO t1 VALUES ("abc");
|
||||||
|
SELECT * FROM t1;
|
||||||
|
|
||||||
CREATE TABLE test_select(session_id char(9) NOT NULL);
|
prepare st_1180 from 'SELECT * FROM t1 WHERE ?="1111" and session_id = "abc"';
|
||||||
INSERT INTO test_select VALUES ("abc");
|
|
||||||
SELECT * FROM test_select;
|
|
||||||
|
|
||||||
prepare st_1180 from 'SELECT * FROM test_select WHERE ?="1111" and session_id = "abc"';
|
|
||||||
|
|
||||||
# Must not find a row
|
# Must not find a row
|
||||||
set @arg1= 'abc';
|
set @arg1= 'abc';
|
||||||
@@ -33,7 +35,7 @@ execute st_1180 using @arg1;
|
|||||||
set @arg1= 'abc';
|
set @arg1= 'abc';
|
||||||
execute st_1180 using @arg1;
|
execute st_1180 using @arg1;
|
||||||
|
|
||||||
drop table test_select;
|
drop table t1;
|
||||||
|
|
||||||
# end of bug#1180
|
# end of bug#1180
|
||||||
|
|
||||||
@@ -58,16 +60,14 @@ drop table test_select;
|
|||||||
|
|
||||||
# Test is extended to more columns - code stores bit vector in bytes.
|
# Test is extended to more columns - code stores bit vector in bytes.
|
||||||
|
|
||||||
drop table if exists tab_many_null;
|
create table t1 (
|
||||||
|
|
||||||
create table tab_many_null (
|
|
||||||
c_01 char(6), c_02 integer, c_03 real, c_04 int(3), c_05 varchar(20),
|
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_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_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);
|
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
|
# Do not use "timestamp" type, because it has a non-NULL default as of 4.1.2
|
||||||
|
|
||||||
prepare st_1644 from 'insert into tab_many_null values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
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 @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 @arg06= '2004-10-12'; set @arg07= '1'; set @arg08= 1.1; set @arg09= '100100100'; set @arg10= '12:34:56';
|
||||||
@@ -90,36 +90,34 @@ set @arg16= '2004-10-12'; set @arg17= '3'; set @arg18= 3.3; set @arg19= '3003003
|
|||||||
execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10,
|
execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10,
|
||||||
@arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20;
|
@arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20;
|
||||||
|
|
||||||
select * from tab_many_null;
|
select * from t1;
|
||||||
|
|
||||||
drop table tab_many_null;
|
drop table t1;
|
||||||
|
|
||||||
# end of bug#1644
|
# end of bug#1644
|
||||||
|
|
||||||
|
|
||||||
# bug#1677: Prepared statement two-table join returns no rows when one is expected
|
# bug#1677: Prepared statement two-table join returns no rows when one is expected
|
||||||
|
|
||||||
drop table if exists table1, table2;
|
create table t1(
|
||||||
|
|
||||||
create table table1(
|
|
||||||
cola varchar(50) not null,
|
cola varchar(50) not null,
|
||||||
colb varchar(8) not null,
|
colb varchar(8) not null,
|
||||||
colc varchar(12) not null,
|
colc varchar(12) not null,
|
||||||
cold varchar(2) not null,
|
cold varchar(2) not null,
|
||||||
primary key (cola, colb, cold));
|
primary key (cola, colb, cold));
|
||||||
|
|
||||||
create table table2(
|
create table t2(
|
||||||
cola varchar(50) not null,
|
cola varchar(50) not null,
|
||||||
colb varchar(8) not null,
|
colb varchar(8) not null,
|
||||||
colc varchar(2) not null,
|
colc varchar(2) not null,
|
||||||
cold float,
|
cold float,
|
||||||
primary key (cold));
|
primary key (cold));
|
||||||
|
|
||||||
insert into table1 values ('aaaa', 'yyyy', 'yyyy-dd-mm', 'R');
|
insert into t1 values ('aaaa', 'yyyy', 'yyyy-dd-mm', 'R');
|
||||||
|
|
||||||
insert into table2 values ('aaaa', 'yyyy', 'R', 203), ('bbbb', 'zzzz', 'C', 201);
|
insert into t2 values ('aaaa', 'yyyy', 'R', 203), ('bbbb', 'zzzz', 'C', 201);
|
||||||
|
|
||||||
prepare st_1676 from 'select a.cola, a.colb, a.cold from table1 a, table2 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';
|
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 @arg0= "aaaa";
|
||||||
set @arg1= "yyyy";
|
set @arg1= "yyyy";
|
||||||
@@ -127,7 +125,7 @@ set @arg2= "R";
|
|||||||
|
|
||||||
execute st_1676 using @arg0, @arg1, @arg2;
|
execute st_1676 using @arg0, @arg1, @arg2;
|
||||||
|
|
||||||
drop table table1, table2;
|
drop table t1, t2;
|
||||||
|
|
||||||
# end of bug#1676
|
# end of bug#1676
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user