mariadb/sql
hezx@mail.hezx.com 97ae23f473 BUG#33029 5.0 to 5.1 replication fails on dup key when inserting
using a trig in SP

For all 5.0 and up to 5.1.12 exclusive, when a stored routine or
trigger caused an INSERT into an AUTO_INCREMENT column, the
generated AUTO_INCREMENT value should not be written into the
binary log, which means if a statement does not generate
AUTO_INCREMENT value itself, there will be no Intvar event (SET
INSERT_ID) associated with it even if one of the stored routine
or trigger caused generation of such a value. And meanwhile, when
executing a stored routine or trigger, it would ignore the
INSERT_ID value even if there is a INSERT_ID value available set
by a SET INSERT_ID statement.

Starting from MySQL 5.1.12, the generated AUTO_INCREMENT value is
written into the binary log, and the value will be used if
available when executing the stored routine or trigger.

Prior fix of this bug in MySQL 5.0 and prior MySQL 5.1.12
(referenced as the buggy versions in the text below), when a
statement that generates AUTO_INCREMENT value by the top
statement was executed in the body of a SP, all statements in the
SP after this statement would be treated as if they had generated
AUTO_INCREMENT by the top statement.  When a statement that did
not generate AUTO_INCREMENT value by the top statement but by a
function/trigger called by it, an erroneous Intvar event would be
associated with the statement, this erroneous INSERT_ID value
wouldn't cause problem when replicating between masters and
slaves of 5.0.x or prior 5.1.12, because the erroneous INSERT_ID
value was not used when executing functions/triggers. But when
replicating from buggy versions to 5.1.12 or newer, which will
use the INSERT_ID value in functions/triggers, the erroneous
value will be used, which would cause duplicate entry error and
cause the slave to stop.

The patch for 5.0 fixed it not to generate the erroneous Intvar
event, another patch for 5.1 fixed it to ignore the SET INSERT_ID
value when executing functions/triggers if it is replicating from
a master of buggy versions.
2008-03-14 10:03:01 +08:00
..
examples Fix for bug #31207: Test "join_nested" shows different strategy on IA64 2007-10-17 20:08:58 +04:00
share Fixed bug #31663: if the FIELDS TERMINATED BY string 2007-10-23 16:16:59 +05:00
.cvsignore
add_errmsg
client_settings.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
CMakeLists.txt CMakeLists.txt: 2007-08-29 22:29:07 +02:00
custom_conf.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
derror.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
des_key_file.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
discover.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
field.cc Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-12-20 08:35:52 +01:00
field.h Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2008-01-07 18:55:05 +02:00
field_conv.cc field_conv.cc: 2007-07-12 00:55:40 +05:00
filesort.cc filesort.cc: 2008-01-10 18:54:34 +03:00
frm_crypt.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
gen_lex_hash.cc gen_lex_hash.cc: 2007-01-31 00:06:42 +01:00
gstream.cc Merge mysql.com:/home/hf/work/30286/my41-30286 2007-10-05 16:33:08 +05:00
gstream.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_archive.cc BUG#29207 - archive table reported as corrupt by check table (P1) 2007-06-27 13:19:34 +05:00
ha_archive.h Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-22 14:04:40 +02:00
ha_berkeley.cc BUG#28591: make the fix work for BDB tables too: 2007-07-26 20:52:53 +04:00
ha_berkeley.h Fixed compiler warnings (for linux and win32 and win64) 2007-02-22 16:59:57 +02:00
ha_blackhole.cc additional fix 2007-12-13 23:46:29 +04:00
ha_blackhole.h Bug#30294 blackhole engine causes 100% with 2 alter table statements running 2007-11-16 14:46:36 +04:00
ha_federated.cc Bug #32374 crash with filesort when selecting from federated table and view. 2007-11-30 17:08:00 +04:00
ha_federated.h Bug #32374 crash with filesort when selecting from federated table and view. 2007-11-30 17:08:00 +04:00
ha_heap.cc type conversions fixed to get rid of warnings 2007-10-23 16:32:05 +05:00
ha_heap.h [pb problem]: ha_heap->clone() fails on windows because of mess with 2007-07-17 19:51:50 +04:00
ha_innodb.cc Applied InnoDB snapshot innodb-5.0-ss2095 2007-11-20 10:53:19 -07:00
ha_innodb.h Bug #20358: InnoDB hang on the adaptive hash index latch in btr0sea.c 2007-10-02 23:47:30 -06:00
ha_myisam.cc Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
ha_myisam.h Bug#28249 Query Cache returns wrong result with concurrent insert / certain lock 2007-07-12 13:29:51 +02:00
ha_myisammrg.cc Fix for bug #28837: MyISAM storage engine error (134) doing delete with 2007-11-26 18:58:54 +03:00
ha_myisammrg.h BUG#26976 - Missing table in merge not noted in related error msg + 2007-06-06 04:42:41 +05:00
ha_ndbcluster.cc Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb 2007-12-10 10:31:51 +01:00
ha_ndbcluster.h ha_ndbcluster.h: 2007-11-05 20:18:22 +01:00
ha_ndbcluster_cond.cc ndb - bug#29390: if ScanFilter is too large, abort or optionally discard it 2007-10-04 11:32:49 +02:00
ha_ndbcluster_cond.h Bug #29185 Large IN list crashes mysqld with cluster and condition pushdown 2007-06-19 13:56:02 +02:00
handler.cc Bug#30294 blackhole engine causes 100% with 2 alter table statements running 2007-11-16 14:46:36 +04:00
handler.h Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-08-01 18:39:13 -06:00
hash_filo.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
hash_filo.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
hostname.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
init.cc Fix for bug #28121 "INSERT or UPDATE into DOUBLE(200,0) field being truncated to 31 digits" 2007-05-28 12:44:59 +04:00
item.cc Bug#33798 prepared statements improperly handle large unsigned ints 2008-02-08 08:55:55 -02:00
item.h Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
item_buff.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_cmpfunc.cc Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
item_cmpfunc.h Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0 2007-12-04 20:58:21 -07:00
item_create.cc Fix for bug #30200: mysqlbinlog.test: connection_id() not restored under ps-protocol 2007-08-02 14:51:03 +05:00
item_create.h Bug #27921 View ignores precision for CAST() 2007-05-10 00:17:21 +05:00
item_func.cc Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt 2008-01-17 18:15:53 +01:00
item_func.h Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
item_geofunc.cc Merge mysql.com:/home/hf/work/31158/my41-31158 2007-11-17 16:48:57 +04:00
item_geofunc.h Bug #31155 gis types in union'd select cause crash. 2007-10-04 12:01:28 +05:00
item_row.cc Many files: 2006-12-23 20:17:15 +01:00
item_row.h Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-22 14:04:40 +02:00
item_strfunc.cc Bug#30981 CHAR(0x41 USING ucs2) doesn't add leading zero 2007-10-11 16:07:10 +05:00
item_strfunc.h Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0 2007-12-04 20:58:21 -07:00
item_subselect.cc Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-11-19 21:15:53 +00:00
item_subselect.h Bug #31884: Assertion + crash in subquery in the SELECT clause. 2007-10-30 14:27:21 +02:00
item_sum.cc Bug #33256: CREATE ... SELECT creates obsolete table 2007-12-21 12:44:24 +02:00
item_sum.h Bug#32798: DISTINCT in GROUP_CONCAT clause fails when ordering by a column 2007-12-14 12:24:20 +01:00
item_timefunc.cc Bug #33256: CREATE ... SELECT creates obsolete table 2007-12-21 12:44:24 +02:00
item_timefunc.h Bug #33256: CREATE ... SELECT creates obsolete table 2007-12-21 12:44:24 +02:00
item_uniq.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_uniq.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
key.cc Fixed bug #32556: assert in "using index for group-by" : 2007-11-21 22:56:42 +04:00
lex.h Fix -ansi -pedantic warning (can't cast a pointer to function 2007-03-08 12:04:45 +03:00
lex_symbol.h Fix -ansi -pedantic warning (can't cast a pointer to function 2007-03-08 12:04:45 +03:00
lock.cc Bug#25164 create table a as select * from A hangs 2007-08-27 10:13:54 -03:00
log.cc Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 2008-01-31 16:15:46 +01:00
log_event.cc BUG#26395: if crash during autocommit update to transactional table on master, slave fails 2007-12-21 20:30:23 +01:00
log_event.h Bug #27571 asynchronousity in setting mysql_query::error and 2007-10-29 15:20:59 +02:00
Makefile.am Bug#29414 HPUX build fails - 'noinst_HEADERS' does not exist 2007-06-28 11:13:18 +02:00
matherr.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
message.mc make dist changes for Cmake build 2006-09-01 10:32:12 +02:00
mf_iocache.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_decimal.cc Bug#31227: memory overrun with decimal (6,6) and zerofill and group_concat 2007-10-05 09:38:57 +02:00
my_decimal.h Merge bk-internal.mysql.com:/data0/bk/mysql-5.0 2007-05-28 00:05:38 +02:00
my_lock.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql_priv.h Bug#31177: Server variables can't be set to their current values 2007-11-30 06:32:04 +01:00
mysqld.cc Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-12-14 06:53:55 +01:00
mysqld_suffix.h Many files: 2006-12-23 20:17:15 +01:00
net_serv.cc Merge mysql.com:/home/hf/work/29117/my41-29117 2007-06-19 12:31:37 +05:00
nt_servc.cc
nt_servc.h
opt_range.cc Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
opt_range.h Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-22 14:04:40 +02:00
opt_sum.cc Bug #30715: Assertion failed: item_field->field->real_maybe_null(), 2007-10-24 11:15:08 +03:00
parse_file.cc Polishing: add comments. 2007-04-06 18:56:39 +04:00
parse_file.h Many files: 2006-12-23 20:17:15 +01:00
password.c Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-22 14:04:40 +02:00
procedure.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
procedure.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
protocol.cc Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-12-01 13:09:16 +01:00
protocol.h Backport of TIME->MYSQL_TIME / Y2K fixset 2007-05-16 10:44:59 +02:00
records.cc Fix for bug #31207: Test "join_nested" shows different strategy on IA64 2007-10-17 20:08:58 +04:00
repl_failsafe.cc Merge mysql.com:/misc/mysql/31752_/41-31752_ 2007-11-26 09:00:41 +01:00
repl_failsafe.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
set_var.cc Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 2008-01-31 16:15:46 +01:00
set_var.h Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
slave.cc Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl 2008-02-14 13:55:11 +02:00
slave.h Bug #34305 show slave status handling segfaults when slave io is about 2008-02-05 17:36:26 +02:00
sp.cc Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-12-17 09:45:36 +01:00
sp.h Many files: 2006-12-23 20:17:15 +01:00
sp_cache.cc Many files: 2006-12-23 20:17:15 +01:00
sp_cache.h Many files: 2006-12-23 20:17:15 +01:00
sp_head.cc Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2008-01-23 14:04:46 -07:00
sp_head.h Bug#33618 (Crash in sp_rcontext) 2008-01-23 13:26:41 -07:00
sp_pcontext.cc Bug#26503 (Illegal SQL exception handler code causes the server to crash) 2007-03-14 12:02:32 -06:00
sp_pcontext.h Bug#26503 (Illegal SQL exception handler code causes the server to crash) 2007-03-14 12:02:32 -06:00
sp_rcontext.cc Bug#33618 (Crash in sp_rcontext) 2008-01-23 13:26:41 -07:00
sp_rcontext.h Bug#33618 (Crash in sp_rcontext) 2008-01-23 13:26:41 -07:00
spatial.cc Bug #29166: 2007-07-05 18:24:48 +03:00
spatial.h Bug #24563: MBROverlaps does not seem to function propertly. 2007-03-23 16:28:07 -06:00
sql_acl.cc Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl 2008-01-30 11:25:54 +01:00
sql_acl.h Bug #30468: column level privileges not respected when joining tables 2007-09-27 12:15:19 +03:00
sql_analyse.cc Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint 2007-02-06 17:18:43 +04:00
sql_analyse.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_array.h Fix for bug #31207: Test "join_nested" shows different strategy on IA64 2007-10-17 20:08:58 +04:00
sql_base.cc Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2008-01-09 16:52:11 +02:00
sql_bitmap.h Many files: 2006-12-23 20:17:15 +01:00
sql_cache.cc Bug #30768 query cache patch for bug #21074 crashes on windows 2007-10-01 12:44:29 +02:00
sql_cache.h Bug #30269 Query cache eats memory 2007-08-17 16:55:20 +02:00
sql_class.cc BUG#33029 5.0 to 5.1 replication fails on dup key when inserting 2008-03-14 10:03:01 +08:00
sql_class.h Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt 2007-12-15 12:07:33 +01:00
sql_client.cc Bug#26664 test suite times out on OS X 64bit 2007-05-24 11:21:27 +02:00
sql_crypt.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_crypt.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_cursor.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_cursor.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_db.cc A fix and a teset case for Bug#28551 The warning 2007-07-05 02:20:32 +04:00
sql_delete.cc Bug #32790 crash in trigger.test with InnoDB for a table 2008-02-04 16:35:41 +02:00
sql_derived.cc - renaming TMP_TABLE to NON_TRANSACTIONAL_TMP_TABLE because this is 2007-03-22 15:07:32 +01:00
sql_do.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_error.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2007-06-20 12:46:15 +04:00
sql_error.h BUG#26976 - Missing table in merge not noted in related error msg + 2007-06-06 04:42:41 +05:00
sql_handler.cc Bug#31409 RENAME TABLE causes server crash or deadlock when used with HANDLER statements 2007-10-12 10:55:46 -03:00
sql_help.cc Fix for bug #31207: Test "join_nested" shows different strategy on IA64 2007-10-17 20:08:58 +04:00
sql_insert.cc Bug#29477: Not all fields of the target table were checked to have a default 2008-01-11 20:10:54 +03:00
sql_lex.cc Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base 2007-08-30 17:23:40 -06:00
sql_lex.h Bug #31153 calling stored procedure crashes server if available memory is low 2007-11-19 17:59:44 +01:00
sql_list.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_list.h Merge of BUG#26624 and BUG#26625 2007-03-29 10:35:28 +04:00
sql_load.cc Bug #27571 asynchronousity in setting mysql_query::error and 2007-10-29 15:20:59 +02:00
sql_locale.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
sql_manager.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_manager.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_map.cc type conversions fixed to avoid warnings on Windows 2007-10-23 14:27:11 +05:00
sql_map.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_olap.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_parse.cc Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl 2008-01-30 11:25:54 +01:00
sql_prepare.cc Bug #31153 calling stored procedure crashes server if available memory is low 2007-11-19 17:59:44 +01:00
sql_rename.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_repl.cc Fixes to make code compile on Windows. 2008-01-31 07:19:29 +01:00
sql_repl.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_select.cc BUG#33794 "MySQL crashes executing specific query": 2008-01-18 22:50:36 +03:00
sql_select.h Bug #31928: Search fails on '1000-00-00' date after sql_mode change 2007-11-07 18:02:12 +02:00
sql_show.cc Bug#31752: check strmake() bounds 2007-12-06 11:48:27 +01:00
sql_sort.h Fixed bug #25798. 2007-07-01 15:33:28 -07:00
sql_state.c Many files: 2006-12-23 20:17:15 +01:00
sql_string.cc Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl 2007-12-19 14:49:04 +01:00
sql_string.h Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-22 14:04:40 +02:00
sql_table.cc Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
sql_test.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_trigger.cc Fixed whitespace 2007-09-04 16:40:27 -06:00
sql_trigger.h A fix and a test case for Bug#26141 mixing table types in trigger 2007-07-12 22:26:41 +04:00
sql_udf.cc Merge polly.(none):/home/kaa/src/opt/bug32020/my50-bug31445 2007-11-09 13:41:50 +03:00
sql_udf.h Remove typedef st_table_list TABLE_LIST and always use name 'TABLE_LIST'. 2007-07-06 16:18:49 +04:00
sql_union.cc Post-merge fixes 2007-07-31 16:15:56 +04:00
sql_update.cc bug#33329 extraneous ROLLBACK in binlog on connection does not use trans tables 2008-02-14 16:28:32 +02:00
sql_view.cc Bug#30998 Drop View breaks replication if view does not exist 2007-12-03 13:11:40 +08:00
sql_view.h Many files: 2006-12-23 20:17:15 +01:00
sql_yacc.yy Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2008-01-23 14:04:46 -07:00
stacktrace.c Bug #29543 GCov information not written in case of crash. 2007-07-07 07:46:17 +02:00
stacktrace.h Many files: 2006-12-23 20:17:15 +01:00
strfunc.cc Fixed compiler warnings. 2007-03-22 20:32:07 +02:00
structs.h Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0, 2007-10-26 15:37:38 +05:00
table.cc Bug #30825: Problems when putting a non-spatial index on a GIS column 2007-10-10 16:26:02 +03:00
table.h Bug #28702: VIEWs defined with USE/FORCE KEY ignore that request 2007-09-24 15:34:10 +03:00
thr_malloc.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
time.cc Bug #29536: timestamp inconsistent in replication around 1970 2007-08-06 04:57:28 -07:00
tzfile.h Many files: 2006-12-23 20:17:15 +01:00
tztime.cc Backport of TIME->MYSQL_TIME / Y2K fixset 2007-05-16 10:44:59 +02:00
tztime.h Backport of TIME->MYSQL_TIME / Y2K fixset 2007-05-16 10:44:59 +02:00
udf_example.c Bug #30355: Incorrect ordering of UDF results 2007-11-27 17:16:52 +02:00
udf_example.def Bug #29804 UDF parameters don't contain correct string length 2007-10-17 17:54:11 -04:00
uniques.cc Fixed bug #25798. 2007-07-01 15:33:28 -07:00
unireg.cc Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-12-17 09:45:36 +01:00
unireg.h Fixed bug #27352. 2007-08-03 01:58:21 +05:00
watchdog_mysqld