Commit 7f650d4b authored by unknown's avatar unknown

MWL#116: After-review fixes.

Also implement the InnoDB changes for group commit into innodb_plugin.
parent e3affa2a
--source include/have_log_bin.inc
--source include/have_binlog_format_mixed_or_statement.inc
--source include/have_innodb.inc
--source include/have_innodb_plugin.inc
RESET MASTER;
......
--source include/have_debug_sync.inc
--source include/have_innodb.inc
--source include/have_innodb_plugin.inc
--source include/have_log_bin.inc
# Test some group commit code paths by using debug_sync to do controlled
......
--source include/have_debug_sync.inc
--source include/have_innodb.inc
--source include/have_innodb_plugin.inc
--source include/have_log_bin.inc
--source include/have_binlog_format_mixed_or_statement.inc
......
--source include/have_debug_sync.inc
--source include/have_innodb.inc
--source include/have_innodb_plugin.inc
--source include/have_log_bin.inc
--source include/have_binlog_format_mixed_or_statement.inc
......
......@@ -6,7 +6,7 @@
# Binary must be compiled with debug for crash to occur
--source include/have_debug.inc
--source include/have_innodb.inc
--source include/have_innodb_plugin.inc
--source include/have_log_bin.inc
let $file_format_check=`SELECT @@innodb_file_format_check`;
......
......@@ -6,7 +6,7 @@
# Binary must be compiled with debug for crash to occur
--source include/have_debug.inc
--source include/have_innodb.inc
--source include/have_innodb_plugin.inc
--source include/have_log_bin.inc
let $file_format_check=`SELECT @@innodb_file_format_check`;
......
--source include/have_debug_sync.inc
--source include/have_innodb.inc
--source include/have_innodb_plugin.inc
--source include/have_log_bin.inc
# Test some group commit code paths by using debug_sync to do controlled
......
This diff is collapsed.
......@@ -238,16 +238,6 @@ LEX_STRING *thd_query_string(MYSQL_THD thd);
char **thd_query(MYSQL_THD thd);
#endif
/** Get the file name of the MySQL binlog.
* @return the name of the binlog file
*/
const char* mysql_bin_log_file_name(void);
/** Get the current position of the MySQL binlog.
* @return byte offset from the beginning of the binlog
*/
ulonglong mysql_bin_log_file_pos(void);
/**
Check if a user thread is a replication slave thread
@param thd user thread
......@@ -288,6 +278,11 @@ bool thd_binlog_filter_ok(const MYSQL_THD thd);
#endif /* MYSQL_VERSION_ID > 50140 */
}
/** Get the file name and position of the MySQL binlog corresponding to the
* current commit.
*/
extern void mysql_bin_log_commit_pos(THD *thd, ulonglong *out_pos, const char **out_file);
typedef struct trx_struct trx_t;
/********************************************************************//**
@file handler/ha_innodb.h
......
......@@ -510,9 +510,10 @@ struct trx_struct{
in that case we must flush the log
in trx_commit_complete_for_mysql() */
ulint duplicates; /*!< TRX_DUP_IGNORE | TRX_DUP_REPLACE */
ulint active_trans; /*!< 1 - if a transaction in MySQL
is active. 2 - if prepare_commit_mutex
was taken */
ulint active_flag; /*!< TRX_ACTIVE_IN_MYSQL - set if a
transaction in MySQL is active.
TRX_ACTIVE_COMMIT_ORDERED - set if
innobase_commit_ordered has run */
ulint has_search_latch;
/* TRUE if this trx has latched the
search system latch in S-mode */
......@@ -797,6 +798,10 @@ Multiple flags can be combined with bitwise OR. */
#define TRX_SIG_OTHER_SESS 1 /* sent by another session (which
must hold rights to this) */
/* Flag bits for trx_struct.active_flag */
#define TRX_ACTIVE_IN_MYSQL (1<<0)
#define TRX_ACTIVE_COMMIT_ORDERED (1<<1)
/** Commit node states */
enum commit_node_state {
COMMIT_NODE_SEND = 1, /*!< about to send a commit signal to
......
......@@ -119,7 +119,7 @@ trx_create(
trx->table_id = ut_dulint_zero;
trx->mysql_thd = NULL;
trx->active_trans = 0;
trx->active_flag = 0;
trx->duplicates = 0;
trx->n_mysql_tables_in_use = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment