mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
18dab9d7d8
Bug #18453 Warning/error message if there is a mismatch between ... There were three problems: 1. the reported lack of warnings for the BEFORE syntax of PURGE; 2. the similar lack of warnings for the TO syntax; 3. incompatible behaviour between the two in that the latter blanked out regardlessly of presence or lack the actual file corresponding to an index record; the former version gave up at the first mismatch. fixed with deploying the warning's generation and synronizing logics of purge_logs() and purge_logs_before_date(). my_stat() is called in either of two branches of purge_logs() (responsible for the TO syntax of PURGE) similarly to how it has behaved in the BEFORE syntax. If there is no actual binlog file, my_stat returns NULL and my_delete is not invoked. A critical error is reported to the user if a file from the index could not be retrieved info about or deleted with a system error code different than ENOENT.
39 lines
1.1 KiB
Text
39 lines
1.1 KiB
Text
flush logs;
|
|
flush logs;
|
|
flush logs;
|
|
show binary logs;
|
|
Log_name File_size
|
|
master-bin.000001 #
|
|
master-bin.000002 #
|
|
master-bin.000003 #
|
|
master-bin.000004 #
|
|
purge binary logs TO 'master-bin.000004';
|
|
Warnings:
|
|
Warning 1476 Being purged log MYSQLTEST_VARDIR/log/master-bin.000001 was not found
|
|
*** must show a list starting from the 'TO' argument of PURGE ***
|
|
show binary logs;
|
|
Log_name File_size
|
|
master-bin.000004 #
|
|
reset master;
|
|
flush logs;
|
|
flush logs;
|
|
flush logs;
|
|
*** must be a warning master-bin.000001 was not found ***
|
|
Warnings:
|
|
Warning 1476 Being purged log MYSQLTEST_VARDIR/log/master-bin.000001 was not found
|
|
*** must show one record, of the active binlog, left in the index file after PURGE ***
|
|
show binary logs;
|
|
Log_name File_size
|
|
master-bin.000004 #
|
|
reset master;
|
|
flush logs;
|
|
flush logs;
|
|
flush logs;
|
|
purge binary logs TO 'master-bin.000002';
|
|
ERROR HY000: Fatal error during log purge
|
|
show warnings;
|
|
Level Code Message
|
|
Error 1377 a problem with deleting MYSQLTEST_VARDIR/log/master-bin.000001; consider examining correspondence of your binlog index file to the actual binlog files
|
|
Error 1377 Fatal error during log purge
|
|
reset master;
|
|
End of tests
|