mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
4a1d076342
CHECK TABLE did temporarily clear the auto_increment value. It runs with a read lock, allowing other readers and conurrent INSERTs. The latter could grab the wrong value in this moment. CHECK TABLE does no longer modify the auto_increment value. Not even for a short moment. myisam/mi_check.c: Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment In chk_key() and update_auto_increment_key() in the repair_only case, do not touch info->s->state.auto_increment. Especially chk_key() can be called from CHECK TABLE with a read lock. Concurrent inserts could grab a temporarily changed value. Added minor style fixes. myisam/mi_key.c: Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment Changed update_auto_increment() to retrieve_auto_increment() to reflect that it does not change the auto_increment by itself any more. This must now be done externally if needed. myisam/mi_update.c: Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment Added explicit update of info->s->state.auto_increment after the change from update_auto_increment() to retrieve_auto_increment(). myisam/mi_write.c: Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment Added explicit update of info->s->state.auto_increment after the change from update_auto_increment() to retrieve_auto_increment(). myisam/myisamdef.h: Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment Changed update_auto_increment() to retrieve_auto_increment() to reflect that it does not change the auto_increment by itself any more. This must now be done externally if needed. |
||
---|---|---|
.. | ||
ftbench | ||
.cvsignore | ||
ChangeLog | ||
ft_boolean_search.c | ||
ft_eval.c | ||
ft_eval.h | ||
ft_nlq_search.c | ||
ft_parser.c | ||
ft_static.c | ||
ft_stem.c | ||
ft_stopwords.c | ||
ft_test1.c | ||
ft_test1.h | ||
ft_update.c | ||
ftdefs.h | ||
fulltext.h | ||
make-ccc | ||
Makefile.am | ||
mi_cache.c | ||
mi_changed.c | ||
mi_check.c | ||
mi_checksum.c | ||
mi_close.c | ||
mi_create.c | ||
mi_dbug.c | ||
mi_delete.c | ||
mi_delete_all.c | ||
mi_delete_table.c | ||
mi_dynrec.c | ||
mi_extra.c | ||
mi_info.c | ||
mi_key.c | ||
mi_keycache.c | ||
mi_locking.c | ||
mi_log.c | ||
mi_open.c | ||
mi_packrec.c | ||
mi_page.c | ||
mi_panic.c | ||
mi_preload.c | ||
mi_range.c | ||
mi_rename.c | ||
mi_rfirst.c | ||
mi_rkey.c | ||
mi_rlast.c | ||
mi_rnext.c | ||
mi_rnext_same.c | ||
mi_rprev.c | ||
mi_rrnd.c | ||
mi_rsame.c | ||
mi_rsamepos.c | ||
mi_scan.c | ||
mi_search.c | ||
mi_static.c | ||
mi_statrec.c | ||
mi_test1.c | ||
mi_test2.c | ||
mi_test3.c | ||
mi_test_all.res | ||
mi_test_all.sh | ||
mi_unique.c | ||
mi_update.c | ||
mi_write.c | ||
myisam_ftdump.c | ||
myisamchk.c | ||
myisamdef.h | ||
myisamlog.c | ||
myisampack.c | ||
NEWS | ||
rt_index.c | ||
rt_index.h | ||
rt_key.c | ||
rt_key.h | ||
rt_mbr.c | ||
rt_mbr.h | ||
rt_split.c | ||
rt_test.c | ||
sort.c | ||
sp_defs.h | ||
sp_key.c | ||
sp_test.c | ||
test_pack | ||
TODO |