mariadb/mysql-test/suite/atomic
Monty e3cfb7c803 MDEV-23844 Atomic DROP TABLE (single table)
Logging logic:
- Log tables, just before they are dropped, to the ddl log
- After the last table for the statement is dropped, log an xid for the
  whole ddl log event

In case of crash:
- Remove first any active DROP TABLE events from the ddl log that matches
  xids found in binary log (this mean the drop was successful and was
  propery logged).
- Loop over all active DROP TABLE events
  - Ensure that the table is completely dropped
- Write a DROP TABLE entry to the binary log with the dropped tables.

Other things:
- Added code to ha_drop_table() to be able to tell the difference if
  a get_new_handler() failed because of out-of-memory or because the
  handler refused/was not able to create a a handler. This was needed
  to get sequences to work as sequences needs a share object to be passed
  to get_new_handler()
- TC_LOG_BINLOG::recover() was changed to always collect Xid's from the
  binary log and always call ddl_log_close_binlogged_events(). This was
  needed to be able to collect DROP TABLE events with embedded Xid's
  (used by ddl log).
- Added a new variable "$grep_script" to binlog filter to be able to find
  only rows that matches a regexp.
- Had to adjust some test that changed because drop statements are a bit
  larger in the binary log than before (as we have to store the xid)

Other things:
- MDEV-25588 Atomic DDL: Binlog query event written upon recovery is corrupt
  fixed (in the original commit).
2021-05-19 22:54:12 +02:00
..
drop_sequence.result MDEV-23844 Atomic DROP TABLE (single table) 2021-05-19 22:54:12 +02:00
drop_sequence.test MDEV-23844 Atomic DROP TABLE (single table) 2021-05-19 22:54:12 +02:00
drop_table.result MDEV-23844 Atomic DROP TABLE (single table) 2021-05-19 22:54:12 +02:00
drop_table.test MDEV-23844 Atomic DROP TABLE (single table) 2021-05-19 22:54:12 +02:00
drop_view.result MDEV-23844 Atomic DROP TABLE (single table) 2021-05-19 22:54:12 +02:00
drop_view.test MDEV-23844 Atomic DROP TABLE (single table) 2021-05-19 22:54:12 +02:00
rename_case.result MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_case.test MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_combinations.result MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_combinations.test MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_table.result MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_table.test MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_table_binlog.result MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_table_binlog.test MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_trigger.result MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_trigger.test MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_view.result MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_view.test MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_view2.result MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00
rename_view2.test MDEV-23842 Atomic RENAME TABLE 2021-05-19 22:54:12 +02:00