summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-01-28 06:48:26 +0200
committerunknown <monty@mashka.mysql.fi>2003-01-28 06:48:26 +0200
commit7dda787d602353c93962666634062e5dd112f87c (patch)
tree9e418865f0fad863fd9f50122562955a2ff1b8e3 /mysql-test
parent644c6306bd137767e8be09251b1298032bccd252 (diff)
downloadmariadb-git-7dda787d602353c93962666634062e5dd112f87c.tar.gz
Fix when using auto_increment and last_insert_id() in the same insert statement.
sql/sql_base.cc: S
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/rpl_insert_id.result15
-rw-r--r--mysql-test/t/rpl_insert_id.test39
2 files changed, 54 insertions, 0 deletions
diff --git a/mysql-test/r/rpl_insert_id.result b/mysql-test/r/rpl_insert_id.result
new file mode 100644
index 00000000000..0298cca5da5
--- /dev/null
+++ b/mysql-test/r/rpl_insert_id.result
@@ -0,0 +1,15 @@
+a
+1
+2
+3
+4
+b c
+1 4
+a
+10
+11
+12
+13
+b c
+5 0
+6 11
diff --git a/mysql-test/t/rpl_insert_id.test b/mysql-test/t/rpl_insert_id.test
new file mode 100644
index 00000000000..3f3636d3082
--- /dev/null
+++ b/mysql-test/t/rpl_insert_id.test
@@ -0,0 +1,39 @@
+#see if queries that use both
+#auto_increment and LAST_INSERT_ID()
+#are replicated well
+source include/master-slave.inc;
+connection master;
+drop table if exists t1;
+create table t1(a int auto_increment, key(a));
+create table t2(b int auto_increment, c int, key(b));
+insert into t1 values (1),(2),(3);
+insert into t1 values (null);
+insert into t2 values (null,last_insert_id());
+save_master_pos;
+connection slave;
+sync_with_master;
+select * from t1;
+select * from t2;
+connection master;
+#check if multi-line inserts,
+#which set last_insert_id to the first id inserted,
+#are replicated the same way
+drop table t1;
+drop table t2;
+create table t1(a int auto_increment, key(a));
+create table t2(b int auto_increment, c int, key(b));
+insert into t1 values (10);
+insert into t1 values (null),(null),(null);
+insert into t2 values (5,0);
+insert into t2 values (null,last_insert_id());
+save_master_pos;
+connection slave;
+sync_with_master;
+select * from t1;
+select * from t2;
+connection master;
+drop table t1;
+drop table t2;
+save_master_pos;
+connection slave;
+sync_with_master;