mariadb/sql
guilhem@gbichot3.local b3a03dada9 Fix for BUG#24432
"INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values".
When in an INSERT ON DUPLICATE KEY UPDATE, using
an autoincrement column, we inserted some autogenerated values and
also updated some rows, some autogenerated values were not used
(for example, even if 10 was the largest autoinc value in the table
at the start of the statement, 12 could be the first autogenerated
value inserted by the statement, instead of 11). One autogenerated
value was lost per updated row. Led to exhausting the range of the
autoincrement column faster.
Bug introduced by fix of BUG#20188; present since 5.0.24 and 5.1.12.
This bug breaks replication from a pre-5.0.24 master.
But the present bugfix, as it makes INSERT ON DUP KEY UPDATE
behave like pre-5.0.24, breaks replication from a [5.0.24,5.0.34]
master to a fixed (5.0.36) slave! To warn users against this when
they upgrade their slave, as agreed with the support team, we add
code for a fixed slave to detect that it is connected to a buggy
master in a situation (INSERT ON DUP KEY UPDATE into autoinc column)
likely to break replication, in which case it cannot replicate so
stops and prints a message to the slave's error log and to SHOW SLAVE
STATUS.
For 5.0.36->[5.0.24,5.0.34] replication we cannot warn as master
does not know the slave's version (but we always recommended to users
to have slave at least as new as master).
As agreed with support, I'll also ask for an alert to be put into
the MySQL Network Monitoring and Advisory Service.
2007-02-08 15:53:14 +01:00
..
examples my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
share Merge mysql.com:/d2/hf/clean/my50-clean 2006-12-31 12:39:20 +04:00
.cvsignore
add_errmsg
client_settings.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
CMakeLists.txt Merge mjorgensen@bk-internal.mysql.com:/home/bk/mysql-5.0-sage 2007-01-11 09:19:32 +01: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 my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
field.h Bug#14171: Wrong internal default value for a BINARY field. 2007-01-09 22:35:30 +03:00
field_conv.cc Many files: 2006-12-23 20:17:15 +01:00
filesort.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
frm_crypt.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
gen_lex_hash.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
gstream.cc Many files: 2006-12-23 20:17:15 +01:00
gstream.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_archive.cc Many files: 2006-12-23 20:17:15 +01:00
ha_archive.h Many files: 2006-12-23 20:17:15 +01:00
ha_berkeley.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_berkeley.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_blackhole.cc Many files: 2006-12-23 20:17:15 +01:00
ha_blackhole.h Many files: 2006-12-23 20:17:15 +01:00
ha_federated.cc Merge xiphis.org:/home/antony/work2/mysql-5.0-engines 2006-12-26 16:23:05 -08:00
ha_federated.h Many files: 2006-12-23 20:17:15 +01:00
ha_heap.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_heap.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_innodb.cc Many files: 2006-12-23 20:17:15 +01:00
ha_innodb.h Many files: 2006-12-23 20:17:15 +01:00
ha_myisam.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_myisam.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_myisammrg.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_myisammrg.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
ha_ndbcluster.cc Many files: 2006-12-23 20:17:15 +01:00
ha_ndbcluster.h Many files: 2006-12-23 20:17:15 +01:00
handler.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
handler.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01: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 my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item.cc Merge olga.mysql.com:/home/igor/mysql-4.1-opt 2007-01-10 08:55:55 -08:00
item.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_buff.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_cmpfunc.cc Merge olga.mysql.com:/home/igor/mysql-5.0-opt 2007-01-09 10:26:28 -08:00
item_cmpfunc.h Merge olga.mysql.com:/home/igor/mysql-5.0-opt 2007-01-09 10:26:28 -08:00
item_create.cc Many files: 2006-12-23 20:17:15 +01:00
item_create.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_func.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-12 21:59:17 +03:00
item_func.h Fixed bug#16861: User defined variable can have a wrong value if a tmp table was 2007-01-09 23:24:56 +03:00
item_geofunc.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_geofunc.h Many files: 2006-12-23 20:17:15 +01:00
item_row.cc Many files: 2006-12-23 20:17:15 +01:00
item_row.h Many files: 2006-12-23 20:17:15 +01:00
item_strfunc.cc Merge mysql.com:/d2/hf/clean/my50-clean 2006-12-31 12:39:20 +04:00
item_strfunc.h Many files: 2006-12-23 20:17:15 +01:00
item_subselect.cc Merge mysql.com:/d2/hf/common/my50-common 2007-01-03 11:13:01 +04:00
item_subselect.h Merge mysql.com:/d2/hf/common/my50-common 2007-01-03 11:13:01 +04:00
item_sum.cc Many files: 2006-12-23 20:17:15 +01:00
item_sum.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
item_timefunc.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
item_timefunc.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01: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 my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
lex.h Many files: 2006-12-23 20:17:15 +01:00
lex_symbol.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
lock.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
log.cc Many files: 2006-12-23 20:17:15 +01:00
log_event.cc Fix for BUG#24432 2007-02-08 15:53:14 +01:00
log_event.h Fix for BUG#24432 2007-02-08 15:53:14 +01:00
Makefile.am my_strtoll10-x86.s: 2006-12-31 01:02:27 +01: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 my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_decimal.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_lock.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql_priv.h Merge mysql_cab_desk.:C:/source/c++/mysql-5.0-rpl 2007-01-18 17:29:40 -05:00
mysqld.cc Merge mysql_cab_desk.:C:/source/c++/mysql-5.0-rpl 2007-01-18 17:29:40 -05:00
mysqld_suffix.h Many files: 2006-12-23 20:17:15 +01:00
net_serv.cc Many files: 2006-12-23 20:17:15 +01:00
nt_servc.cc
nt_servc.h
opt_range.cc Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 2006-12-31 01:04:07 +01:00
opt_range.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
opt_sum.cc Many files: 2006-12-23 20:17:15 +01:00
parse_file.cc Many files: 2006-12-23 20:17:15 +01:00
parse_file.h Many files: 2006-12-23 20:17:15 +01:00
password.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01: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 Many files: 2006-12-23 20:17:15 +01:00
protocol.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
records.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
repl_failsafe.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
repl_failsafe.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
set_var.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
set_var.h Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
slave.cc Fix for BUG#24432 2007-02-08 15:53:14 +01:00
slave.h Fix for BUG#24432 2007-02-08 15:53:14 +01:00
sp.cc Many files: 2006-12-23 20:17:15 +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 mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-17 19:30:05 +01:00
sp_head.h Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 21:59:28 +03:00
sp_pcontext.cc Many files: 2006-12-23 20:17:15 +01:00
sp_pcontext.h Many files: 2006-12-23 20:17:15 +01:00
sp_rcontext.cc Many files: 2006-12-23 20:17:15 +01:00
sp_rcontext.h Many files: 2006-12-23 20:17:15 +01:00
spatial.cc Many files: 2006-12-23 20:17:15 +01:00
spatial.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_acl.cc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-12 12:22:54 +01:00
sql_acl.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_analyse.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_analyse.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_array.h Many files: 2006-12-23 20:17:15 +01:00
sql_base.cc Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-01-11 19:13:04 +02:00
sql_bitmap.h Many files: 2006-12-23 20:17:15 +01:00
sql_cache.cc Many files: 2006-12-23 20:17:15 +01:00
sql_cache.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_class.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 21:59:28 +03:00
sql_class.h Manual merge. 2007-01-15 13:10:07 +03:00
sql_client.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01: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 Many files: 2006-12-23 20:17:15 +01:00
sql_delete.cc Many files: 2006-12-23 20:17:15 +01:00
sql_derived.cc Many files: 2006-12-23 20:17:15 +01:00
sql_do.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_error.cc Many files: 2006-12-23 20:17:15 +01:00
sql_error.h Many files: 2006-12-23 20:17:15 +01:00
sql_handler.cc Many files: 2006-12-23 20:17:15 +01:00
sql_help.cc Many files: 2006-12-23 20:17:15 +01:00
sql_insert.cc Fix for BUG#24432 2007-02-08 15:53:14 +01:00
sql_lex.cc Manual merge. 2007-01-15 13:10:07 +03:00
sql_lex.h Manual merge. 2007-01-15 13:10:07 +03:00
sql_list.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_list.h Manual merge. 2007-01-15 13:10:07 +03:00
sql_load.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01: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 my_strtoll10-x86.s: 2006-12-31 01:02:27 +01: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 mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl 2007-01-17 19:30:05 +01:00
sql_prepare.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 21:59:28 +03:00
sql_rename.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_repl.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_repl.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_select.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime 2007-01-15 13:48:07 +03:00
sql_select.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_show.cc Manual merge. 2007-01-15 13:10:07 +03:00
sql_sort.h Many files: 2006-12-23 20:17:15 +01:00
sql_state.c Many files: 2006-12-23 20:17:15 +01:00
sql_string.cc Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-11 21:59:28 +03:00
sql_string.h Many files: 2006-12-23 20:17:15 +01:00
sql_table.cc Manual merge. 2007-01-15 13:10:07 +03:00
sql_test.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_trigger.cc Many files: 2006-12-23 20:17:15 +01:00
sql_trigger.h Many files: 2006-12-23 20:17:15 +01:00
sql_udf.cc Merge bk-internal:/home/bk/mysql-5.0-opt 2007-01-03 18:29:39 +02:00
sql_udf.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_union.cc Many files: 2006-12-23 20:17:15 +01:00
sql_update.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_view.cc Many files: 2006-12-23 20:17:15 +01:00
sql_view.h Many files: 2006-12-23 20:17:15 +01:00
sql_yacc.yy Manual merge. 2007-01-15 13:10:07 +03:00
stacktrace.c Many files: 2006-12-23 20:17:15 +01:00
stacktrace.h Many files: 2006-12-23 20:17:15 +01:00
strfunc.cc Many files: 2006-12-23 20:17:15 +01:00
structs.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
table.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
table.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
thr_malloc.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
time.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
tzfile.h Many files: 2006-12-23 20:17:15 +01:00
tztime.cc Many files: 2006-12-23 20:17:15 +01:00
tztime.h Many files: 2006-12-23 20:17:15 +01:00
udf_example.c Many files: 2006-12-23 20:17:15 +01:00
udf_example.def Add the two new functions to udf_example.def so they will be exported by dll's 2006-11-16 16:19:29 +01:00
uniques.cc Many files: 2006-12-23 20:17:15 +01:00
unireg.cc my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
unireg.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
watchdog_mysqld