1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge branch '10.3' into 10.4

This commit is contained in:
Oleksandr Byelkin
2019-05-19 20:55:37 +02:00
3893 changed files with 11766 additions and 6460 deletions

View File

@@ -15,7 +15,7 @@ eval create table t1 (
--replace_result $default_engine DEFAULT_ENGINE $sys_datatype_expl SYS_DATATYPE
show create table t1;
--query_vertical select table_catalog,table_schema,table_name,table_type,version,table_rows,avg_row_length,data_free,auto_increment,check_time,table_collation,checksum,create_options,table_comment from information_schema.tables where table_name='t1'
--query_vertical select table_catalog,table_schema,table_name,table_type,version,table_rows,data_free,auto_increment,check_time,table_collation,checksum,create_options,table_comment from information_schema.tables where table_name='t1'
--query_vertical select table_catalog,table_schema,table_name,column_name,ordinal_position,column_default,character_maximum_length,character_octet_length,character_set_name,collation_name,column_key,extra,column_comment,is_generated,generation_expression from information_schema.columns where table_name='t1'
--echo # Implicit fields test
@@ -371,5 +371,21 @@ create or replace table t1 (i int) with system versioning as select 1 as i;
--replace_result $default_engine DEFAULT_ENGINE
show create table t1;
--error ER_VERS_FIELD_WRONG_TYPE
create or replace table t1 (
a int,
row_start bigint as row start,
row_end bigint as row end,
period for system_time (row_start, row_end)
) engine=innodb with system versioning;
--error ER_VERS_FIELD_WRONG_TYPE
create or replace table t1 (
a int,
row_start bigint as row start,
row_end bigint as row end,
period for system_time (row_start, row_end)
) engine=myisam with system versioning;
drop database test;
create database test;

View File

@@ -96,7 +96,7 @@ create or replace table t1 (a int) with system versioning;
set system_versioning_alter_history= KEEP;
alter table t1 add column b int;
sync_slave_with_master;
--replace_result InnoDB INNODB_OR_MYISAM MyISAM INNODB_OR_MYISAM
--replace_result InnoDB ENGINE MyISAM ENGINE MEMORY ENGINE
show create table t1;
--echo ## Case 2: ERROR on the master, it'll fail on the master, the slave won't see it
@@ -105,7 +105,7 @@ set system_versioning_alter_history= ERROR;
--error ER_VERS_ALTER_NOT_ALLOWED
alter table t1 drop column b;
sync_slave_with_master;
--replace_result InnoDB INNODB_OR_MYISAM MyISAM INNODB_OR_MYISAM
--replace_result InnoDB ENGINE MyISAM ENGINE MEMORY ENGINE
show create table t1;
--echo ## Case 3: table is not versioned on the master, ALTER will work on the slave
@@ -116,7 +116,7 @@ create or replace table t1 (a int) with system versioning;
connection master;
alter table t1 add column b int;
sync_slave_with_master;
--replace_result InnoDB INNODB_OR_MYISAM MyISAM INNODB_OR_MYISAM
--replace_result InnoDB ENGINE MyISAM ENGINE MEMORY ENGINE
show create table t1;
connection master;

View File

@@ -0,0 +1,34 @@
source include/big_test.inc;
source suite/versioning/engines.inc;
source suite/versioning/common.inc;
--echo #
--echo # MDEV-15458 Segfault in heap_scan() upon UPDATE after ADD SYSTEM VERSIONING
--echo #
create or replace table t1 (a int);
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8);
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
--connect (con1,localhost,root,,test)
alter table t1 add system versioning;
--connection default
update t1 set a= 7 where a = 3;
update t1 set a= 2 where a = 7;
update t1 set a= 5 where a = 2;
update t1 set a= 1 where a = 5;
update t1 set a= 8 where a = 1;
update t1 set a= 4 where a = 8;
update t1 set a= 6;
drop table t1;
source suite/versioning/common_finish.inc;