1
0
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:
unknown
2002-04-29 00:33:52 +03:00
parent a2ce6c71b8
commit 3c0e609165
5 changed files with 22 additions and 10 deletions

View File

@ -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,