Commit 594282a5 authored by Oleksandr Byelkin's avatar Oleksandr Byelkin

Merge branch '10.1' into 10.2

parents b08579aa 716161ea
call mtr.add_suppression("InnoDB: Table '.*' tablespace is set as discarded.");
CREATE TABLE mdev21563(f1 VARCHAR(100), FULLTEXT idx(f1))ENGINE=InnoDB;
set debug_dbug="+d,fts_instrument_sync_request";
INSERT INTO mdev21563 VALUES('This is a test');
ALTER TABLE mdev21563 DISCARD TABLESPACE;
DROP TABLE mdev21563;
--source include/have_innodb.inc
--source include/have_debug.inc
--source include/not_embedded.inc
call mtr.add_suppression("InnoDB: Table '.*' tablespace is set as discarded.");
CREATE TABLE mdev21563(f1 VARCHAR(100), FULLTEXT idx(f1))ENGINE=InnoDB;
set debug_dbug="+d,fts_instrument_sync_request";
INSERT INTO mdev21563 VALUES('This is a test');
ALTER TABLE mdev21563 DISCARD TABLESPACE;
--source include/restart_mysqld.inc
DROP TABLE mdev21563;
...@@ -4136,7 +4136,6 @@ bool check_column_name(const char *name) ...@@ -4136,7 +4136,6 @@ bool check_column_name(const char *name)
been opened. been opened.
@param[in] table The table to check @param[in] table The table to check
@param[in] table_f_count Expected number of columns in the table
@param[in] table_def Expected structure of the table (column name @param[in] table_def Expected structure of the table (column name
and type) and type)
......
/***************************************************************************** /*****************************************************************************
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2015, 2019, MariaDB Corporation. Copyright (c) 2015, 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
...@@ -3056,6 +3056,16 @@ row_discard_tablespace_for_mysql( ...@@ -3056,6 +3056,16 @@ row_discard_tablespace_for_mysql(
err = DB_ERROR; err = DB_ERROR;
} else { } else {
bool fts_exist = (dict_table_has_fts_index(table)
|| DICT_TF2_FLAG_IS_SET(
table, DICT_TF2_FTS_HAS_DOC_ID));
if (fts_exist) {
row_mysql_unlock_data_dictionary(trx);
fts_optimize_remove_table(table);
row_mysql_lock_data_dictionary(trx);
}
/* Do foreign key constraint checks. */ /* Do foreign key constraint checks. */
err = row_discard_tablespace_foreign_key_checks(trx, table); err = row_discard_tablespace_foreign_key_checks(trx, table);
...@@ -3063,6 +3073,10 @@ row_discard_tablespace_for_mysql( ...@@ -3063,6 +3073,10 @@ row_discard_tablespace_for_mysql(
if (err == DB_SUCCESS) { if (err == DB_SUCCESS) {
err = row_discard_tablespace(trx, table); err = row_discard_tablespace(trx, table);
} }
if (fts_exist && err != DB_SUCCESS) {
fts_optimize_add_table(table);
}
} }
return(row_discard_tablespace_end(trx, table, err)); return(row_discard_tablespace_end(trx, table, err));
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2008, 2009 Google Inc. Copyright (c) 2008, 2009 Google Inc.
Copyright (c) 2009, Percona Inc. Copyright (c) 2009, Percona Inc.
Copyright (c) 2013, 2019, MariaDB Corporation. Copyright (c) 2013, 2020, MariaDB Corporation.
Portions of this file contain modifications contributed and copyrighted by Portions of this file contain modifications contributed and copyrighted by
Google, Inc. Those modifications are gratefully acknowledged and are described Google, Inc. Those modifications are gratefully acknowledged and are described
...@@ -507,7 +507,9 @@ current_time % 60 == 0 and no tasks will be performed when ...@@ -507,7 +507,9 @@ current_time % 60 == 0 and no tasks will be performed when
current_time % 5 != 0. */ current_time % 5 != 0. */
# define SRV_MASTER_CHECKPOINT_INTERVAL (7) # define SRV_MASTER_CHECKPOINT_INTERVAL (7)
# define SRV_MASTER_PURGE_INTERVAL (10) #ifdef MEM_PERIODIC_CHECK
# define SRV_MASTER_MEM_VALIDATE_INTERVAL (13)
#endif /* MEM_PERIODIC_CHECK */
# define SRV_MASTER_DICT_LRU_INTERVAL (47) # define SRV_MASTER_DICT_LRU_INTERVAL (47)
/** Simulate compression failures. */ /** Simulate compression failures. */
......
/***************************************************************************** /*****************************************************************************
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2015, 2019, MariaDB Corporation. Copyright (c) 2015, 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
...@@ -3209,6 +3209,16 @@ row_discard_tablespace_for_mysql( ...@@ -3209,6 +3209,16 @@ row_discard_tablespace_for_mysql(
err = DB_ERROR; err = DB_ERROR;
} else { } else {
bool fts_exist = (dict_table_has_fts_index(table)
|| DICT_TF2_FLAG_IS_SET(
table, DICT_TF2_FTS_HAS_DOC_ID));
if (fts_exist) {
row_mysql_unlock_data_dictionary(trx);
fts_optimize_remove_table(table);
row_mysql_lock_data_dictionary(trx);
}
/* Do foreign key constraint checks. */ /* Do foreign key constraint checks. */
err = row_discard_tablespace_foreign_key_checks(trx, table); err = row_discard_tablespace_foreign_key_checks(trx, table);
...@@ -3216,6 +3226,11 @@ row_discard_tablespace_for_mysql( ...@@ -3216,6 +3226,11 @@ row_discard_tablespace_for_mysql(
if (err == DB_SUCCESS) { if (err == DB_SUCCESS) {
err = row_discard_tablespace(trx, table); err = row_discard_tablespace(trx, table);
} }
if (fts_exist && err != DB_SUCCESS) {
fts_optimize_add_table(table);
}
} }
return(row_discard_tablespace_end(trx, table, err)); return(row_discard_tablespace_end(trx, table, err));
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2008, 2009 Google Inc. Copyright (c) 2008, 2009 Google Inc.
Copyright (c) 2009, Percona Inc. Copyright (c) 2009, Percona Inc.
Copyright (c) 2013, 2019, MariaDB Corporation. Copyright (c) 2013, 2020, MariaDB Corporation.
Portions of this file contain modifications contributed and copyrighted by Portions of this file contain modifications contributed and copyrighted by
Google, Inc. Those modifications are gratefully acknowledged and are described Google, Inc. Those modifications are gratefully acknowledged and are described
...@@ -673,7 +673,6 @@ current_time % 60 == 0 and no tasks will be performed when ...@@ -673,7 +673,6 @@ current_time % 60 == 0 and no tasks will be performed when
current_time % 5 != 0. */ current_time % 5 != 0. */
# define SRV_MASTER_CHECKPOINT_INTERVAL (7) # define SRV_MASTER_CHECKPOINT_INTERVAL (7)
# define SRV_MASTER_PURGE_INTERVAL (10)
#ifdef MEM_PERIODIC_CHECK #ifdef MEM_PERIODIC_CHECK
# define SRV_MASTER_MEM_VALIDATE_INTERVAL (13) # define SRV_MASTER_MEM_VALIDATE_INTERVAL (13)
#endif /* MEM_PERIODIC_CHECK */ #endif /* MEM_PERIODIC_CHECK */
......
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