mariadb/storage/maria
Monty 403dacf6a9 Fixed crash in aria recovery when using bulk insert
MDEV-20578 Got error 126 when executing undo undo_key_delete
upon Aria crash recovery

The crash happens in this scenario:
- Table with unique keys and non unique keys
- Batch insert (LOAD DATA or INSERT ... SELECT) with REPLACE
- Some insert succeeds followed by duplicate key error

In the above scenario the table gets corrupted.

The bug was that we don't generate any undo entry for the
failed insert as the whole insert can be ignored by undo.
The code did however not take into account that when bulk
insert is used, we would write cached keys to the file on
failure and undo would wrongly ignore these.

Fixed by moving the writing of the cache keys after we write
the aborted-insert event to the log.
2020-05-26 20:05:17 +03:00
..
unittest
CMakeLists.txt
file_formats.txt
ft_maria.c
ha_maria.cc Merge 10.1 into 10.2 2020-04-27 13:28:13 +03:00
ha_maria.h
lockman.c
lockman.h
ma_bitmap.c Fixed assert in Aria on SHOW PROCEDURE STATUS 2020-05-19 03:42:54 +03:00
ma_blockrec.c
ma_blockrec.h
ma_cache.c
ma_changed.c
ma_check.c
ma_check_standalone.h
ma_checkpoint.c
ma_checkpoint.h
ma_checksum.c
ma_close.c Fixed memory leak with fulltext indexes 2020-04-18 11:51:42 +03:00
ma_commit.c
ma_commit.h
ma_control_file.c
ma_control_file.h
ma_create.c
ma_crypt.c
ma_crypt.h
ma_dbug.c
ma_delete.c
ma_delete_all.c
ma_delete_table.c
ma_dynrec.c
ma_extra.c
ma_ft_boolean_search.c
ma_ft_eval.c
ma_ft_eval.h
ma_ft_nlq_search.c
ma_ft_parser.c
ma_ft_stem.c
ma_ft_test1.c
ma_ft_test1.h
ma_ft_update.c
ma_ftdefs.h
ma_fulltext.h
ma_info.c
ma_init.c
ma_key.c
ma_key_recover.c
ma_key_recover.h
ma_keycache.c
ma_locking.c
ma_loghandler.c MDEV-21981 Replace arithmetic + with bitwise OR when possible 2020-03-19 15:09:13 +02:00
ma_loghandler.h
ma_loghandler_lsn.h
ma_norec.c
ma_open.c
ma_packrec.c MDEV-21981 Replace arithmetic + with bitwise OR when possible 2020-03-19 15:09:13 +02:00
ma_page.c Fix clang 10 warnings 2020-04-27 09:40:34 +03:00
ma_pagecache.c
ma_pagecache.h
ma_pagecaches.c
ma_pagecrc.c Fix GCC 10 -Woverflow 2020-04-17 12:02:22 +03:00
ma_panic.c
ma_preload.c
ma_range.c
ma_recovery.c Fixed crash in aria recovery when using bulk insert 2020-05-26 20:05:17 +03:00
ma_recovery.h
ma_recovery_util.c
ma_recovery_util.h
ma_rename.c
ma_rfirst.c
ma_rkey.c
ma_rlast.c
ma_rnext.c
ma_rnext_same.c
ma_rprev.c
ma_rrnd.c
ma_rsame.c
ma_rsamepos.c
ma_rt_index.c
ma_rt_index.h
ma_rt_key.c
ma_rt_key.h
ma_rt_mbr.c
ma_rt_mbr.h
ma_rt_split.c
ma_rt_test.c
ma_scan.c
ma_search.c
ma_servicethread.c
ma_servicethread.h
ma_sort.c
ma_sp_defs.h
ma_sp_key.c
ma_sp_test.c
ma_state.c
ma_state.h
ma_static.c
ma_statrec.c
ma_test1.c
ma_test2.c
ma_test3.c
ma_test_all.res
ma_test_all.sh
ma_test_big.sh
ma_test_force_start.pl
ma_test_recovery
ma_trnman.h
ma_unique.c
ma_update.c
ma_write.c Fixed crash in aria recovery when using bulk insert 2020-05-26 20:05:17 +03:00
maria_chk.c
maria_def.h
maria_dump_log.c
maria_ftdump.c
maria_pack.c MDEV-14183: aria_pack segfaults in compress_maria_file 2020-01-21 17:06:31 +03:00
maria_read_log.c
maria_rename.sh
tablockman.c
tablockman.h
test_pack
trnman.c
trnman.h
trnman_public.h