mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge 10.0 into 10.1
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
@rowlog_encrypt_1>@rowlog_encrypt_0;
|
@rowlog_encrypt_1>@rowlog_encrypt_0;
|
||||||
sort_balance @merge_encrypt_1>@merge_encrypt_0 @merge_decrypt_1>@merge_decrypt_0 @rowlog_encrypt_1>@rowlog_encrypt_0
|
sort_balance @merge_encrypt_1>@merge_encrypt_0 @merge_decrypt_1>@merge_decrypt_0 @rowlog_encrypt_1>@rowlog_encrypt_0
|
||||||
-0 0 0 0
|
-0 0 0 0
|
||||||
+0 1 1 1
|
+0 0 0 1
|
||||||
SET DEBUG_SYNC = 'now SIGNAL dml2_done';
|
SET DEBUG_SYNC = 'now SIGNAL dml2_done';
|
||||||
# session con1
|
# session con1
|
||||||
ERROR HY000: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
|
ERROR HY000: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
|
||||||
|
@@ -143,7 +143,8 @@ ROLLBACK;
|
|||||||
# session con1
|
# session con1
|
||||||
KILL QUERY @id;
|
KILL QUERY @id;
|
||||||
ERROR 70100: Query execution was interrupted
|
ERROR 70100: Query execution was interrupted
|
||||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt WAIT_FOR kill_done';
|
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt WAIT_FOR dml_done';
|
||||||
|
SET DEBUG_SYNC = 'row_log_table_apply2_before SIGNAL applied WAIT_FOR kill_done';
|
||||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||||
# session default
|
# session default
|
||||||
SET DEBUG_SYNC = 'now WAIT_FOR rebuilt';
|
SET DEBUG_SYNC = 'now WAIT_FOR rebuilt';
|
||||||
@@ -153,6 +154,10 @@ ddl_background_drop_indexes 0
|
|||||||
ddl_background_drop_tables 0
|
ddl_background_drop_tables 0
|
||||||
ddl_online_create_index 1
|
ddl_online_create_index 1
|
||||||
ddl_pending_alter_table 1
|
ddl_pending_alter_table 1
|
||||||
|
BEGIN;
|
||||||
|
INSERT INTO t1 VALUES(7,4,2);
|
||||||
|
ROLLBACK;
|
||||||
|
SET DEBUG_SYNC = 'now SIGNAL dml_done WAIT_FOR applied';
|
||||||
KILL QUERY @id;
|
KILL QUERY @id;
|
||||||
SET DEBUG_SYNC = 'now SIGNAL kill_done';
|
SET DEBUG_SYNC = 'now SIGNAL kill_done';
|
||||||
# session con1
|
# session con1
|
||||||
@@ -195,6 +200,7 @@ t1 CREATE TABLE `t1` (
|
|||||||
`c3` char(255) NOT NULL,
|
`c3` char(255) NOT NULL,
|
||||||
PRIMARY KEY (`c1`)
|
PRIMARY KEY (`c1`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
|
||||||
|
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt2 WAIT_FOR dml2_done';
|
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt2 WAIT_FOR dml2_done';
|
||||||
SET lock_wait_timeout = 10;
|
SET lock_wait_timeout = 10;
|
||||||
ALTER TABLE t1 ROW_FORMAT=COMPACT, ALGORITHM = INPLACE;
|
ALTER TABLE t1 ROW_FORMAT=COMPACT, ALGORITHM = INPLACE;
|
||||||
|
@@ -158,7 +158,8 @@ let $ID= `SELECT @id := CONNECTION_ID()`;
|
|||||||
--error ER_QUERY_INTERRUPTED
|
--error ER_QUERY_INTERRUPTED
|
||||||
KILL QUERY @id;
|
KILL QUERY @id;
|
||||||
|
|
||||||
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt WAIT_FOR kill_done';
|
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL rebuilt WAIT_FOR dml_done';
|
||||||
|
SET DEBUG_SYNC = 'row_log_table_apply2_before SIGNAL applied WAIT_FOR kill_done';
|
||||||
--send
|
--send
|
||||||
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||||
|
|
||||||
@@ -166,6 +167,10 @@ ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
|||||||
connection default;
|
connection default;
|
||||||
SET DEBUG_SYNC = 'now WAIT_FOR rebuilt';
|
SET DEBUG_SYNC = 'now WAIT_FOR rebuilt';
|
||||||
eval $innodb_metrics_select;
|
eval $innodb_metrics_select;
|
||||||
|
BEGIN;
|
||||||
|
INSERT INTO t1 VALUES(7,4,2);
|
||||||
|
ROLLBACK;
|
||||||
|
SET DEBUG_SYNC = 'now SIGNAL dml_done WAIT_FOR applied';
|
||||||
let $ignore= `SELECT @id := $ID`;
|
let $ignore= `SELECT @id := $ID`;
|
||||||
KILL QUERY @id;
|
KILL QUERY @id;
|
||||||
SET DEBUG_SYNC = 'now SIGNAL kill_done';
|
SET DEBUG_SYNC = 'now SIGNAL kill_done';
|
||||||
@@ -201,6 +206,7 @@ WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
|
|||||||
--echo # session con1
|
--echo # session con1
|
||||||
connection con1;
|
connection con1;
|
||||||
SHOW CREATE TABLE t1;
|
SHOW CREATE TABLE t1;
|
||||||
|
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
|
||||||
|
|
||||||
# Exceed the configured innodb_online_alter_log_max_size.
|
# Exceed the configured innodb_online_alter_log_max_size.
|
||||||
# The actual limit is a multiple of innodb_sort_buf_size,
|
# The actual limit is a multiple of innodb_sort_buf_size,
|
||||||
|
@@ -350,18 +350,9 @@ ADD_CUSTOM_TARGET(
|
|||||||
SET_TARGET_PROPERTIES(GenServerSource PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
SET_TARGET_PROPERTIES(GenServerSource PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||||
|
|
||||||
IF(WIN32 OR HAVE_DLOPEN AND NOT DISABLE_SHARED)
|
IF(WIN32 OR HAVE_DLOPEN AND NOT DISABLE_SHARED)
|
||||||
ADD_LIBRARY(udf_example MODULE udf_example.c)
|
ADD_LIBRARY(udf_example MODULE udf_example.c udf_example.def)
|
||||||
SET_TARGET_PROPERTIES(udf_example PROPERTIES PREFIX "")
|
SET_TARGET_PROPERTIES(udf_example PROPERTIES PREFIX "")
|
||||||
# udf_example depends on strings
|
TARGET_LINK_LIBRARIES(udf_example strings)
|
||||||
IF(WIN32)
|
|
||||||
IF(MSVC)
|
|
||||||
SET_TARGET_PROPERTIES(udf_example PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_SOURCE_DIR}/udf_example.def")
|
|
||||||
ENDIF()
|
|
||||||
TARGET_LINK_LIBRARIES(udf_example strings)
|
|
||||||
ELSE()
|
|
||||||
# udf_example is using safemutex exported by mysqld
|
|
||||||
TARGET_LINK_LIBRARIES(udf_example mysqld)
|
|
||||||
ENDIF()
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
FOREACH(tool glibtoolize libtoolize aclocal autoconf autoheader automake gtar
|
FOREACH(tool glibtoolize libtoolize aclocal autoconf autoheader automake gtar
|
||||||
|
@@ -1792,16 +1792,12 @@ PageConverter::update_records(
|
|||||||
|
|
||||||
m_rec_iter.open(block);
|
m_rec_iter.open(block);
|
||||||
|
|
||||||
|
if (!page_is_leaf(block->frame)) {
|
||||||
|
return DB_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
while (!m_rec_iter.end()) {
|
while (!m_rec_iter.end()) {
|
||||||
|
|
||||||
rec_t* rec = m_rec_iter.current();
|
rec_t* rec = m_rec_iter.current();
|
||||||
|
|
||||||
/* FIXME: Move out of the loop */
|
|
||||||
|
|
||||||
if (rec_get_status(rec) == REC_STATUS_NODE_PTR) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
ibool deleted = rec_get_deleted_flag(rec, comp);
|
ibool deleted = rec_get_deleted_flag(rec, comp);
|
||||||
|
|
||||||
/* For the clustered index we have to adjust the BLOB
|
/* For the clustered index we have to adjust the BLOB
|
||||||
|
@@ -293,6 +293,9 @@ link_directories(
|
|||||||
|
|
||||||
if(MRN_BUNDLED)
|
if(MRN_BUNDLED)
|
||||||
target_link_libraries(mroonga ${MRN_LIBRARIES})
|
target_link_libraries(mroonga ${MRN_LIBRARIES})
|
||||||
|
if(NOT TARGET mroonga)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
add_library(mroonga MODULE ${MRN_ALL_SOURCES})
|
add_library(mroonga MODULE ${MRN_ALL_SOURCES})
|
||||||
|
|
||||||
|
@@ -1793,16 +1793,12 @@ PageConverter::update_records(
|
|||||||
|
|
||||||
m_rec_iter.open(block);
|
m_rec_iter.open(block);
|
||||||
|
|
||||||
|
if (!page_is_leaf(block->frame)) {
|
||||||
|
return DB_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
while (!m_rec_iter.end()) {
|
while (!m_rec_iter.end()) {
|
||||||
|
|
||||||
rec_t* rec = m_rec_iter.current();
|
rec_t* rec = m_rec_iter.current();
|
||||||
|
|
||||||
/* FIXME: Move out of the loop */
|
|
||||||
|
|
||||||
if (rec_get_status(rec) == REC_STATUS_NODE_PTR) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
ibool deleted = rec_get_deleted_flag(rec, comp);
|
ibool deleted = rec_get_deleted_flag(rec, comp);
|
||||||
|
|
||||||
/* For the clustered index we have to adjust the BLOB
|
/* For the clustered index we have to adjust the BLOB
|
||||||
|
Reference in New Issue
Block a user