mirror of
https://github.com/MariaDB/server.git
synced 2025-08-06 10:31:36 +02:00
240 lines
12 KiB
Text
240 lines
12 KiB
Text
--- suite/versioning/r/delete_history.result
|
|
+++ suite/versioning/r/delete_history.reject
|
|
@@ -167,7 +167,7 @@
|
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 1 100.00 Using where
|
|
Warnings:
|
|
-Note 1003 delete from `test`.`t1` FOR SYSTEM_TIME BEFORE TIMESTAMP '2039-01-01 23:00' using dual where `test`.`t1`.`row_end` < TIMESTAMP/*WITH LOCAL TIME ZONE*/'2039-01-01 23:00:00' and is_history(`test`.`t1`.`row_end`)
|
|
+Note 1003 delete from `test`.`t1` FOR SYSTEM_TIME BEFORE TIMESTAMP '2039-01-01 23:00' using dual where `test`.`t1`.`row_end` < '2039-01-01 23:00' and is_history(`test`.`t1`.`row_end`)
|
|
create or replace procedure p() delete history from t1 before system_time '2039-01-01 23:00';
|
|
call p;
|
|
select * from t1;
|
|
@@ -275,65 +275,65 @@
|
|
a row_start row_end
|
|
1 2000-01-01 00:00:00.000000 2000-01-01 00:00:01.000000
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
select *, row_start, row_end from t for system_time as of @ts1;
|
|
a row_start row_end
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
execute immediate "select *, row_start, row_end from t for system_time as of ?" using @ts1;
|
|
a row_start row_end
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
prepare stmt from 'select *, row_start, row_end from t for system_time as of ?';
|
|
execute stmt using @ts1;
|
|
a row_start row_end
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
Execute stmt using @ts1;
|
|
a row_start row_end
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
select *, row_start, row_end from t for system_time as of @ts2;
|
|
a row_start row_end
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute immediate "select *, row_start, row_end from t for system_time as of ?" using @ts2;
|
|
a row_start row_end
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using @ts2;
|
|
a row_start row_end
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
Execute stmt using @ts2;
|
|
a row_start row_end
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
drop prepare stmt;
|
|
execute immediate "delete history from t before system_time @ts1";
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
1 2000-01-01 00:00:00.000000 2000-01-01 00:00:01.000000
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute immediate "delete history from t before system_time @ts2";
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute immediate "delete history from t before system_time ?" using @ts3;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute immediate "delete history from t before system_time ?" using @ts3;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
-3 2000-01-01 00:00:02.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+3 2000-01-01 00:00:02.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
update t set a= a + 1 where a < 100;
|
|
set @ts4= '2000-01-01 00:00:04';
|
|
set timestamp= unix_timestamp(@ts4);
|
|
@@ -342,14 +342,14 @@
|
|
a row_start row_end
|
|
3 2000-01-01 00:00:02.000000 2000-01-01 00:00:03.000000
|
|
4 2000-01-01 00:00:03.000000 2000-01-01 00:00:04.000000
|
|
-5 2000-01-01 00:00:04.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+5 2000-01-01 00:00:04.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute immediate "delete history from t before system_time ?" using '2000-01-01 00:00:04';
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
4 2000-01-01 00:00:03.000000 2000-01-01 00:00:04.000000
|
|
-5 2000-01-01 00:00:04.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+5 2000-01-01 00:00:04.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
set @ts5= '2000-01-01 00:00:05';
|
|
set timestamp= unix_timestamp(@ts5);
|
|
update t set a= a + 1 where a < 100;
|
|
@@ -365,8 +365,8 @@
|
|
5 2000-01-01 00:00:04.000000 2000-01-01 00:00:05.000000
|
|
6 2000-01-01 00:00:05.000000 2000-01-01 00:00:06.000000
|
|
7 2000-01-01 00:00:06.000000 2000-01-01 00:00:07.000000
|
|
-8 2000-01-01 00:00:07.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+8 2000-01-01 00:00:07.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
prepare stmt from 'delete history from t before system_time ?';
|
|
execute stmt using @ts4;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
@@ -375,36 +375,36 @@
|
|
5 2000-01-01 00:00:04.000000 2000-01-01 00:00:05.000000
|
|
6 2000-01-01 00:00:05.000000 2000-01-01 00:00:06.000000
|
|
7 2000-01-01 00:00:06.000000 2000-01-01 00:00:07.000000
|
|
-8 2000-01-01 00:00:07.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+8 2000-01-01 00:00:07.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using @ts5;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
5 2000-01-01 00:00:04.000000 2000-01-01 00:00:05.000000
|
|
6 2000-01-01 00:00:05.000000 2000-01-01 00:00:06.000000
|
|
7 2000-01-01 00:00:06.000000 2000-01-01 00:00:07.000000
|
|
-8 2000-01-01 00:00:07.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+8 2000-01-01 00:00:07.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using @ts6;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
6 2000-01-01 00:00:05.000000 2000-01-01 00:00:06.000000
|
|
7 2000-01-01 00:00:06.000000 2000-01-01 00:00:07.000000
|
|
-8 2000-01-01 00:00:07.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+8 2000-01-01 00:00:07.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using '2000-01-01 00:00:06';
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
6 2000-01-01 00:00:05.000000 2000-01-01 00:00:06.000000
|
|
7 2000-01-01 00:00:06.000000 2000-01-01 00:00:07.000000
|
|
-8 2000-01-01 00:00:07.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+8 2000-01-01 00:00:07.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using '2000-01-01 00:00:06.000001';
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
7 2000-01-01 00:00:06.000000 2000-01-01 00:00:07.000000
|
|
-8 2000-01-01 00:00:07.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+8 2000-01-01 00:00:07.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
set @ts8= '2000-01-01 00:00:08';
|
|
set timestamp= unix_timestamp(@ts8);
|
|
delete from t;
|
|
@@ -438,8 +438,8 @@
|
|
1 2000-01-01 00:00:00.000000 2000-01-01 00:00:01.000000
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
3 2000-01-01 00:00:02.000000 2000-01-01 00:00:03.000000
|
|
-4 2000-01-01 00:00:03.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+4 2000-01-01 00:00:03.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using @ts1, 0;
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect DOUBLE value: '2000-01-01 00:00:01'
|
|
@@ -452,40 +452,40 @@
|
|
1 2000-01-01 00:00:00.000000 2000-01-01 00:00:01.000000
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
3 2000-01-01 00:00:02.000000 2000-01-01 00:00:03.000000
|
|
-4 2000-01-01 00:00:03.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+4 2000-01-01 00:00:03.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using @ts2, 0;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
3 2000-01-01 00:00:02.000000 2000-01-01 00:00:03.000000
|
|
-4 2000-01-01 00:00:03.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+4 2000-01-01 00:00:03.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using @@timestamp, NULL;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
3 2000-01-01 00:00:02.000000 2000-01-01 00:00:03.000000
|
|
-4 2000-01-01 00:00:03.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+4 2000-01-01 00:00:03.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using NULL, NULL;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
2 2000-01-01 00:00:01.000000 2000-01-01 00:00:02.000000
|
|
3 2000-01-01 00:00:02.000000 2000-01-01 00:00:03.000000
|
|
-4 2000-01-01 00:00:03.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+4 2000-01-01 00:00:03.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using @ts2, 1;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
3 2000-01-01 00:00:02.000000 2000-01-01 00:00:03.000000
|
|
-4 2000-01-01 00:00:03.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+4 2000-01-01 00:00:03.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
execute stmt using @ts2, @ts2;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|
|
-4 2000-01-01 00:00:03.000000 2106-02-07 06:28:15.999999
|
|
-100 2000-01-01 00:00:00.000000 2106-02-07 06:28:15.999999
|
|
+4 2000-01-01 00:00:03.000000 2038-01-19 03:14:07.999999
|
|
+100 2000-01-01 00:00:00.000000 2038-01-19 03:14:07.999999
|
|
delete from t;
|
|
select *, row_start, row_end from t for system_time all order by a;
|
|
a row_start row_end
|