mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Merged r4014 from codership/5.5
This commit is contained in:
@ -2475,7 +2475,7 @@ mysql_execute_command(THD *thd)
|
||||
case SQLCOM_SHOW_STATUS_PROC:
|
||||
case SQLCOM_SHOW_STATUS_FUNC:
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) && wsrep_causal_wait(thd)) goto error;
|
||||
if (WSREP_CLIENT(thd) && wsrep_sync_wait(thd)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
if ((res= check_table_access(thd, SELECT_ACL, all_tables, FALSE,
|
||||
UINT_MAX, FALSE)))
|
||||
@ -2485,7 +2485,7 @@ mysql_execute_command(THD *thd)
|
||||
case SQLCOM_SHOW_STATUS:
|
||||
{
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) && wsrep_causal_wait(thd)) goto error;
|
||||
if (WSREP_CLIENT(thd) && wsrep_sync_wait(thd)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
execute_show_status(thd, all_tables);
|
||||
#ifdef WITH_WSREP
|
||||
@ -2514,7 +2514,7 @@ mysql_execute_command(THD *thd)
|
||||
case SQLCOM_SHOW_INDEX_STATS:
|
||||
case SQLCOM_SELECT:
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) && wsrep_causal_wait(thd)) goto error;
|
||||
if (WSREP_CLIENT(thd) && wsrep_sync_wait(thd)) goto error;
|
||||
case SQLCOM_SHOW_VARIABLES:
|
||||
case SQLCOM_SHOW_CHARSETS:
|
||||
case SQLCOM_SHOW_COLLATIONS:
|
||||
@ -3079,7 +3079,7 @@ end_with_restore_list:
|
||||
#else
|
||||
{
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) && wsrep_causal_wait(thd)) goto error;
|
||||
if (WSREP_CLIENT(thd) && wsrep_sync_wait(thd)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
/*
|
||||
@ -3138,7 +3138,7 @@ end_with_restore_list:
|
||||
{
|
||||
DBUG_ASSERT(first_table == all_tables && first_table != 0);
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) && wsrep_causal_wait(thd)) goto error;
|
||||
if (WSREP_CLIENT(thd) && wsrep_sync_wait(thd)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
if (check_table_access(thd, SELECT_ACL, all_tables,
|
||||
@ -3149,6 +3149,10 @@ end_with_restore_list:
|
||||
break;
|
||||
}
|
||||
case SQLCOM_UPDATE:
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) &&
|
||||
wsrep_sync_wait(thd, WSREP_SYNC_WAIT_BEFORE_UPDATE_DELETE)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
{
|
||||
ha_rows found= 0, updated= 0;
|
||||
DBUG_ASSERT(first_table == all_tables && first_table != 0);
|
||||
@ -3188,6 +3192,10 @@ end_with_restore_list:
|
||||
/* if we switched from normal update, rights are checked */
|
||||
if (up_result != 2)
|
||||
{
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) &&
|
||||
wsrep_sync_wait(thd, WSREP_SYNC_WAIT_BEFORE_UPDATE_DELETE)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
if ((res= multi_update_precheck(thd, all_tables)))
|
||||
break;
|
||||
}
|
||||
@ -3257,6 +3265,10 @@ end_with_restore_list:
|
||||
break;
|
||||
}
|
||||
case SQLCOM_REPLACE:
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) &&
|
||||
wsrep_sync_wait(thd, WSREP_SYNC_WAIT_BEFORE_INSERT_REPLACE)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
#ifndef DBUG_OFF
|
||||
if (mysql_bin_log.is_open())
|
||||
{
|
||||
@ -3292,6 +3304,10 @@ end_with_restore_list:
|
||||
}
|
||||
#endif
|
||||
case SQLCOM_INSERT:
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) &&
|
||||
wsrep_sync_wait(thd, WSREP_SYNC_WAIT_BEFORE_INSERT_REPLACE)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
{
|
||||
DBUG_ASSERT(first_table == all_tables && first_table != 0);
|
||||
if ((res= insert_precheck(thd, all_tables)))
|
||||
@ -3333,6 +3349,10 @@ end_with_restore_list:
|
||||
}
|
||||
case SQLCOM_REPLACE_SELECT:
|
||||
case SQLCOM_INSERT_SELECT:
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) &&
|
||||
wsrep_sync_wait(thd, WSREP_SYNC_WAIT_BEFORE_INSERT_REPLACE)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
{
|
||||
select_result *sel_result;
|
||||
DBUG_ASSERT(first_table == all_tables && first_table != 0);
|
||||
@ -3429,6 +3449,10 @@ end_with_restore_list:
|
||||
break;
|
||||
}
|
||||
case SQLCOM_DELETE:
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) &&
|
||||
wsrep_sync_wait(thd, WSREP_SYNC_WAIT_BEFORE_UPDATE_DELETE)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
{
|
||||
DBUG_ASSERT(first_table == all_tables && first_table != 0);
|
||||
if ((res= delete_precheck(thd, all_tables)))
|
||||
@ -3444,6 +3468,10 @@ end_with_restore_list:
|
||||
break;
|
||||
}
|
||||
case SQLCOM_DELETE_MULTI:
|
||||
#ifdef WITH_WSREP
|
||||
if (WSREP_CLIENT(thd) &&
|
||||
wsrep_sync_wait(thd, WSREP_SYNC_WAIT_BEFORE_UPDATE_DELETE)) goto error;
|
||||
#endif /* WITH_WSREP */
|
||||
{
|
||||
DBUG_ASSERT(first_table == all_tables && first_table != 0);
|
||||
TABLE_LIST *aux_tables= thd->lex->auxiliary_table_list.first;
|
||||
|
Reference in New Issue
Block a user