summaryrefslogtreecommitdiff
path: root/mysql-test/r/row.result
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2002-12-08 03:19:03 +0200
committerunknown <bell@sanja.is.com.ua>2002-12-08 03:19:03 +0200
commit230f5f3b0f65f0c02c49ed6456450f31caa779ea (patch)
treea0a02646c1b32d0f0ec4d86a3682e17b768a9e71 /mysql-test/r/row.result
parent5b54427d7d879a47893885dbfa0466b4bd69aaf1 (diff)
downloadmariadb-git-230f5f3b0f65f0c02c49ed6456450f31caa779ea.tar.gz
optimized IN with Rows (SCRUM)
NULL with row (IN) cardinality error of row inside row new[] fixed layout mysql-test/r/row.result: test of optimized IN with Rows test of NULL with row test of cardinality error of row inside row mysql-test/t/row.test: test of optimized IN with Rows test of NULL with row test of cardinality error of row inside row sql/item_cmpfunc.cc: optimized IN with Rows NULL with row (IN) cardinality error of row inside row sql/item_cmpfunc.h: optimized IN with Rows NULL with row (IN) cardinality error of row inside row fixed layout sql/sql_list.h: fixed layout new[]
Diffstat (limited to 'mysql-test/r/row.result')
-rw-r--r--mysql-test/r/row.result76
1 files changed, 65 insertions, 11 deletions
diff --git a/mysql-test/r/row.result b/mysql-test/r/row.result
index e5bc5f4abe5..e0b524d9bb2 100644
--- a/mysql-test/r/row.result
+++ b/mysql-test/r/row.result
@@ -4,6 +4,35 @@ row(1,2,3) IN (row(3,2,3), row(1,2,3), row(1,3,3))
select row(10,2,3) IN (row(3,2,3), row(1,2,3), row(1,3,3));
row(10,2,3) IN (row(3,2,3), row(1,2,3), row(1,3,3))
0
+select row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
+row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3))
+1
+select row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
+row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3))
+NULL
+select row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'));
+row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'))
+1
+select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
+row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3))
+1
+select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
+row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3))
+1
+select row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
+row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3))
+1
+select row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
+row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3))
+NULL
+select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,4)));
+row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,4)))
+1
+select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,4));
+Cardinality error (more/less than 2 columns)
+select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
+row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)))
+NULL
SELECT ROW(1,2,3)=ROW(1,2,3);
ROW(1,2,3)=ROW(1,2,3)
1
@@ -42,9 +71,20 @@ ROW('test',2,3.33)=ROW('test',2,3.33)
1
SELECT ROW('test',2,3.33)=ROW('test',2,3.33,4);
Cardinality error (more/less than 3 columns)
+SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33));
+ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33))
+1
+SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,3));
+ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,3))
+0
+SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL));
+ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL))
+NULL
+SELECT ROW('test',2,ROW(3,33))=ROW('test',2,4);
+Cardinality error (more/less than 2 columns)
drop table if exists t1;
create table t1 ( a int, b int, c int);
-insert into t1 values (1,2,3), (2,3,1), (3,2,1);
+insert into t1 values (1,2,3), (2,3,1), (3,2,1), (1,2,NULL);
select * from t1 where ROW(1,2,3)=ROW(a,b,c);
a b c
1 2 3
@@ -54,16 +94,30 @@ select * from t1 where ROW(1,2,3)<ROW(a,b,c);
a b c
2 3 1
3 2 1
-select * from t1 where ROW(a,2,3) IN(row(1,b,c), row(2,3,1));
-a b c
-1 2 3
-select * from t1 where ROW(c,2,3) IN(row(1,b,a), row(2,3,1));
-a b c
-3 2 1
-select * from t1 where ROW(a,b,c) IN(row(1,2,3), row(3,2,1));
-a b c
-1 2 3
-3 2 1
+select ROW(a,2,3) IN(row(1,b,c), row(2,3,1)) from t1;
+ROW(a,2,3) IN(row(1,b,c), row(2,3,1))
+1
+0
+0
+NULL
+select ROW(c,2,3) IN(row(1,b,a), row(2,3,1)) from t1;
+ROW(c,2,3) IN(row(1,b,a), row(2,3,1))
+0
+0
+1
+NULL
+select ROW(a,b,c) IN(row(1,2,3), row(3,2,1)) from t1;
+ROW(a,b,c) IN(row(1,2,3), row(3,2,1))
+1
+0
+1
+NULL
+select ROW(1,2,3) IN(row(a,b,c), row(1,2,3)) from t1;
+ROW(1,2,3) IN(row(a,b,c), row(1,2,3))
+1
+1
+1
+1
drop table t1;
select ROW(1,1);
Cardinality error (more/less than 1 columns)