diff --git a/mysql-test/suite/sql_sequence/partition.result b/mysql-test/suite/sql_sequence/partition.result new file mode 100644 index 00000000000..223285ce95d --- /dev/null +++ b/mysql-test/suite/sql_sequence/partition.result @@ -0,0 +1,7 @@ +# +# MDEV-13715 ha_partition::engine_name() segfault fix +# +create sequence s; +alter table s partition by hash(start_value) partitions 2; +ERROR HY000: Table storage engine 'partition' does not support the create option 'SEQUENCE' +drop sequence s; diff --git a/mysql-test/suite/sql_sequence/partition.test b/mysql-test/suite/sql_sequence/partition.test new file mode 100644 index 00000000000..d820b46987e --- /dev/null +++ b/mysql-test/suite/sql_sequence/partition.test @@ -0,0 +1,11 @@ +--source include/have_partition.inc +--source include/have_sequence.inc + +--echo # +--echo # MDEV-13715 ha_partition::engine_name() segfault fix +--echo # + +create sequence s; +--error ER_ILLEGAL_HA_CREATE_OPTION +alter table s partition by hash(start_value) partitions 2; +drop sequence s; diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 98453b15586..dd7baa31a12 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -3311,7 +3311,7 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info, { if (!(file->ha_table_flags() & HA_CAN_TABLES_WITHOUT_ROLLBACK)) { - my_error(ER_ILLEGAL_HA_CREATE_OPTION, MYF(0), file->engine_name()->str, + my_error(ER_ILLEGAL_HA_CREATE_OPTION, MYF(0), file->table_type(), "SEQUENCE"); DBUG_RETURN(TRUE); }