Browse Source

MDEV-14683 Possible redundancy in error codes

ER_VERS_GENERATED_ALWAYS_NOT_EMPTY vs ER_VERS_ALTER_SYSTEM_FIELD

Related to #310 (91ba4f04be).
pull/478/head
Aleksey Midenkov 8 years ago
parent
commit
fc21529f14
  1. 13
      mysql-test/suite/versioning/r/alter.result
  2. 14
      mysql-test/suite/versioning/t/alter.test
  3. 1
      sql/handler.cc

13
mysql-test/suite/versioning/r/alter.result

@ -375,20 +375,15 @@ a b
4 2
create or replace table t (
a int,
sys_trx_start bigint(20) unsigned as row start invisible,
sys_trx_end bigint(20) unsigned as row end invisible,
period for system_time(sys_trx_start, sys_trx_end)
) with system versioning engine innodb;
alter table t change column sys_trx_start asdf bigint unsigned;
ERROR HY000: Can not change system versioning field `sys_trx_start`
create or replace table t (
a int,
sys_trx_start timestamp(6) as row start invisible,
sys_trx_end timestamp(6) as row end invisible,
period for system_time(sys_trx_start, sys_trx_end)
) with system versioning engine myisam;
) with system versioning;
alter table t change column sys_trx_start asdf timestamp(6);
ERROR HY000: Can not change system versioning field `sys_trx_start`
insert into t values (1);
alter table t modify column sys_trx_start bigint unsigned;
ERROR HY000: Can not change system versioning field `sys_trx_start`
create or replace table t (
a int,
sys_trx_start timestamp(6) as row start invisible,

14
mysql-test/suite/versioning/t/alter.test

@ -260,23 +260,17 @@ select * from t for system_time all;
insert into t values (4, 0);
select * from t for system_time all;
create or replace table t (
a int,
sys_trx_start bigint(20) unsigned as row start invisible,
sys_trx_end bigint(20) unsigned as row end invisible,
period for system_time(sys_trx_start, sys_trx_end)
) with system versioning engine innodb;
--error ER_VERS_ALTER_SYSTEM_FIELD
alter table t change column sys_trx_start asdf bigint unsigned;
create or replace table t (
a int,
sys_trx_start timestamp(6) as row start invisible,
sys_trx_end timestamp(6) as row end invisible,
period for system_time(sys_trx_start, sys_trx_end)
) with system versioning engine myisam;
) with system versioning;
--error ER_VERS_ALTER_SYSTEM_FIELD
alter table t change column sys_trx_start asdf timestamp(6);
insert into t values (1);
--error ER_VERS_ALTER_SYSTEM_FIELD
alter table t modify column sys_trx_start bigint unsigned;
create or replace table t (
a int,

1
sql/handler.cc

@ -7177,6 +7177,7 @@ bool Vers_parse_info::fix_alter_info(THD *thd, Alter_info *alter_info,
return false;
}
if (!share->versioned)
{
List_iterator_fast<Create_field> it(alter_info->create_list);
while (Create_field *f= it++)

Loading…
Cancel
Save