MDEV-5723: mysqldump -uroot unusable for multi-database operations, checks all databases
- MariaDB-5.5 part of the fix: since we can't easily fix query optimization for I_S tables, run the affected-tablespaces query with semijoin=off. It happens to have a good query plan with that setting.
This commit is contained in:
parent
7449c7d32b
commit
bc96ce5509
@ -3991,7 +3991,13 @@ static int dump_tablespaces(char* ts_where)
|
||||
char *ubs;
|
||||
char *endsemi;
|
||||
DBUG_ENTER("dump_tablespaces");
|
||||
|
||||
|
||||
/*
|
||||
Try to turn off semi-join optimization (if that fails, this is a
|
||||
pre-optimizer_switch server, and the old query plan is ok for us.
|
||||
*/
|
||||
mysql_query(mysql, "set optimizer_switch='semijoin=off'");
|
||||
|
||||
init_dynamic_string_checked(&sqlbuf,
|
||||
"SELECT LOGFILE_GROUP_NAME,"
|
||||
" FILE_NAME,"
|
||||
@ -4151,6 +4157,8 @@ static int dump_tablespaces(char* ts_where)
|
||||
|
||||
mysql_free_result(tableres);
|
||||
dynstr_free(&sqlbuf);
|
||||
mysql_query(mysql, "set optimizer_switch=default");
|
||||
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user