mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
invalidation moved before tables unlocking
sql/sql_delete.cc: invalidation moved before tables unlocking invalidation on multidelete error (if something changed) sql/sql_parse.cc: invalidation moved to mysql_admin_table layout fixing sql/sql_table.cc: invalidation moved to mysql_admin_table sql/sql_update.cc: invalidation moved before tables unlocking invalidation on multiupdate error (if something changed)
This commit is contained in:
@ -1669,7 +1669,6 @@ mysql_execute_command(void)
|
||||
check_table_access(thd,SELECT_ACL | INSERT_ACL, tables))
|
||||
goto error; /* purecov: inspected */
|
||||
res = mysql_repair_table(thd, tables, &lex->check_opt);
|
||||
query_cache_invalidate3(thd, tables, 0);
|
||||
break;
|
||||
}
|
||||
case SQLCOM_CHECK:
|
||||
@ -1678,7 +1677,6 @@ mysql_execute_command(void)
|
||||
check_table_access(thd, SELECT_ACL | EXTRA_ACL , tables))
|
||||
goto error; /* purecov: inspected */
|
||||
res = mysql_check_table(thd, tables, &lex->check_opt);
|
||||
query_cache_invalidate3(thd, tables, 0);
|
||||
break;
|
||||
}
|
||||
case SQLCOM_ANALYZE:
|
||||
@ -1941,8 +1939,9 @@ mysql_execute_command(void)
|
||||
/* Fix tables-to-be-deleted-from list to point at opened tables */
|
||||
for (auxi=(TABLE_LIST*) aux_tables ; auxi ; auxi=auxi->next)
|
||||
auxi->table= ((TABLE_LIST*) auxi->table)->table;
|
||||
if (!thd->fatal_error && (result=new multi_delete(thd,aux_tables,
|
||||
lex->lock_option,table_count)))
|
||||
if (!thd->fatal_error && (result= new multi_delete(thd,aux_tables,
|
||||
lex->lock_option,
|
||||
table_count)))
|
||||
{
|
||||
res=mysql_select(thd,tables,select_lex->item_list,
|
||||
select_lex->where,
|
||||
|
Reference in New Issue
Block a user