summaryrefslogtreecommitdiff
path: root/mysql-test/t/ndb_index_unique.test
diff options
context:
space:
mode:
authormskold@mysql.com <>2004-08-13 13:51:18 +0200
committermskold@mysql.com <>2004-08-13 13:51:18 +0200
commit7c6b884ef5d2007b96cd538f42d5b7e9ae7a53b6 (patch)
tree377d74e888b2ddaaeae15b47803bc328f3fe4ae3 /mysql-test/t/ndb_index_unique.test
parenta454b977d2d4c9a92e4aa0f3232f4088f3e2de2b (diff)
downloadmariadb-git-7c6b884ef5d2007b96cd538f42d5b7e9ae7a53b6.tar.gz
Added support for NULL in unique index
Diffstat (limited to 'mysql-test/t/ndb_index_unique.test')
-rw-r--r--mysql-test/t/ndb_index_unique.test61
1 files changed, 60 insertions, 1 deletions
diff --git a/mysql-test/t/ndb_index_unique.test b/mysql-test/t/ndb_index_unique.test
index 7cfc9a77452..96abc842639 100644
--- a/mysql-test/t/ndb_index_unique.test
+++ b/mysql-test/t/ndb_index_unique.test
@@ -21,6 +21,13 @@ select * from t1 where b = 4 order by b;
insert into t1 values(7,8,3);
select * from t1 where b = 4 order by a;
+-- error 1169
+insert into t1 values(8, 2, 3);
+select * from t1 order by a;
+delete from t1 where a = 1;
+insert into t1 values(8, 2, 3);
+select * from t1 order by a;
+
drop table t1;
@@ -42,6 +49,13 @@ select * from t2 where c = 6;
insert into t2 values(7,8,3);
select * from t2 where b = 4 order by a;
+-- error 1169
+insert into t2 values(8, 2, 3);
+select * from t2 order by a;
+delete from t2 where a = 1;
+insert into t2 values(8, 2, 3);
+select * from t2 order by a;
+
drop table t2;
#
@@ -65,6 +79,48 @@ select * from t3 where b = 4 order by a;
drop table t3;
#
+# Indexes on NULL-able columns
+#
+
+#CREATE TABLE t1 (
+# pk int NOT NULL PRIMARY KEY,
+# a int unsigned,
+# UNIQUE KEY (a)
+#) engine=ndbcluster;
+
+#insert into t1 values (-1,NULL), (0,0), (1,NULL),(2,2),(3,NULL),(4,4);
+
+#select * from t1 order by pk;
+
+#--error 1169
+#insert into t1 values (5,0);
+#select * from t1 order by pk;
+#delete from t1 where a = 0;
+#insert into t1 values (5,0);
+#select * from t1 order by pk;
+
+#CREATE TABLE t2 (
+# pk int NOT NULL PRIMARY KEY,
+# a int unsigned,
+# b tinyint NOT NULL,
+# c VARCHAR(10),
+# UNIQUE KEY si(a, c)
+#) engine=ndbcluster;
+
+#insert into t2 values (-1,1,17,NULL),(0,NULL,18,NULL),(1,3,19,'abc');
+
+#select * from t2 order by pk;
+
+#--error 1169
+#insert into t2 values(2,3,19,'abc');
+#select * from t2 order by pk;
+#delete from t2 where c IS NOT NULL;
+#insert into t2 values(2,3,19,'abc');
+#select * from t2 order by pk;
+
+#drop table t1, t2;
+
+#
# More complex tables
#
@@ -78,8 +134,10 @@ INSERT INTO t1 VALUES (8,'dummy');
CREATE TABLE t2 (
cid bigint(20) unsigned NOT NULL auto_increment,
cap varchar(255) NOT NULL default '',
- PRIMARY KEY (cid)
+ PRIMARY KEY (cid),
+ UNIQUE KEY (cid, cap)
) engine=ndbcluster;
+INSERT INTO t2 VALUES (NULL,'another dummy');
CREATE TABLE t3 (
gid bigint(20) unsigned NOT NULL auto_increment,
gn varchar(255) NOT NULL default '',
@@ -134,6 +192,7 @@ INSERT INTO t7 VALUES(10, 5, 1, 1, 10);
select * from t1 where cv = 'dummy';
select * from t1 where cv = 'test';
+select * from t2 where cap = 'another dummy';
select * from t4 where uid = 1 and gid=1 and rid=2 and cid=4;
select * from t4 where uid = 1 and gid=1 and rid=1 and cid=4;
select * from t4 where uid = 1 order by cid;