diff --git a/sql/log.cc b/sql/log.cc index db592649d134d5d769dfdb8599d1c61725ce1e7e..e69c0af15bdbe03866955abe5872d1df9e9f582f 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -2370,7 +2370,7 @@ void sql_print_information(const char *format, ...) DBUG_VOID_RETURN; } -#ifdef HAVE_MMAP + /********* transaction coordinator log for 2pc - mmap() based solution *******/ /* @@ -2408,13 +2408,17 @@ void sql_print_information(const char *format, ...) new xid is added into it. Removing a xid from a page does not make it dirty - we don't sync removals to disk. */ + +ulong tc_log_page_waits= 0; + +#ifdef HAVE_MMAP + #define TC_LOG_HEADER_SIZE (sizeof(tc_log_magic)+1) static const char tc_log_magic[]={(char) 254, 0x23, 0x05, 0x74}; ulong opt_tc_log_size= TC_LOG_MIN_SIZE; -ulong tc_log_max_pages_used=0, tc_log_page_size=0, - tc_log_page_waits=0, tc_log_cur_pages_used=0; +ulong tc_log_max_pages_used=0, tc_log_page_size=0, tc_log_cur_pages_used=0; int TC_LOG_MMAP::open(const char *opt_name) { diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index cf60a33e70d6532cfd0fedde8bb410b4c329f4b4..e8ec1b69959f6576188ba89c3552b937bd633c21 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -1083,6 +1083,8 @@ extern ulong rpl_recovery_rank, thread_cache_size; extern ulong back_log; extern ulong specialflag, current_pid; extern ulong expire_logs_days, sync_binlog_period, sync_binlog_counter; +extern ulong opt_tc_log_size, tc_log_max_pages_used, tc_log_page_size; +extern ulong tc_log_page_waits; extern my_bool relay_log_purge, opt_innodb_safe_binlog, opt_innodb; extern uint test_flags,select_errors,ha_open_options; extern uint protocol_version, mysqld_port, dropping_tables; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index a0c35b58a4dcce5c7af0c4f65f95aaec5d7b77d8..aeea9c1e88a2e6d39b0afb2e1c3e12b85092c267 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4671,9 +4671,11 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite, "more than one storage engine, when binary log is disabled)", (gptr*) &opt_tc_log_file, (gptr*) &opt_tc_log_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, +#ifdef HAVE_MMAP {"log-tc-size", OPT_LOG_TC_SIZE, "Size of transaction coordinator log.", (gptr*) &opt_tc_log_size, (gptr*) &opt_tc_log_size, 0, GET_ULONG, REQUIRED_ARG, TC_LOG_MIN_SIZE, TC_LOG_MIN_SIZE, ~0L, 0, TC_LOG_PAGE_SIZE, 0}, +#endif {"log-update", OPT_UPDATE_LOG, "The update log is deprecated since version 5.0, is replaced by the binary \ log and this option justs turns on --log-bin instead.", @@ -5815,9 +5817,11 @@ struct show_var_st status_vars[]= { #endif /* HAVE_OPENSSL */ {"Table_locks_immediate", (char*) &locks_immediate, SHOW_LONG}, {"Table_locks_waited", (char*) &locks_waited, SHOW_LONG}, +#ifdef HAVE_MMAP {"Tc_log_max_pages_used", (char*) &tc_log_max_pages_used, SHOW_LONG}, {"Tc_log_page_size", (char*) &tc_log_page_size, SHOW_LONG}, {"Tc_log_page_waits", (char*) &tc_log_page_waits, SHOW_LONG}, +#endif {"Threads_cached", (char*) &cached_thread_count, SHOW_LONG_CONST}, {"Threads_connected", (char*) &thread_count, SHOW_INT_CONST}, {"Threads_created", (char*) &thread_created, SHOW_LONG_CONST}, diff --git a/sql/sql_class.h b/sql/sql_class.h index a042ce58d27174cc5a8d3344311265629ad37d08..b01567a671fc7fca4e5e990d822d13c4bfcb3bb9 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -45,10 +45,6 @@ extern const char **errmesg; #define TC_LOG_PAGE_SIZE 8192 #define TC_LOG_MIN_SIZE (3*TC_LOG_PAGE_SIZE) -extern ulong opt_tc_log_size; -extern ulong tc_log_max_pages_used; -extern ulong tc_log_page_size; -extern ulong tc_log_page_waits; #define TC_HEURISTIC_RECOVER_COMMIT 1 #define TC_HEURISTIC_RECOVER_ROLLBACK 2