-
Notifications
You must be signed in to change notification settings - Fork 849
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch enables the regresscheck-shared testsuite to run on PG13
- Loading branch information
Showing
15 changed files
with
18,706 additions
and
4 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
268 changes: 268 additions & 0 deletions
268
tsl/test/shared/expected/constify_timestamptz_op_interval-13.out
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,268 @@ | ||
-- This file and its contents are licensed under the Timescale License. | ||
-- Please see the included NOTICE for copyright information and | ||
-- LICENSE-TIMESCALE for a copy of the license. | ||
\set PREFIX 'EXPLAIN (costs off)' | ||
-- we disable ChunkAppend and ConstraintAwareAppend here to make the exclusion easier to spot | ||
-- otherwise those would remove the chunks from the plan during execution | ||
SET timescaledb.enable_chunk_append TO FALSE; | ||
SET timescaledb.enable_constraint_aware_append TO FALSE; | ||
-- plan query on complete hypertable to get a list of the chunks | ||
:PREFIX | ||
SELECT time | ||
FROM metrics; | ||
QUERY PLAN | ||
------------------------------------ | ||
Append | ||
-> Seq Scan on _hyper_1_1_chunk | ||
-> Seq Scan on _hyper_1_2_chunk | ||
-> Seq Scan on _hyper_1_3_chunk | ||
(4 rows) | ||
|
||
-- all of these should have all chunk exclusion happening at plan time | ||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '2000-01-01'::timestamptz - '6h'::interval; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------- | ||
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)) | ||
(2 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '2000-01-01'::timestamptz + '6h'::interval; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------- | ||
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone + '@ 6 hours'::interval)) | ||
(2 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '6h'::interval + '2000-01-01'::timestamptz; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------- | ||
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone + '@ 6 hours'::interval)) | ||
(2 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '2000-01-07'::timestamptz - '7 day 8 seconds'::interval; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------------- | ||
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Fri Jan 07 00:00:00 2000 PST'::timestamp with time zone - '@ 7 days 8 secs'::interval)) | ||
(2 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '2000-03-01'::timestamptz - '60 day'::interval; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------- | ||
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Wed Mar 01 00:00:00 2000 PST'::timestamp with time zone - '@ 60 days'::interval)) | ||
(2 rows) | ||
|
||
-- test Var on right side of expression | ||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE '2000-01-01'::timestamptz - '6h'::interval > time; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------- | ||
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)) | ||
(2 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE '2000-01-07'::timestamptz - '7 day'::interval > time; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------ | ||
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Fri Jan 07 00:00:00 2000 PST'::timestamp with time zone - '@ 7 days'::interval)) | ||
(2 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE '2000-03-01'::timestamptz - '60 day'::interval > time; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------- | ||
Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Wed Mar 01 00:00:00 2000 PST'::timestamp with time zone - '@ 60 days'::interval)) | ||
(2 rows) | ||
|
||
-- test multiple constraints | ||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time > '2000-01-10'::timestamptz - '6h'::interval | ||
AND time < '2000-01-10'::timestamptz + '6h'::interval; | ||
QUERY PLAN | ||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk | ||
Index Cond: (("time" > ('Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)) AND ("time" < ('Mon Jan 10 00:00:00 2000 PST'::timestamp with time zone + '@ 6 hours'::interval))) | ||
(2 rows) | ||
|
||
-- test on space-partitioned hypertable | ||
:PREFIX | ||
SELECT time | ||
FROM metrics_space | ||
WHERE time < '2000-01-01'::timestamptz - '6h'::interval | ||
AND device_id = 1; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------- | ||
Index Scan using _hyper_2_4_chunk_metrics_space_time_idx on _hyper_2_4_chunk | ||
Index Cond: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)) | ||
Filter: (device_id = 1) | ||
(3 rows) | ||
|
||
-- test on compressed hypertable | ||
:PREFIX | ||
SELECT time | ||
FROM metrics_compressed | ||
WHERE time < '2000-01-01'::timestamptz - '6h'::interval; | ||
QUERY PLAN | ||
----------------------------------------------------------------------------------------------------------------------- | ||
Custom Scan (DecompressChunk) on _hyper_3_13_chunk | ||
Filter: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)) | ||
-> Seq Scan on compress_hyper_4_18_chunk | ||
Filter: (_ts_meta_min_1 < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)) | ||
(4 rows) | ||
|
||
-- test on space-partitioned compressed hypertable | ||
:PREFIX | ||
SELECT time | ||
FROM metrics_space_compressed | ||
WHERE time < '2000-01-01'::timestamptz - '6h'::interval | ||
AND device_id = 1; | ||
QUERY PLAN | ||
--------------------------------------------------------------------------------------------------------------------------------------------- | ||
Custom Scan (DecompressChunk) on _hyper_5_19_chunk | ||
Filter: ("time" < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval)) | ||
-> Seq Scan on compress_hyper_6_36_chunk | ||
Filter: ((device_id = 1) AND (_ts_meta_min_1 < ('Sat Jan 01 00:00:00 2000 PST'::timestamp with time zone - '@ 6 hours'::interval))) | ||
(4 rows) | ||
|
||
-- month/year intervals are not constified | ||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '2000-02-01'::timestamptz - '1 month'::interval; | ||
QUERY PLAN | ||
----------------------------------------------------------------------------------------------------------------- | ||
Append | ||
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon'::interval)) | ||
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon'::interval)) | ||
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon'::interval)) | ||
(7 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '2000-02-01'::timestamptz - '1 month - 1 day'::interval; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------------------- | ||
Append | ||
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon -1 days'::interval)) | ||
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon -1 days'::interval)) | ||
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon -1 days'::interval)) | ||
(7 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '2000-02-01'::timestamptz - '1 month + 1 day'::interval; | ||
QUERY PLAN | ||
----------------------------------------------------------------------------------------------------------------------- | ||
Append | ||
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon 1 day'::interval)) | ||
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon 1 day'::interval)) | ||
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 mon 1 day'::interval)) | ||
(7 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE '2000-02-01'::timestamptz - '1 year'::interval > time; | ||
QUERY PLAN | ||
------------------------------------------------------------------------------------------------------------------ | ||
Append | ||
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 year'::interval)) | ||
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 year'::interval)) | ||
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk | ||
Index Cond: ("time" < ('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone - '@ 1 year'::interval)) | ||
(7 rows) | ||
|
||
-- nested expressions are not constified | ||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '1 day' + '2000-02-01'::timestamptz - '1 month'::interval; | ||
QUERY PLAN | ||
----------------------------------------------------------------------------------------------------------------------------------------- | ||
Append | ||
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" < (('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone + '@ 1 day'::interval) - '@ 1 mon'::interval)) | ||
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk | ||
Index Cond: ("time" < (('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone + '@ 1 day'::interval) - '@ 1 mon'::interval)) | ||
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk | ||
Index Cond: ("time" < (('Tue Feb 01 00:00:00 2000 PST'::timestamp with time zone + '@ 1 day'::interval) - '@ 1 mon'::interval)) | ||
(7 rows) | ||
|
||
-- non-Const expressions are not constified | ||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time > now() - '6h'::interval; | ||
QUERY PLAN | ||
----------------------------------------------------------------------------------- | ||
Append | ||
-> Index Only Scan using _hyper_1_1_chunk_metrics_time_idx on _hyper_1_1_chunk | ||
Index Cond: ("time" > (now() - '@ 6 hours'::interval)) | ||
-> Index Only Scan using _hyper_1_2_chunk_metrics_time_idx on _hyper_1_2_chunk | ||
Index Cond: ("time" > (now() - '@ 6 hours'::interval)) | ||
-> Index Only Scan using _hyper_1_3_chunk_metrics_time_idx on _hyper_1_3_chunk | ||
Index Cond: ("time" > (now() - '@ 6 hours'::interval)) | ||
(7 rows) | ||
|
||
-- test NULL values | ||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < '2000-02-01'::timestamptz - NULL::interval; | ||
QUERY PLAN | ||
-------------------------- | ||
Result | ||
One-Time Filter: false | ||
(2 rows) | ||
|
||
:PREFIX | ||
SELECT time | ||
FROM metrics | ||
WHERE time < NULL::timestamptz - NULL::interval; | ||
QUERY PLAN | ||
-------------------------- | ||
Result | ||
One-Time Filter: false | ||
(2 rows) | ||
|
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
File renamed without changes.
Oops, something went wrong.