Skip to content

Commit

Permalink
MDEV-14632 Assertion `!((new_col->prtype ^ col->prtype) & ~256U)' fai…
Browse files Browse the repository at this point in the history
…led in row_log_table_apply_convert_mrec

SQL: add exclusive lock to ADD/DROP SYSTEM VERSIONING clauses

This is needed because Online DDL is not working yet for such queries.
  • Loading branch information
kevgs committed Dec 13, 2017
1 parent bc4a866 commit a83fcba
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions sql/handler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7098,6 +7098,18 @@ bool Vers_parse_info::fix_alter_info(THD *thd, Alter_info *alter_info,
if (!need_check() && !share->versioned)
return false;

if (with_system_versioning || without_system_versioning)
{
// Disable Online DDL which is not implemented yet for ADD/DROP SYSTEM VERSIONING.
if (thd->mdl_context.upgrade_shared_lock(table->mdl_ticket, MDL_EXCLUSIVE,
thd->variables.lock_wait_timeout))
{
my_error(ER_LOCK_WAIT_TIMEOUT, MYF(0));
return true;
}
alter_info->requested_lock= Alter_info::ALTER_TABLE_LOCK_EXCLUSIVE;
}

if (with_system_versioning && table->versioned())
{
my_error(ER_VERS_ALREADY_VERSIONED, MYF(0), table_name);
Expand Down

0 comments on commit a83fcba

Please sign in to comment.