47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
###############################################################################
|
|
# Bug#17588419: INSERT ON DUPLICATE KEY UPDATE FAILING AFTER MYSQL 5.6
|
|
# UPGRADE.
|
|
#
|
|
# Problem:
|
|
# ========
|
|
# After upgrading a MySQL 5.5.23 slave to 5.6.14 (the master still runs 5.5.23)
|
|
# on executing INSERT ON DUPLICATE KEY following error is reported in SBR.
|
|
#
|
|
# [ERROR] Slave SQL: Error 'Auto-increment value in UPDATE conflicts with
|
|
# internally generated values' on query.
|
|
#
|
|
# Test:
|
|
# =====
|
|
# Execute INSERT ON DUPLICATE KEY UPDATE statements on master and try to sync
|
|
# master with slave. With the bug sync operation will fail with
|
|
# ER_AUTO_INCREMENT_CONFLICT. Post fix sync operation should succeed.
|
|
# Note:
|
|
# As part of the bug fix the issue is fixed only with innodb storage engine.
|
|
###############################################################################
|
|
--source include/master-slave.inc
|
|
|
|
--disable_query_log
|
|
SET SESSION sql_log_bin= 0;
|
|
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format*");
|
|
SET SESSION sql_log_bin= 1;
|
|
--enable_query_log
|
|
|
|
--connection master
|
|
CREATE TABLE t(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,k INT,UNIQUE KEY(k)) ENGINE=InnoDB;
|
|
--disable_warnings
|
|
INSERT INTO t(k) VALUES (1), (2), (3);
|
|
INSERT INTO t(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE id=10;
|
|
--enable_warnings
|
|
--source include/sync_slave_sql_with_master.inc
|
|
|
|
SET SESSION sql_log_bin= 0;
|
|
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format*");
|
|
SET SESSION sql_log_bin= 1;
|
|
|
|
--connection master
|
|
-- let $diff_tables=master:t,slave:t
|
|
-- source include/diff_tables.inc
|
|
|
|
DROP TABLE t;
|
|
--source include/rpl_end.inc
|