mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch '10.5' into '10.6'
This commit is contained in:
@@ -3,8 +3,11 @@ connection node_1;
|
||||
CREATE TABLE t1(id int not null primary key, b int) engine=InnoDB;
|
||||
INSERT INTO t1 VALUES (0,0),(1,1),(2,2),(3,3);
|
||||
BEGIN;
|
||||
SET DEBUG_SYNC = 'wsrep_after_statement_enter SIGNAL blocked';
|
||||
UPDATE t1 set b = 100 where id between 1 and 2;;
|
||||
connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR blocked';
|
||||
SET DEBUG_SYNC = 'wsrep_after_statement_enter CLEAR';
|
||||
connection node_1b;
|
||||
SET @save_dbug = @@SESSION.debug_dbug;
|
||||
SET @@SESSION.innodb_lock_wait_timeout=2;
|
||||
@@ -20,5 +23,6 @@ id b
|
||||
1 100
|
||||
2 100
|
||||
3 3
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
disconnect node_1b;
|
||||
DROP TABLE t1;
|
||||
|
@@ -6,9 +6,14 @@ CREATE TABLE t1(id int not null primary key, b int) engine=InnoDB;
|
||||
INSERT INTO t1 VALUES (0,0),(1,1),(2,2),(3,3);
|
||||
|
||||
BEGIN;
|
||||
SET DEBUG_SYNC = 'wsrep_after_statement_enter SIGNAL blocked';
|
||||
--send UPDATE t1 set b = 100 where id between 1 and 2;
|
||||
|
||||
--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
|
||||
SET DEBUG_SYNC = 'now WAIT_FOR blocked';
|
||||
SET DEBUG_SYNC = 'wsrep_after_statement_enter CLEAR';
|
||||
|
||||
--connection node_1b
|
||||
SET @save_dbug = @@SESSION.debug_dbug;
|
||||
SET @@SESSION.innodb_lock_wait_timeout=2;
|
||||
@@ -21,5 +26,6 @@ SET @@SESSION.debug_dbug = @save_dbug;
|
||||
--reap
|
||||
COMMIT;
|
||||
SELECT * FROM t1;
|
||||
SET DEBUG_SYNC = 'RESET';
|
||||
--disconnect node_1b
|
||||
DROP TABLE t1;
|
||||
|
@@ -26,7 +26,6 @@
|
||||
--source include/have_debug_sync.inc
|
||||
--source include/galera_have_debug_sync.inc
|
||||
|
||||
|
||||
# Setup
|
||||
|
||||
CREATE TABLE t1 (f1 VARCHAR(32) NOT NULL) ENGINE=InnoDB;
|
||||
@@ -99,7 +98,6 @@ COMMIT;
|
||||
--source include/galera_signal_sync_point.inc
|
||||
--source include/galera_clear_sync_point.inc
|
||||
|
||||
|
||||
--echo ***************************************************************
|
||||
--echo scenario 2, conflicting DELETE
|
||||
--echo ***************************************************************
|
||||
|
@@ -4,7 +4,6 @@
|
||||
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/have_debug_sync.inc
|
||||
|
||||
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
@@ -44,7 +43,6 @@ SELECT WSREP_SYNC_WAIT_UPTO_GTID('1-1-1,1-1-2');
|
||||
--eval SELECT WSREP_SYNC_WAIT_UPTO_GTID('$wsrep_last_committed_gtid') AS WSREP_SYNC_WAIT_UPTO;
|
||||
--enable_query_log
|
||||
|
||||
|
||||
# Timeout if GTID is not received on time
|
||||
|
||||
--disable_query_log
|
||||
|
@@ -640,6 +640,9 @@ static uchar *read_buffpek_from_file(IO_CACHE *buffpek_pointers, uint count,
|
||||
}
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
|
||||
static char dbug_row_print_buf[4096];
|
||||
|
||||
/*
|
||||
Print table's current row into a buffer and return a pointer to it.
|
||||
|
||||
@@ -655,11 +658,9 @@ static uchar *read_buffpek_from_file(IO_CACHE *buffpek_pointers, uint count,
|
||||
const char* dbug_print_row(TABLE *table, const uchar *rec, bool print_names)
|
||||
{
|
||||
Field **pfield;
|
||||
const size_t alloc_size= 512;
|
||||
char *row_buff= (char *) alloc_root(&table->mem_root, alloc_size);
|
||||
char *row_buff_tmp= (char *) alloc_root(&table->mem_root, alloc_size);
|
||||
String tmp(row_buff_tmp, alloc_size, &my_charset_bin);
|
||||
String output(row_buff, alloc_size, &my_charset_bin);
|
||||
char row_buff_tmp[512];
|
||||
String tmp(row_buff_tmp, sizeof(row_buff_tmp), &my_charset_bin);
|
||||
String output(dbug_row_print_buf, sizeof(dbug_row_print_buf), &my_charset_bin);
|
||||
|
||||
auto move_back_lambda= [table, rec]() mutable {
|
||||
table->move_fields(table->field, table->record[0], rec);
|
||||
@@ -723,8 +724,10 @@ const char* dbug_print_row(TABLE *table, const uchar *rec, bool print_names)
|
||||
}
|
||||
}
|
||||
output.append(')');
|
||||
|
||||
return output.c_ptr_safe();
|
||||
if (output.c_ptr() == dbug_row_print_buf)
|
||||
return dbug_row_print_buf;
|
||||
else
|
||||
return "Couldn't fit into buffer";
|
||||
}
|
||||
|
||||
|
||||
|
@@ -682,6 +682,8 @@ int ha_initialize_handlerton(void *plugin_)
|
||||
|
||||
DBUG_EXECUTE_IF("unstable_db_type", {
|
||||
static int i= (int) DB_TYPE_FIRST_DYNAMIC;
|
||||
while (installed_htons[i])
|
||||
i++;
|
||||
hton->db_type= (enum legacy_db_type)++i;
|
||||
});
|
||||
|
||||
@@ -2292,7 +2294,7 @@ int ha_rollback_trans(THD *thd, bool all)
|
||||
"conf %d wsrep_err %s SQL %s",
|
||||
thd->thread_id, thd->query_id, thd->wsrep_trx().state(),
|
||||
wsrep::to_c_string(thd->wsrep_cs().current_error()),
|
||||
thd->query());
|
||||
wsrep_thd_query(thd));
|
||||
}
|
||||
#endif /* WITH_WSREP */
|
||||
}
|
||||
|
Reference in New Issue
Block a user