Skip to content

Commit

Permalink
reference transparent_decompress_chunk-* ordered_append-* ordered_app…
Browse files Browse the repository at this point in the history
…end_join-*
  • Loading branch information
akuzm committed Jan 24, 2024
1 parent f3b857c commit 0501724
Show file tree
Hide file tree
Showing 3 changed files with 470 additions and 448 deletions.
144 changes: 94 additions & 50 deletions tsl/test/shared/expected/ordered_append-14.out
Original file line number Diff line number Diff line change
Expand Up @@ -2189,15 +2189,23 @@ QUERY PLAN
-> Custom Scan (ChunkAppend) on metrics_compressed (actual rows=1 loops=1)
Order: metrics_compressed."time" DESC
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=1 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=1 loops=1)
Index Cond: (device_id = 1)
-> Sort (actual rows=1 loops=1)
Sort Key: compress_hyper_X_X_chunk._ts_meta_sequence_num
Sort Method: quicksort
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=6 loops=1)
Filter: (device_id = 1)
Rows Removed by Filter: 24
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (never executed)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (never executed)
Index Cond: (device_id = 1)
-> Sort (never executed)
Sort Key: compress_hyper_X_X_chunk._ts_meta_sequence_num
-> Seq Scan on compress_hyper_X_X_chunk (never executed)
Filter: (device_id = 1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (never executed)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (never executed)
Index Cond: (device_id = 1)
(12 rows)
-> Sort (never executed)
Sort Key: compress_hyper_X_X_chunk._ts_meta_sequence_num
-> Seq Scan on compress_hyper_X_X_chunk (never executed)
Filter: (device_id = 1)
(20 rows)

-- test RECORD in targetlist
:PREFIX
Expand All @@ -2214,15 +2222,23 @@ QUERY PLAN
-> Custom Scan (ChunkAppend) on metrics_compressed (actual rows=1 loops=1)
Order: metrics_compressed."time" DESC
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=1 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=1 loops=1)
Index Cond: (device_id = 1)
-> Sort (actual rows=1 loops=1)
Sort Key: compress_hyper_X_X_chunk._ts_meta_sequence_num
Sort Method: quicksort
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=6 loops=1)
Filter: (device_id = 1)
Rows Removed by Filter: 24
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (never executed)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (never executed)
Index Cond: (device_id = 1)
-> Sort (never executed)
Sort Key: compress_hyper_X_X_chunk._ts_meta_sequence_num
-> Seq Scan on compress_hyper_X_X_chunk (never executed)
Filter: (device_id = 1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (never executed)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (never executed)
Index Cond: (device_id = 1)
(12 rows)
-> Sort (never executed)
Sort Key: compress_hyper_X_X_chunk._ts_meta_sequence_num
-> Seq Scan on compress_hyper_X_X_chunk (never executed)
Filter: (device_id = 1)
(20 rows)

-- test sort column not in targetlist
:PREFIX
Expand Down Expand Up @@ -2260,12 +2276,21 @@ QUERY PLAN
-> Merge Append (actual rows=1 loops=1)
Sort Key: _hyper_X_X_chunk.device_id
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=1 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=1 loops=1)
-> Sort (actual rows=1 loops=1)
Sort Key: compress_hyper_X_X_chunk.device_id
Sort Method: quicksort
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=20 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=1 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=1 loops=1)
-> Sort (actual rows=1 loops=1)
Sort Key: compress_hyper_X_X_chunk.device_id
Sort Method: quicksort
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=30 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=1 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=1 loops=1)
(9 rows)
-> Sort (actual rows=1 loops=1)
Sort Key: compress_hyper_X_X_chunk.device_id
Sort Method: quicksort
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=30 loops=1)
(18 rows)

-- time column must be primary sort order
:PREFIX
Expand All @@ -2284,21 +2309,24 @@ QUERY PLAN
-> Sort (actual rows=1 loops=1)
Sort Key: compress_hyper_X_X_chunk.device_id, compress_hyper_X_X_chunk._ts_meta_sequence_num DESC
Sort Method: quicksort
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=8 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=8 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 12
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=1 loops=1)
-> Sort (actual rows=1 loops=1)
Sort Key: compress_hyper_X_X_chunk.device_id, compress_hyper_X_X_chunk._ts_meta_sequence_num DESC
Sort Method: quicksort
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 18
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=1 loops=1)
-> Sort (actual rows=1 loops=1)
Sort Key: compress_hyper_X_X_chunk.device_id, compress_hyper_X_X_chunk._ts_meta_sequence_num DESC
Sort Method: quicksort
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
(21 rows)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 18
(24 rows)

-- test equality constraint on ORDER BY prefix
-- currently not optimized
Expand Down Expand Up @@ -2334,20 +2362,30 @@ FROM :TEST_TABLE
WHERE device_id IN (1, 2)
ORDER BY time ASC;
QUERY PLAN
Sort (actual rows=27348 loops=1)
Sort Key: _hyper_X_X_chunk."time"
Sort Method: quicksort
-> Append (actual rows=27348 loops=1)
Custom Scan (ChunkAppend) on metrics_compressed (actual rows=27348 loops=1)
Order: metrics_compressed."time"
-> Sort (actual rows=7196 loops=1)
Sort Key: _hyper_X_X_chunk."time"
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=7196 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=8 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=8 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 12
-> Sort (actual rows=10076 loops=1)
Sort Key: _hyper_X_X_chunk."time"
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=10076 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 18
-> Sort (actual rows=10076 loops=1)
Sort Key: _hyper_X_X_chunk."time"
Sort Method: quicksort
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=10076 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
(13 rows)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 18
(23 rows)

-- queries without ORDER BY shouldnt use ordered append
:PREFIX
Expand Down Expand Up @@ -2695,15 +2733,18 @@ QUERY PLAN
-> Result (actual rows=27348 loops=1)
-> Append (actual rows=27348 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=7196 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=8 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=8 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 12
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=10076 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 18
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=10076 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
(15 rows)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 18
(18 rows)

-- test query with ORDER BY date_trunc
:PREFIX
Expand Down Expand Up @@ -2766,15 +2807,18 @@ QUERY PLAN
-> Result (actual rows=27348 loops=1)
-> Append (actual rows=27348 loops=1)
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=7196 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=8 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=8 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 12
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=10076 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 18
-> Custom Scan (DecompressChunk) on _hyper_X_X_chunk (actual rows=10076 loops=1)
-> Index Scan using compress_hyper_X_X_chunk_device_id__ts_meta_sequence_num_idx on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Index Cond: (device_id = ANY ('{1,2}'::integer[]))
(15 rows)
-> Seq Scan on compress_hyper_X_X_chunk (actual rows=12 loops=1)
Filter: (device_id = ANY ('{1,2}'::integer[]))
Rows Removed by Filter: 18
(18 rows)

-- test query with now() should result in ordered ChunkAppend
:PREFIX
Expand Down

0 comments on commit 0501724

Please sign in to comment.