Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
MDEV-15788 versioning.partition, versioning.rpl fail on most windows …
…builds in buildbot fix versioning.partition failures: * Make the test stable by setting timestamp to fixed values.
- Loading branch information
Showing
4 changed files
with
114 additions
and
145 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| include/master-slave.inc | ||
| [connection master] | ||
| set timestamp=unix_timestamp('2001-02-03 10:20:30'); | ||
| create or replace table t1 (i int) with system versioning | ||
| partition by system_time interval 1 day | ||
| subpartition by key (i) subpartitions 2 | ||
| (partition p1 history, partition pn current); | ||
| set timestamp=unix_timestamp('2001-02-03 10:20:40'); | ||
| insert t1 values (1); | ||
| delete from t1; | ||
| set timestamp=unix_timestamp('2001-02-04 10:20:50'); | ||
| insert t1 values (2); | ||
| delete from t1; | ||
| connection slave; | ||
| select subpartition_name,partition_description,table_rows from information_schema.partitions where table_schema='test' and table_name='t1'; | ||
| subpartition_name partition_description table_rows | ||
| p1sp0 2001-02-04 10:20:30 1 | ||
| p1sp1 2001-02-04 10:20:30 1 | ||
| pnsp0 CURRENT 0 | ||
| pnsp1 CURRENT 0 | ||
| connection master; | ||
| set timestamp=unix_timestamp('2001-02-04 10:20:55'); | ||
| alter table t1 add partition (partition p0 history, partition p2 history); | ||
| set timestamp=unix_timestamp('2001-02-04 10:30:00'); | ||
| insert t1 values (4),(5); | ||
| set timestamp=unix_timestamp('2001-02-04 10:30:10'); | ||
| update t1 set i=6 where i=5; | ||
| connection slave; | ||
| select subpartition_name,partition_description,table_rows from information_schema.partitions where table_schema='test' and table_name='t1'; | ||
| subpartition_name partition_description table_rows | ||
| p1sp0 2001-02-04 10:20:30 1 | ||
| p1sp1 2001-02-04 10:20:30 0 | ||
| p0sp0 2001-02-05 10:20:30 1 | ||
| p0sp1 2001-02-05 10:20:30 1 | ||
| p2sp0 2001-02-06 10:20:30 0 | ||
| p2sp1 2001-02-06 10:20:30 0 | ||
| pnsp0 CURRENT 0 | ||
| pnsp1 CURRENT 2 | ||
| ## pruning check | ||
| set @ts=(select partition_description from information_schema.partitions | ||
| where table_schema='test' and table_name='t1' and partition_name='p0' limit 1); | ||
| select * from t1; | ||
| i | ||
| 4 | ||
| 6 | ||
| explain partitions select * from t1; | ||
| id select_type table partitions type possible_keys key key_len ref rows Extra | ||
| 1 SIMPLE t1 pn_pnsp0,pn_pnsp1 ALL NULL NULL NULL NULL 2 Using where | ||
| explain partitions select * from t1 for system_time as of '2001-02-04 10:20:30'; | ||
| id select_type table partitions type possible_keys key key_len ref rows Extra | ||
| 1 SIMPLE t1 p1_p1sp0,p1_p1sp1,p0_p0sp0,p0_p0sp1,p2_p2sp0,p2_p2sp1,pn_pnsp0,pn_pnsp1 ALL NULL NULL NULL NULL # Using where | ||
| set @ts=(select row_end from t1 for system_time all where i=1); | ||
| select * from t1 for system_time all where row_end = @ts; | ||
| i | ||
| 1 | ||
| explain partitions select * from t1 for system_time all where row_end = @ts; | ||
| id select_type table partitions type possible_keys key key_len ref rows Extra | ||
| 1 SIMPLE t1 p1_p1sp0,p1_p1sp1 # NULL NULL NULL NULL # # | ||
| connection master; | ||
| drop table t1; | ||
| include/rpl_end.inc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| --source include/have_partition.inc | ||
| --source include/have_binlog_format_statement.inc | ||
| --source include/master-slave.inc | ||
|
|
||
| # | ||
| # The test below isn't a replication test as such, | ||
| # but it uses replication to get custom timestamps and repeatable | ||
| # behavior into versioning. | ||
| # | ||
|
|
||
| # | ||
| # partition rotation | ||
| # | ||
| disable_warnings; | ||
| set timestamp=unix_timestamp('2001-02-03 10:20:30'); | ||
| create or replace table t1 (i int) with system versioning | ||
| partition by system_time interval 1 day | ||
| subpartition by key (i) subpartitions 2 | ||
| (partition p1 history, partition pn current); | ||
| set timestamp=unix_timestamp('2001-02-03 10:20:40'); | ||
| insert t1 values (1); delete from t1; | ||
| set timestamp=unix_timestamp('2001-02-04 10:20:50'); | ||
| insert t1 values (2); delete from t1; | ||
| enable_warnings; | ||
| sync_slave_with_master; | ||
| select subpartition_name,partition_description,table_rows from information_schema.partitions where table_schema='test' and table_name='t1'; | ||
| connection master; | ||
| set timestamp=unix_timestamp('2001-02-04 10:20:55'); | ||
| alter table t1 add partition (partition p0 history, partition p2 history); | ||
| set timestamp=unix_timestamp('2001-02-04 10:30:00'); | ||
| insert t1 values (4),(5); | ||
| set timestamp=unix_timestamp('2001-02-04 10:30:10'); | ||
| update t1 set i=6 where i=5; | ||
| sync_slave_with_master; | ||
| select subpartition_name,partition_description,table_rows from information_schema.partitions where table_schema='test' and table_name='t1'; | ||
|
|
||
| --echo ## pruning check | ||
| set @ts=(select partition_description from information_schema.partitions | ||
| where table_schema='test' and table_name='t1' and partition_name='p0' limit 1); | ||
| --sorted_result | ||
| select * from t1; | ||
| explain partitions select * from t1; | ||
| --replace_column 10 # | ||
| explain partitions select * from t1 for system_time as of '2001-02-04 10:20:30'; | ||
| set @ts=(select row_end from t1 for system_time all where i=1); | ||
| select * from t1 for system_time all where row_end = @ts; | ||
| --replace_column 5 # 10 # 11 # | ||
| explain partitions select * from t1 for system_time all where row_end = @ts; | ||
|
|
||
| connection master; | ||
| drop table t1; | ||
|
|
||
| --source include/rpl_end.inc |