mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01: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
 | 
