summaryrefslogtreecommitdiff
path: root/mysql-test/t/ndb_insert.test
diff options
context:
space:
mode:
authorunknown <magnus@neptunus.(none)>2004-09-20 11:14:31 +0200
committerunknown <magnus@neptunus.(none)>2004-09-20 11:14:31 +0200
commitc06c007818d9456d65e8b05c14d966ce9d7a9a4d (patch)
tree59ea66791f538e967ab76f7581720025507db61b /mysql-test/t/ndb_insert.test
parent8b79d2b502455f604c80180e342920b16ed149fd (diff)
parent38238355c2acb7c64a653db2756856475dc04026 (diff)
downloadmariadb-git-c06c007818d9456d65e8b05c14d966ce9d7a9a4d.tar.gz
Merged new ndb_insert.test and .result
sql/ha_ndbcluster.cc: Auto merged sql/ha_ndbcluster.h: Auto merged mysql-test/r/ndb_insert.result: Merge new test cases mysql-test/t/ndb_insert.test: Merge new test cases
Diffstat (limited to 'mysql-test/t/ndb_insert.test')
-rw-r--r--mysql-test/t/ndb_insert.test119
1 files changed, 113 insertions, 6 deletions
diff --git a/mysql-test/t/ndb_insert.test b/mysql-test/t/ndb_insert.test
index 1a8103924a4..7ea25554ce3 100644
--- a/mysql-test/t/ndb_insert.test
+++ b/mysql-test/t/ndb_insert.test
@@ -437,27 +437,117 @@ INSERT INTO t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
+select count(*) from t1;
+#
+# Insert duplicate rows, inside transaction
+# try to commit
+#
begin;
+--error 1062
+INSERT INTO t1 VALUES
+(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
+(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
+
+--error 1296
+commit;
+
+select * from t1 where pk1=1;
+select * from t1 where pk1=10;
+select count(*) from t1 where pk1 <= 10 order by pk1;
+select count(*) from t1;
+
+
#
# Insert duplicate rows, inside transaction
-# since failing inserts rollbacks whole transaction
-# all select count (except second) return same value
+# rollback
#
-SELECT COUNT(*) FROM t1;
+begin;
+
+--error 1062
INSERT INTO t1 VALUES
-(2001,2001,2001),(2002,2002,2002),(2003,2003,2003),(2004,2004,2004),(2005,2005,2005);
-SELECT COUNT(*) FROM t1;
+(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
+(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
+
+rollback;
+
+select * from t1 where pk1=1;
+select * from t1 where pk1=10;
+select count(*) from t1 where pk1 <= 10 order by pk1;
+select count(*) from t1;
+
+
+#
+# Insert duplicate rows, inside transaction
+# then try to select, finally rollback
+#
+begin;
+
--error 1062
INSERT INTO t1 VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-SELECT COUNT(*) FROM t1;
+--error 1296
+SELECT * FROM t1 WHERE pk1=10;
+
+rollback;
+
+select * from t1 where pk1=1;
+select * from t1 where pk1=10;
+select count(*) from t1 where pk1 <= 10 order by pk1;
+select count(*) from t1;
+
+
+#
+# Insert duplicate rows, inside transaction
+# then try to select, finally commit
+#
+begin;
+
+--error 1062
+INSERT INTO t1 VALUES
+(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
+(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
+
+--error 1296
+SELECT * FROM t1 WHERE pk1=10;
+
+--error 1296
+SELECT * FROM t1 WHERE pk1=10;
+
+--error 1296
commit;
SELECT COUNT(*) FROM t1;
+select * from t1 where pk1=1;
+select * from t1 where pk1=10;
+select count(*) from t1 where pk1 <= 10 order by pk1;
+select count(*) from t1;
+
+
+#
+# Insert duplicate rows, inside transaction
+# then try to do another insert
+#
+begin;
+
+--error 1062
+INSERT INTO t1 VALUES
+(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
+(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
+
+--error 1296
+INSERT INTO t1 values (4000, 40, 44);
+
+rollback;
+
+select * from t1 where pk1=1;
+select * from t1 where pk1=10;
+select count(*) from t1 where pk1 <= 10 order by pk1;
+select count(*) from t1;
+
#
# Insert duplicate rows using "insert .. select"
@@ -466,4 +556,21 @@ SELECT COUNT(*) FROM t1;
insert into t1 select * from t1 where b < 10 order by pk1;
+begin;
+--error 1031
+INSERT IGNORE INTO t1 VALUES(1,2,3);
+commit;
+select * from t1 where pk1=1;
+
+--error 1031
+INSERT IGNORE INTO t1 VALUES(1,2,3);
+select * from t1 where pk1=1;
+
+REPLACE INTO t1 values(1, 2, 3);
+select * from t1 where pk1=1;
+
+--error 1031
+INSERT INTO t1 VALUES(1,1,1) ON DUPLICATE KEY UPDATE b=79;
+select * from t1 where pk1=1;
+
DROP TABLE t1;