1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

SQL, Parser: system_time logic and syntax fixes [closes #237]

This commit is contained in:
Aleksey Midenkov
2017-08-08 17:12:16 +03:00
committed by GitHub
parent 53370de103
commit d3d2ea9fd5
25 changed files with 264 additions and 435 deletions

View File

@ -492,18 +492,17 @@ bool Sql_cmd_truncate_table::truncate_table(THD *thd, TABLE_LIST *table_ref)
bool Sql_cmd_truncate_table::execute(THD *thd)
{
bool res= TRUE;
TABLE_LIST *first_table= thd->lex->select_lex.table_list.first;
TABLE_LIST *table= thd->lex->select_lex.table_list.first;
DBUG_ENTER("Sql_cmd_truncate_table::execute");
bool truncate_history= thd->lex->current_select->vers_conditions.type !=
FOR_SYSTEM_TIME_UNSPECIFIED;
if (truncate_history)
DBUG_RETURN(mysql_delete(thd, first_table, NULL, NULL, -1, 0, NULL));
DBUG_ASSERT(table);
if (table->vers_conditions)
DBUG_RETURN(mysql_delete(thd, table, NULL, NULL, -1, 0, NULL));
if (check_one_table_access(thd, DROP_ACL, first_table))
if (check_one_table_access(thd, DROP_ACL, table))
DBUG_RETURN(res);
if (! (res= truncate_table(thd, first_table)))
if (! (res= truncate_table(thd, table)))
my_ok(thd);
DBUG_RETURN(res);