Fix for INSERT with multiple values and start/end_bulk_insert

parent a9531f60
...@@ -416,4 +416,16 @@ INSERT INTO t1 VALUES ...@@ -416,4 +416,16 @@ INSERT INTO t1 VALUES
SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;
COUNT(*) COUNT(*)
2000 2000
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 23000: Duplicate entry '10' for key 1
begin;
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 23000: Duplicate entry '10' for key 1
commit;
insert into t1 select * from t1 where b < 10 order by pk1;
ERROR 23000: Duplicate entry '9' for key 1
DROP TABLE t1; DROP TABLE t1;
...@@ -429,5 +429,34 @@ INSERT INTO t1 VALUES ...@@ -429,5 +429,34 @@ INSERT INTO t1 VALUES
SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;
#
# Insert duplicate rows
#
--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);
begin;
#
# Insert duplicate rows, inside transaction
#
--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);
commit;
#
# Insert duplicate rows using "insert .. select"
#
--error 1062
insert into t1 select * from t1 where b < 10 order by pk1;
DROP TABLE t1; DROP TABLE t1;
...@@ -2401,7 +2401,7 @@ int ha_ndbcluster::end_bulk_insert() ...@@ -2401,7 +2401,7 @@ int ha_ndbcluster::end_bulk_insert()
rows_inserted, bulk_insert_rows)); rows_inserted, bulk_insert_rows));
bulk_insert_not_flushed= false; bulk_insert_not_flushed= false;
if (trans->execute(NoCommit) != 0) if (trans->execute(NoCommit) != 0)
error= ndb_err(trans); my_errno= error= ndb_err(trans);
} }
rows_inserted= 0; rows_inserted= 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment