summaryrefslogtreecommitdiff
path: root/mysql-test/t/row.test
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/t/row.test
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/t/row.test')
-rw-r--r--mysql-test/t/row.test25
1 files changed, 21 insertions, 4 deletions
diff --git a/mysql-test/t/row.test b/mysql-test/t/row.test
index 4515d6b220d..04f31fcbfe1 100644
--- a/mysql-test/t/row.test
+++ b/mysql-test/t/row.test
@@ -1,5 +1,16 @@
select 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));
+select row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
+select row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
+select row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'));
+select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
+select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
+select row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
+select row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
+select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,4)));
+-- error 1239
+select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,4));
+select row(1,2,row(3,4)) IN (row(3,2,row(3,4)), row(1,2,row(3,NULL)));
SELECT ROW(1,2,3)=ROW(1,2,3);
SELECT ROW(2,2,3)=ROW(1+1,2,3);
@@ -15,15 +26,21 @@ SELECT ROW(1,2,ROW(3,4,5))=ROW(1,2,ROW(3,4,5));
SELECT ROW('test',2,3.33)=ROW('test',2,3.33);
-- error 1239
SELECT ROW('test',2,3.33)=ROW('test',2,3.33,4);
+SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,33));
+SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,3));
+SELECT ROW('test',2,ROW(3,33))=ROW('test',2,ROW(3,NULL));
+-- error 1239
+SELECT ROW('test',2,ROW(3,33))=ROW('test',2,4);
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);
select * from t1 where ROW(0,2,3)=ROW(a,b,c);
select * from t1 where ROW(1,2,3)<ROW(a,b,c);
-select * from t1 where ROW(a,2,3) IN(row(1,b,c), row(2,3,1));
-select * from t1 where ROW(c,2,3) IN(row(1,b,a), row(2,3,1));
-select * from t1 where ROW(a,b,c) IN(row(1,2,3), row(3,2,1));
+select ROW(a,2,3) IN(row(1,b,c), row(2,3,1)) from t1;
+select ROW(c,2,3) IN(row(1,b,a), row(2,3,1)) from t1;
+select ROW(a,b,c) IN(row(1,2,3), row(3,2,1)) from t1;
+select ROW(1,2,3) IN(row(a,b,c), row(1,2,3)) from t1;
drop table t1;
-- error 1239