mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
d6d63f4844
Make all system tables in mysql directory of type engine=Aria Privilege tables are using transactional=1 Statistical tables are using transactional=0, to allow them to be quickly updated with low overhead. Help tables are also using transactional=0 as these are only updated at init time. Other changes: - Aria store engine is now a required engine - Update comment for Aria tables to reflect their new usage - Fixed that _ma_reset_trn_for_table() removes unlocked table from transaction table list. This was needed to allow one to lock and unlock system tables separately from other tables, for example when reading a procedure from mysql.proc - Don't give a warning when using transactional=1 for engines that is using transactions. This is both logical and also to avoid warnings/errors when doing an alter of a privilege table to InnoDB. - Don't abort on warnings from ALTER TABLE for changes that would be accepted by CREATE TABLE. - New created Aria transactional tables are marked as not movable (as they include create_rename_lsn). - bootstrap.test was changed to kill orignal server, as one can't anymore have two servers started at same time on same data directory and data files. - Disable maria.small_blocksize as one can't anymore change aria block size after system tables are created. - Speed up creation of help tables by using lock tables. - wsrep_sst_resync now also copies Aria redo logs.
106 lines
3.2 KiB
PHP
106 lines
3.2 KiB
PHP
# Maria help script.
|
|
# Cleans up all logs to give recovery a fresh start.
|
|
#
|
|
# Note that this script relies on the number of threads connect at start of
|
|
# this script, so one should run this script with a freshly started server
|
|
# for it to work.
|
|
#
|
|
# API: set mel_keep_control_file=1 if want to keep control file;
|
|
# uses vardir, port and socket.
|
|
|
|
connection default;
|
|
let $default_db=`select database()`;
|
|
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
|
|
|
#it will used at end of test for wait_for_status_var.inc primitive
|
|
#let $status_var= Threads_connected;
|
|
#let $status_var_value= query_get_value(SHOW STATUS LIKE 'Threads_connected', Value, 1);
|
|
|
|
connection admin;
|
|
-- echo * shut down mysqld, removed logs, restarted it
|
|
append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
|
|
wait-maria_empty_logs.inc
|
|
EOF
|
|
|
|
--source include/mysqladmin_shutdown.inc
|
|
|
|
--disable_warnings
|
|
if (!$mel_keep_control_file)
|
|
{
|
|
--error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log_control;
|
|
}
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000001;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000002;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000003;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000004;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000005;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000006;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000007;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000008;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000009;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000010;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000011;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000012;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000013;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000014;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000015;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000016;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000017;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000018;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000019;
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/$MARIA_LOG/aria_log.00000020;
|
|
# hope there are not more than these logs...
|
|
|
|
-- error 0,1
|
|
remove_file $MYSQLD_DATADIR/aria_recovery.trace;
|
|
--enable_warnings
|
|
|
|
append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
|
|
restart-maria_empty_logs.inc
|
|
EOF
|
|
|
|
connection default;
|
|
--source include/wait_until_connected_again.inc
|
|
|
|
# Make sure that all connections are restored
|
|
# This is disabled as 'Threads_connected' can't be trusted'
|
|
# (It may be affected by 'check_testcase()')
|
|
# --source include/wait_for_status_var.inc
|
|
# Restore current database as the effect of "use" was lost after restart
|
|
|
|
--disable_query_log
|
|
eval use $default_db;
|
|
--enable_query_log
|
|
|
|
#
|
|
# Ensure that we don't get warnings from mysql.priv (used by check_mysqld)
|
|
# or test running after this one.
|
|
#
|
|
--disable_query_log
|
|
--disable_warnings
|
|
--disable_result_log
|
|
show table status from mysql;
|
|
--enable_result_log
|
|
--enable_warnings
|
|
--enable_query_log
|