Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-34904

Inplace alter for implicit to explicit versioning is broken

    XMLWordPrintable

Details

    Description

      Converting a versioned table with engine InnoDB from implicit to explicit row_start/row_end columns fails with server crashe.

      Case:

      create table t1 (x int) ENGINE=InnoDB with system versioning;
      show create table t1;
      set @old_system_versioning_alter_history= @@system_versioning_alter_history;
      set @@system_versioning_alter_history= keep;
       
      alter table t1 add column rs timestamp(6) as row start, add column re timestamp(6) as row end, add period for system_time (rs,re);
       
      show create table t1;
      set @@system_versioning_alter_history= @old_system_versioning_alter_history;
      drop table t1;
      

      Stacktrace:

      stack_bottom = 0x7a04a40a3bb8 thread_stack 0x49000
      mysys/stacktrace.c:215(my_print_stacktrace)[0x64709f749767]
      sql/signal_handler.cc:239(handle_fatal_signal)[0x64709ed5b9e6]
      libc_sigaction.c:0(__restore_rt)[0x7a04b2a42520]
      nptl/pthread_kill.c:44(__pthread_kill_implementation)[0x7a04b2a969fc]
      posix/raise.c:27(__GI_raise)[0x7a04b2a42476]
      stdlib/abort.c:81(__GI_abort)[0x7a04b2a287f3]
      intl/loadmsgcat.c:1177(_nl_load_domain)[0x7a04b2a2871b]
      /lib/x86_64-linux-gnu/libc.so.6(+0x39e96)[0x7a04b2a39e96]
      handler/handler0alter.cc:4290(ha_innobase_inplace_ctx::create_key_defs(Alter_inplace_info const*, TABLE const*, unsigned long&, unsigned long&, bool&, bool&, TABLE const*))[0x64709f268adf]
      handler/handler0alter.cc:6484(prepare_inplace_alter_table_dict(Alter_inplace_info*, TABLE const*, TABLE const*, char const*, unsigned long, unsigned long, unsigned long, bool, bool))[0x64709f24465c]
      handler/handler0alter.cc:8645(ha_innobase::prepare_inplace_alter_table(TABLE*, Alter_inplace_info*))[0x64709f24fae4]
      sql/handler.cc:5608(handler::ha_prepare_inplace_alter_table(TABLE*, Alter_inplace_info*))[0x64709ed6fa9f]
      sql/sql_table.cc:7810(mysql_inplace_alter_table(THD*, TABLE_LIST*, TABLE*, TABLE*, Alter_inplace_info*, MDL_request*, st_ddl_log_state*, TRIGGER_RENAME_PARAM*, Alter_table_ctx*, bool&, unsigned long long&, bool))[0x64709ea662a6]
      sql/sql_table.cc:11227(mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool))[0x64709ea71012]
      sql/sql_alter.cc:701(Sql_cmd_alter_table::execute(THD*))[0x64709eb364bc]
      sql/sql_parse.cc:5842(mysql_execute_command(THD*, bool))[0x64709e933e62]
      sql/sql_parse.cc:7869(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x64709e93a080]
      sql/sql_parse.cc:1894(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x64709e92673b]
      sql/sql_parse.cc:1405(do_command(THD*, bool))[0x64709e925081]
      sql/sql_connect.cc:1448(do_handle_one_connection(CONNECT*, bool))[0x64709eb29ee4]
      sql/sql_connect.cc:1352(handle_one_connection)[0x64709eb29c4d]
      perfschema/pfs.cc:2200(pfs_spawn_thread)[0x64709f0e616d]
      nptl/pthread_create.c:442(start_thread)[0x7a04b2a94ac3]
      x86_64/clone3.S:83(__clone3)[0x7a04b2b26850]
      

      Attachments

        Issue Links

          Activity

            People

              midenok Aleksey Midenkov
              lstartseva Lena Startseva
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.