mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
MDEV-13937 Aria engine: Internal Error 160 after partition handling
Partition wasn't setting HA_OPTION_PACK_RECORD on ALTER TABLE if the row format was PAGE. (so one bit in the null bitmap was reserved for a deleted bit - see make_empty_rec - and all actual null bits were one off)
This commit is contained in:
parent
19a702a85c
commit
b036b6b594
3 changed files with 38 additions and 1 deletions
18
mysql-test/suite/parts/r/partition_alter_maria.result
Normal file
18
mysql-test/suite/parts/r/partition_alter_maria.result
Normal file
|
@ -0,0 +1,18 @@
|
|||
create table t1 (
|
||||
pk bigint not null auto_increment,
|
||||
dt datetime default null,
|
||||
unique (pk, dt)
|
||||
) engine=aria row_format=dynamic
|
||||
partition by range columns(dt) (
|
||||
partition `p20171231` values less than ('2017-12-31'),
|
||||
partition `p20181231` values less than ('2018-12-31')
|
||||
);
|
||||
insert into t1 values (1,'2017-09-28 15:12:00');
|
||||
select * from t1;
|
||||
pk dt
|
||||
1 2017-09-28 15:12:00
|
||||
alter table t1 drop partition p20181231;
|
||||
select * from t1;
|
||||
pk dt
|
||||
1 2017-09-28 15:12:00
|
||||
drop table t1;
|
18
mysql-test/suite/parts/t/partition_alter_maria.test
Normal file
18
mysql-test/suite/parts/t/partition_alter_maria.test
Normal file
|
@ -0,0 +1,18 @@
|
|||
#
|
||||
# MDEV-13937 Aria engine: Internal Error 160 after partition handling
|
||||
#
|
||||
source include/have_partition.inc;
|
||||
create table t1 (
|
||||
pk bigint not null auto_increment,
|
||||
dt datetime default null,
|
||||
unique (pk, dt)
|
||||
) engine=aria row_format=dynamic
|
||||
partition by range columns(dt) (
|
||||
partition `p20171231` values less than ('2017-12-31'),
|
||||
partition `p20181231` values less than ('2018-12-31')
|
||||
);
|
||||
insert into t1 values (1,'2017-09-28 15:12:00');
|
||||
select * from t1;
|
||||
alter table t1 drop partition p20181231;
|
||||
select * from t1;
|
||||
drop table t1;
|
|
@ -6672,7 +6672,8 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
|
|||
lpt->alter_info= alter_info;
|
||||
lpt->create_info= create_info;
|
||||
lpt->db_options= create_info->table_options;
|
||||
if (create_info->row_type == ROW_TYPE_DYNAMIC)
|
||||
if (create_info->row_type != ROW_TYPE_FIXED &&
|
||||
create_info->row_type != ROW_TYPE_DEFAULT)
|
||||
lpt->db_options|= HA_OPTION_PACK_RECORD;
|
||||
lpt->table= fast_alter_table;
|
||||
lpt->old_table= table;
|
||||
|
|
Loading…
Reference in a new issue