mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt
into gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt-27704
This commit is contained in:
@ -193,6 +193,103 @@ SELECT ROW(2,1) IN (ROW(21,2),ROW(ROW(1,1,3),0));
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT ROW(2,1) IN (ROW(ROW(1,1,3),0),ROW(21,2));
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
CREATE TABLE t1(a int, b int, c int);
|
||||
INSERT INTO t1 VALUES (1, 2, 3),
|
||||
(NULL, 2, 3 ), (1, NULL, 3 ), (1, 2, NULL),
|
||||
(NULL, 2, 3+1), (1, NULL, 3+1), (1, 2+1, NULL),
|
||||
(NULL, 2, 3-1), (1, NULL, 3-1), (1, 2-1, NULL);
|
||||
SELECT (1,2,3) = (1, NULL, 3);
|
||||
(1,2,3) = (1, NULL, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) = (1+1, NULL, 3);
|
||||
(1,2,3) = (1+1, NULL, 3)
|
||||
0
|
||||
SELECT (1,2,3) = (1, NULL, 3+1);
|
||||
(1,2,3) = (1, NULL, 3+1)
|
||||
0
|
||||
SELECT * FROM t1 WHERE (a,b,c) = (1,2,3);
|
||||
a b c
|
||||
1 2 3
|
||||
SELECT (1,2,3) <> (1, NULL, 3);
|
||||
(1,2,3) <> (1, NULL, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) <> (1+1, NULL, 3);
|
||||
(1,2,3) <> (1+1, NULL, 3)
|
||||
1
|
||||
SELECT (1,2,3) <> (1, NULL, 3+1);
|
||||
(1,2,3) <> (1, NULL, 3+1)
|
||||
1
|
||||
SELECT * FROM t1 WHERE (a,b,c) <> (1,2,3);
|
||||
a b c
|
||||
NULL 2 4
|
||||
1 NULL 4
|
||||
1 3 NULL
|
||||
NULL 2 2
|
||||
1 NULL 2
|
||||
1 1 NULL
|
||||
SELECT (1,2,3) < (NULL, 2, 3);
|
||||
(1,2,3) < (NULL, 2, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) < (1, NULL, 3);
|
||||
(1,2,3) < (1, NULL, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) < (1-1, NULL, 3);
|
||||
(1,2,3) < (1-1, NULL, 3)
|
||||
0
|
||||
SELECT (1,2,3) < (1+1, NULL, 3);
|
||||
(1,2,3) < (1+1, NULL, 3)
|
||||
1
|
||||
SELECT * FROM t1 WHERE (a,b,c) < (1,2,3);
|
||||
a b c
|
||||
1 1 NULL
|
||||
SELECT (1,2,3) <= (NULL, 2, 3);
|
||||
(1,2,3) <= (NULL, 2, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) <= (1, NULL, 3);
|
||||
(1,2,3) <= (1, NULL, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) <= (1-1, NULL, 3);
|
||||
(1,2,3) <= (1-1, NULL, 3)
|
||||
0
|
||||
SELECT (1,2,3) <= (1+1, NULL, 3);
|
||||
(1,2,3) <= (1+1, NULL, 3)
|
||||
1
|
||||
SELECT * FROM t1 WHERE (a,b,c) <= (1,2,3);
|
||||
a b c
|
||||
1 2 3
|
||||
1 1 NULL
|
||||
SELECT (1,2,3) > (NULL, 2, 3);
|
||||
(1,2,3) > (NULL, 2, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) > (1, NULL, 3);
|
||||
(1,2,3) > (1, NULL, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) > (1-1, NULL, 3);
|
||||
(1,2,3) > (1-1, NULL, 3)
|
||||
1
|
||||
SELECT (1,2,3) > (1+1, NULL, 3);
|
||||
(1,2,3) > (1+1, NULL, 3)
|
||||
0
|
||||
SELECT * FROM t1 WHERE (a,b,c) > (1,2,3);
|
||||
a b c
|
||||
1 3 NULL
|
||||
SELECT (1,2,3) >= (NULL, 2, 3);
|
||||
(1,2,3) >= (NULL, 2, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) >= (1, NULL, 3);
|
||||
(1,2,3) >= (1, NULL, 3)
|
||||
NULL
|
||||
SELECT (1,2,3) >= (1-1, NULL, 3);
|
||||
(1,2,3) >= (1-1, NULL, 3)
|
||||
1
|
||||
SELECT (1,2,3) >= (1+1, NULL, 3);
|
||||
(1,2,3) >= (1+1, NULL, 3)
|
||||
0
|
||||
SELECT * FROM t1 WHERE (a,b,c) >= (1,2,3);
|
||||
a b c
|
||||
1 2 3
|
||||
1 3 NULL
|
||||
DROP TABLE t1;
|
||||
SELECT ROW(1,1,1) = ROW(1,1,1) as `1`, ROW(1,1,1) = ROW(1,2,1) as `0`, ROW(1,NULL,1) = ROW(2,2,1) as `0`, ROW(1,NULL,1) = ROW(1,2,2) as `0`, ROW(1,NULL,1) = ROW(1,2,1) as `null` ;
|
||||
1 0 0 0 null
|
||||
1 0 0 0 NULL
|
||||
|
@ -110,6 +110,51 @@ SELECT ROW(2,1) IN (ROW(21,2),ROW(ROW(1,1,3),0));
|
||||
--error 1241
|
||||
SELECT ROW(2,1) IN (ROW(ROW(1,1,3),0),ROW(21,2));
|
||||
|
||||
#
|
||||
# Bug#27704: erroneous comparison of rows with NULL components
|
||||
#
|
||||
CREATE TABLE t1(a int, b int, c int);
|
||||
INSERT INTO t1 VALUES (1, 2, 3),
|
||||
(NULL, 2, 3 ), (1, NULL, 3 ), (1, 2, NULL),
|
||||
(NULL, 2, 3+1), (1, NULL, 3+1), (1, 2+1, NULL),
|
||||
(NULL, 2, 3-1), (1, NULL, 3-1), (1, 2-1, NULL);
|
||||
|
||||
SELECT (1,2,3) = (1, NULL, 3);
|
||||
SELECT (1,2,3) = (1+1, NULL, 3);
|
||||
SELECT (1,2,3) = (1, NULL, 3+1);
|
||||
SELECT * FROM t1 WHERE (a,b,c) = (1,2,3);
|
||||
|
||||
SELECT (1,2,3) <> (1, NULL, 3);
|
||||
SELECT (1,2,3) <> (1+1, NULL, 3);
|
||||
SELECT (1,2,3) <> (1, NULL, 3+1);
|
||||
SELECT * FROM t1 WHERE (a,b,c) <> (1,2,3);
|
||||
|
||||
SELECT (1,2,3) < (NULL, 2, 3);
|
||||
SELECT (1,2,3) < (1, NULL, 3);
|
||||
SELECT (1,2,3) < (1-1, NULL, 3);
|
||||
SELECT (1,2,3) < (1+1, NULL, 3);
|
||||
SELECT * FROM t1 WHERE (a,b,c) < (1,2,3);
|
||||
|
||||
SELECT (1,2,3) <= (NULL, 2, 3);
|
||||
SELECT (1,2,3) <= (1, NULL, 3);
|
||||
SELECT (1,2,3) <= (1-1, NULL, 3);
|
||||
SELECT (1,2,3) <= (1+1, NULL, 3);
|
||||
SELECT * FROM t1 WHERE (a,b,c) <= (1,2,3);
|
||||
|
||||
SELECT (1,2,3) > (NULL, 2, 3);
|
||||
SELECT (1,2,3) > (1, NULL, 3);
|
||||
SELECT (1,2,3) > (1-1, NULL, 3);
|
||||
SELECT (1,2,3) > (1+1, NULL, 3);
|
||||
SELECT * FROM t1 WHERE (a,b,c) > (1,2,3);
|
||||
|
||||
SELECT (1,2,3) >= (NULL, 2, 3);
|
||||
SELECT (1,2,3) >= (1, NULL, 3);
|
||||
SELECT (1,2,3) >= (1-1, NULL, 3);
|
||||
SELECT (1,2,3) >= (1+1, NULL, 3);
|
||||
SELECT * FROM t1 WHERE (a,b,c) >= (1,2,3);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
#
|
||||
|
Reference in New Issue
Block a user