|
These two cases lead to different results:
1. Good: record 5 is rotated
create or replace table t1 (i int) with system versioning
|
partition by system_time interval 1 day
|
(partition p0 history, partition pn current);
|
|
set timestamp= unix_timestamp('2021-01-06 00:00:00');
|
insert t1 values (6); delete from t1;
|
set timestamp= unix_timestamp('2021-01-10 00:00:00');
|
insert t1 values (5); delete from t1;
|
|
alter table t1 add partition (partition p1 history);
|
select *, row_end from t1 partition (p1);
|
2. Bad: record 5 is not rotated
create or replace table t1 (i int) with system versioning
|
partition by system_time interval 1 day
|
(partition p0 history, partition pn current);
|
|
set timestamp= unix_timestamp('2021-01-10 00:00:00');
|
insert t1 values (5); delete from t1;
|
set timestamp= unix_timestamp('2021-01-06 00:00:00');
|
insert t1 values (6); delete from t1;
|
|
alter table t1 add partition (partition p1 history);
|
select *, row_end from t1 partition (p1);
|
While case 1. works correctly, case 2. leads to record 5 still be in p0. Note that case 2. produces no warning when record 6 is inserted.
|