summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-11-28 13:44:42 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2022-11-28 13:44:42 +0200
commit936436ef437c73911c18854a8ce8dad1216331b8 (patch)
treeedce49320224104f7dd10980eb945c84ab86995f /sql/sql_table.cc
parent71dedd0ebcd6c2c9735c2a55474725b38b8c2912 (diff)
parent9e652870429496e770fe8876703c0c2edf4ee43a (diff)
downloadmariadb-git-936436ef437c73911c18854a8ce8dad1216331b8.tar.gz
Merge 10.10 into 10.11
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r--sql/sql_table.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index f66d3259723..691ba891d7e 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -1830,13 +1830,16 @@ err:
}
error= thd->is_error();
+ if (non_temp_tables_count)
+ query_cache_invalidate3(thd, tables, 0);
+
/*
We are always logging drop of temporary tables.
The reason is to handle the following case:
- Use statement based replication
- CREATE TEMPORARY TABLE foo (logged)
- set row based replication
- - DROP TEMPORAY TABLE foo (needs to be logged)
+ - DROP TEMPORARY TABLE foo (needs to be logged)
This should be fixed so that we remember if creation of the
temporary table was logged and only log it if the creation was
logged.
@@ -1848,7 +1851,6 @@ err:
if (non_trans_tmp_table_deleted || trans_tmp_table_deleted)
thd->transaction->stmt.mark_dropped_temp_table();
- query_cache_invalidate3(thd, tables, 0);
if (!dont_log_query && mysql_bin_log.is_open())
{
debug_crash_here("ddl_log_drop_before_binlog");