mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
193 lines
5.8 KiB
Text
193 lines
5.8 KiB
Text
drop table if exists t1, t2;
|
|
CREATE TABLE t1(session_id char(9) NOT NULL);
|
|
INSERT INTO t1 VALUES ("abc");
|
|
SELECT * FROM t1;
|
|
session_id
|
|
abc
|
|
prepare st_1180 from 'SELECT * FROM t1 WHERE ?="1111" and session_id = "abc"';
|
|
set @arg1= 'abc';
|
|
execute st_1180 using @arg1;
|
|
session_id
|
|
set @arg1= '1111';
|
|
execute st_1180 using @arg1;
|
|
session_id
|
|
abc
|
|
set @arg1= 'abc';
|
|
execute st_1180 using @arg1;
|
|
session_id
|
|
drop table t1;
|
|
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);
|
|
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;
|
|
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
|
|
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
|
|
drop table t1;
|
|
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;
|
|
cola colb cold
|
|
aaaa yyyy R
|
|
drop table t1, t2;
|
|
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);
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
|
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
|
3 UNION NULL NULL NULL NULL NULL NULL NULL No tables used
|
|
NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL
|
|
select * from t1 where 3 in (select (1+1) union select 1);
|
|
a
|
|
prepare st_18492 from 'select * from t1 where 3 in (select (1+1) union select 1)';
|
|
execute st_18492;
|
|
a
|
|
drop table t1;
|
|
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;
|
|
execute stmt2 using @UNDEFINED, @varchararg;
|
|
ERROR 23000: Column 'a' cannot be null
|
|
set @intarg= 14;
|
|
set @nullarg= Null;
|
|
execute stmt1 using @UNDEFINED, @nullarg;
|
|
execute stmt2 using @nullarg, @varchararg;
|
|
ERROR 23000: Column 'a' cannot be null
|
|
select * from t1;
|
|
a b
|
|
11 2222
|
|
12 NULL
|
|
NULL 2222
|
|
NULL NULL
|
|
select * from t2;
|
|
a b
|
|
11 2222
|
|
12 NULL
|
|
drop table t1;
|
|
drop table t2;
|
|
CREATE TABLE t1 (a INT);
|
|
PREPARE stmt FROM 'select 1 from `t1` where `a` = any (select (@@tmpdir))';
|
|
EXECUTE stmt;
|
|
1
|
|
DEALLOCATE PREPARE stmt;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t2 (a INT PRIMARY KEY);
|
|
INSERT INTO t2 VALUES (400000), (400001);
|
|
SET @@sort_buffer_size=400000;
|
|
CREATE FUNCTION p1(i INT) RETURNS INT
|
|
BEGIN
|
|
SET @@sort_buffer_size= i;
|
|
RETURN i + 1;
|
|
END|
|
|
SELECT * FROM t2 WHERE a = @@sort_buffer_size AND p1(@@sort_buffer_size + 1) > a - 1;
|
|
a
|
|
400000
|
|
DROP TABLE t2;
|
|
DROP FUNCTION p1;
|
|
SELECT CONCAT(@@sort_buffer_size);
|
|
CONCAT(@@sort_buffer_size)
|
|
400001
|
|
SELECT LEFT("12345", @@ft_boolean_syntax);
|
|
LEFT("12345", @@ft_boolean_syntax)
|
|
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect INTEGER value: '+ -><()~*:""&|'
|
|
SET @@sort_buffer_size=DEFAULT;
|
|
End of 5.0 tests.
|