diff --git a/tsl/src/nodes/columnar_scan/columnar_scan.c b/tsl/src/nodes/columnar_scan/columnar_scan.c index f67399028b6..58505c84f9b 100644 --- a/tsl/src/nodes/columnar_scan/columnar_scan.c +++ b/tsl/src/nodes/columnar_scan/columnar_scan.c @@ -2378,7 +2378,19 @@ columnar_scan_path_create(PlannerInfo *root, const CompressionInfo *compression_ path->custom_path.path.param_info = NULL; } - path->custom_path.flags = 0; + /* + * Setting this flags means that Postgres can change the result targetlist + * after the plan creation. This node can cope with this because it performs + * the usual Postgres projection to produce the result tuple from the scan + * tuple. The decompression-specific code works before that, and produces + * the scan tuple based on the compressed tuple. The scan tuple descriptor + * is based either on custom_scan_tlist or scanrelid, and the decompression + * map is based on the compressed tuple, so they are not dependent on the + * result targetlist, and we can allow it to be changed later. This allows + * us to avoid a separate Result node, for a small performance saving. + */ + path->custom_path.flags = CUSTOMPATH_SUPPORT_PROJECTION; + path->custom_path.methods = &columnar_scan_path_methods; path->batch_sorted_merge = false; diff --git a/tsl/test/expected/compress_sort_transform.out b/tsl/test/expected/compress_sort_transform.out index c6ac98f17a8..def0a975305 100644 --- a/tsl/test/expected/compress_sort_transform.out +++ b/tsl/test/expected/compress_sort_transform.out @@ -227,28 +227,25 @@ order by 1 limit 1; Order: time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time") -> Merge Append (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time")) - -> Result (actual rows=1.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (actual rows=1.00 loops=1) - -> Sort (actual rows=3.00 loops=1) - Sort Key: compress_hyper_2_4_chunk._ts_meta_min_1 - Sort Method: quicksort - -> Seq Scan on compress_hyper_2_4_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (actual rows=1.00 loops=1) + -> Sort (actual rows=3.00 loops=1) + Sort Key: compress_hyper_2_4_chunk._ts_meta_min_1 + Sort Method: quicksort + -> Seq Scan on compress_hyper_2_4_chunk (actual rows=3.00 loops=1) -> Index Scan Backward using _hyper_1_1_chunk_ht_metrics_partially_compressed_time_idx on _hyper_1_1_chunk (actual rows=1.00 loops=1) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (never executed) - -> Sort (never executed) - Sort Key: compress_hyper_2_5_chunk._ts_meta_min_1 - -> Seq Scan on compress_hyper_2_5_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (never executed) + -> Sort (never executed) + Sort Key: compress_hyper_2_5_chunk._ts_meta_min_1 + -> Seq Scan on compress_hyper_2_5_chunk (never executed) -> Index Scan Backward using _hyper_1_2_chunk_ht_metrics_partially_compressed_time_idx on _hyper_1_2_chunk (never executed) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (never executed) - -> Sort (never executed) - Sort Key: compress_hyper_2_6_chunk._ts_meta_min_1 - -> Seq Scan on compress_hyper_2_6_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (never executed) + -> Sort (never executed) + Sort Key: compress_hyper_2_6_chunk._ts_meta_min_1 + -> Seq Scan on compress_hyper_2_6_chunk (never executed) -> Index Scan Backward using _hyper_1_3_chunk_ht_metrics_partially_compressed_time_idx on _hyper_1_3_chunk (never executed) -- Ordering by time_bucket, but it's not in the SELECT list. @@ -261,28 +258,25 @@ order by time_bucket('1 minute', time) limit 1; Order: time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time") -> Merge Append (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time")) - -> Result (actual rows=1.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (actual rows=1.00 loops=1) - -> Sort (actual rows=3.00 loops=1) - Sort Key: compress_hyper_2_4_chunk._ts_meta_min_1 - Sort Method: quicksort - -> Seq Scan on compress_hyper_2_4_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (actual rows=1.00 loops=1) + -> Sort (actual rows=3.00 loops=1) + Sort Key: compress_hyper_2_4_chunk._ts_meta_min_1 + Sort Method: quicksort + -> Seq Scan on compress_hyper_2_4_chunk (actual rows=3.00 loops=1) -> Index Scan Backward using _hyper_1_1_chunk_ht_metrics_partially_compressed_time_idx on _hyper_1_1_chunk (actual rows=1.00 loops=1) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (never executed) - -> Sort (never executed) - Sort Key: compress_hyper_2_5_chunk._ts_meta_min_1 - -> Seq Scan on compress_hyper_2_5_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (never executed) + -> Sort (never executed) + Sort Key: compress_hyper_2_5_chunk._ts_meta_min_1 + -> Seq Scan on compress_hyper_2_5_chunk (never executed) -> Index Scan Backward using _hyper_1_2_chunk_ht_metrics_partially_compressed_time_idx on _hyper_1_2_chunk (never executed) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (never executed) - -> Sort (never executed) - Sort Key: compress_hyper_2_6_chunk._ts_meta_min_1 - -> Seq Scan on compress_hyper_2_6_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (never executed) + -> Sort (never executed) + Sort Key: compress_hyper_2_6_chunk._ts_meta_min_1 + -> Seq Scan on compress_hyper_2_6_chunk (never executed) -> Index Scan Backward using _hyper_1_3_chunk_ht_metrics_partially_compressed_time_idx on _hyper_1_3_chunk (never executed) -- Ordering in compressed data order. @@ -293,32 +287,29 @@ order by device, time_bucket('1 minute', time) limit 1; Limit (actual rows=1.00 loops=1) -> Merge Append (actual rows=1.00 loops=1) Sort Key: ht_metrics_partially_compressed.device, (time_bucket('@ 1 min'::interval, ht_metrics_partially_compressed."time")) - -> Result (actual rows=1.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (actual rows=1.00 loops=1) - -> Sort (actual rows=1.00 loops=1) - Sort Key: compress_hyper_2_4_chunk.device, compress_hyper_2_4_chunk._ts_meta_min_1, compress_hyper_2_4_chunk._ts_meta_max_1 - Sort Method: quicksort - -> Seq Scan on compress_hyper_2_4_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (actual rows=1.00 loops=1) + -> Sort (actual rows=1.00 loops=1) + Sort Key: compress_hyper_2_4_chunk.device, compress_hyper_2_4_chunk._ts_meta_min_1, compress_hyper_2_4_chunk._ts_meta_max_1 + Sort Method: quicksort + -> Seq Scan on compress_hyper_2_4_chunk (actual rows=3.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: _hyper_1_1_chunk.device, (time_bucket('@ 1 min'::interval, _hyper_1_1_chunk."time")) Sort Method: top-N heapsort -> Seq Scan on _hyper_1_1_chunk (actual rows=960.00 loops=1) - -> Result (actual rows=1.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (actual rows=1.00 loops=1) - -> Sort (actual rows=1.00 loops=1) - Sort Key: compress_hyper_2_5_chunk.device, compress_hyper_2_5_chunk._ts_meta_min_1, compress_hyper_2_5_chunk._ts_meta_max_1 - Sort Method: quicksort - -> Seq Scan on compress_hyper_2_5_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (actual rows=1.00 loops=1) + -> Sort (actual rows=1.00 loops=1) + Sort Key: compress_hyper_2_5_chunk.device, compress_hyper_2_5_chunk._ts_meta_min_1, compress_hyper_2_5_chunk._ts_meta_max_1 + Sort Method: quicksort + -> Seq Scan on compress_hyper_2_5_chunk (actual rows=3.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: _hyper_1_2_chunk.device, (time_bucket('@ 1 min'::interval, _hyper_1_2_chunk."time")) Sort Method: top-N heapsort -> Seq Scan on _hyper_1_2_chunk (actual rows=1008.00 loops=1) - -> Result (actual rows=1.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (actual rows=1.00 loops=1) - -> Sort (actual rows=1.00 loops=1) - Sort Key: compress_hyper_2_6_chunk.device, compress_hyper_2_6_chunk._ts_meta_min_1, compress_hyper_2_6_chunk._ts_meta_max_1 - Sort Method: quicksort - -> Seq Scan on compress_hyper_2_6_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (actual rows=1.00 loops=1) + -> Sort (actual rows=1.00 loops=1) + Sort Key: compress_hyper_2_6_chunk.device, compress_hyper_2_6_chunk._ts_meta_min_1, compress_hyper_2_6_chunk._ts_meta_max_1 + Sort Method: quicksort + -> Seq Scan on compress_hyper_2_6_chunk (actual rows=3.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: _hyper_1_3_chunk.device, (time_bucket('@ 1 min'::interval, _hyper_1_3_chunk."time")) Sort Method: top-N heapsort diff --git a/tsl/test/expected/compression_sorted_merge.out b/tsl/test/expected/compression_sorted_merge.out index 93cc7ae93ee..f497cc643ff 100644 --- a/tsl/test/expected/compression_sorted_merge.out +++ b/tsl/test/expected/compression_sorted_merge.out @@ -1339,19 +1339,17 @@ set timescaledb.debug_require_batch_sorted_merge to 'force'; :PREFIX SELECT "time","hin"::text,"model"::text,"block"::text,"message_name"::text,"signal_name"::text,"signal_numeric_value","signal_string_value"::text FROM :chunk_table_bugtab ORDER BY "time" DESC; --- QUERY PLAN --- - Result (actual rows=1.00 loops=1) + Custom Scan (ColumnarScan) on _timescaledb_internal._hyper_11_23_chunk (actual rows=1.00 loops=1) Output: _hyper_11_23_chunk."time", (_hyper_11_23_chunk.hin)::text, (_hyper_11_23_chunk.model)::text, (_hyper_11_23_chunk.block)::text, (_hyper_11_23_chunk.message_name)::text, (_hyper_11_23_chunk.signal_name)::text, _hyper_11_23_chunk.signal_numeric_value, (_hyper_11_23_chunk.signal_string_value)::text - -> Custom Scan (ColumnarScan) on _timescaledb_internal._hyper_11_23_chunk (actual rows=1.00 loops=1) - Output: _hyper_11_23_chunk."time", _hyper_11_23_chunk.hin, _hyper_11_23_chunk.model, _hyper_11_23_chunk.block, _hyper_11_23_chunk.message_name, _hyper_11_23_chunk.signal_name, _hyper_11_23_chunk.signal_numeric_value, _hyper_11_23_chunk.signal_string_value - Batch Sorted Merge: true - Reverse: true - Bulk Decompression: false - -> Sort (actual rows=1.00 loops=1) + Batch Sorted Merge: true + Reverse: true + Bulk Decompression: false + -> Sort (actual rows=1.00 loops=1) + Output: compress_hyper_12_24_chunk._ts_meta_count, compress_hyper_12_24_chunk.hin, compress_hyper_12_24_chunk.signal_name, compress_hyper_12_24_chunk._ts_meta_min_1, compress_hyper_12_24_chunk._ts_meta_max_1, compress_hyper_12_24_chunk."time", compress_hyper_12_24_chunk.model, compress_hyper_12_24_chunk.block, compress_hyper_12_24_chunk.message_name, compress_hyper_12_24_chunk.signal_numeric_value, compress_hyper_12_24_chunk.signal_string_value + Sort Key: compress_hyper_12_24_chunk._ts_meta_max_1 DESC + Sort Method: quicksort + -> Seq Scan on _timescaledb_internal.compress_hyper_12_24_chunk (actual rows=1.00 loops=1) Output: compress_hyper_12_24_chunk._ts_meta_count, compress_hyper_12_24_chunk.hin, compress_hyper_12_24_chunk.signal_name, compress_hyper_12_24_chunk._ts_meta_min_1, compress_hyper_12_24_chunk._ts_meta_max_1, compress_hyper_12_24_chunk."time", compress_hyper_12_24_chunk.model, compress_hyper_12_24_chunk.block, compress_hyper_12_24_chunk.message_name, compress_hyper_12_24_chunk.signal_numeric_value, compress_hyper_12_24_chunk.signal_string_value - Sort Key: compress_hyper_12_24_chunk._ts_meta_max_1 DESC - Sort Method: quicksort - -> Seq Scan on _timescaledb_internal.compress_hyper_12_24_chunk (actual rows=1.00 loops=1) - Output: compress_hyper_12_24_chunk._ts_meta_count, compress_hyper_12_24_chunk.hin, compress_hyper_12_24_chunk.signal_name, compress_hyper_12_24_chunk._ts_meta_min_1, compress_hyper_12_24_chunk._ts_meta_max_1, compress_hyper_12_24_chunk."time", compress_hyper_12_24_chunk.model, compress_hyper_12_24_chunk.block, compress_hyper_12_24_chunk.message_name, compress_hyper_12_24_chunk.signal_numeric_value, compress_hyper_12_24_chunk.signal_string_value SELECT "time","hin"::text,"model"::text,"block"::text,"message_name"::text,"signal_name"::text,"signal_numeric_value","signal_string_value"::text FROM :chunk_table_bugtab ORDER BY "time" DESC; time | hin | model | block | message_name | signal_name | signal_numeric_value | signal_string_value diff --git a/tsl/test/expected/merge_append_partially_compressed.out b/tsl/test/expected/merge_append_partially_compressed.out index 59bd6cac59f..30e2c159224 100644 --- a/tsl/test/expected/merge_append_partially_compressed.out +++ b/tsl/test/expected/merge_append_partially_compressed.out @@ -155,9 +155,8 @@ SELECT show_chunks('ht_metrics_compressed') AS "CHUNK" LIMIT 1 \gset -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_1_1_chunk."time")) DESC, _hyper_1_1_chunk.device Sort Method: top-N heapsort - -> Result (actual rows=84.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (actual rows=84.00 loops=1) - -> Seq Scan on compress_hyper_2_4_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (actual rows=84.00 loops=1) + -> Seq Scan on compress_hyper_2_4_chunk (actual rows=3.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_1_1_chunk."time")) DESC, _hyper_1_1_chunk.device Sort Method: top-N heapsort @@ -165,9 +164,8 @@ SELECT show_chunks('ht_metrics_compressed') AS "CHUNK" LIMIT 1 \gset -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_1_2_chunk."time")) DESC, _hyper_1_2_chunk.device Sort Method: top-N heapsort - -> Result (actual rows=84.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (actual rows=84.00 loops=1) - -> Seq Scan on compress_hyper_2_5_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (actual rows=84.00 loops=1) + -> Seq Scan on compress_hyper_2_5_chunk (actual rows=3.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_1_2_chunk."time")) DESC, _hyper_1_2_chunk.device Sort Method: top-N heapsort @@ -175,9 +173,8 @@ SELECT show_chunks('ht_metrics_compressed') AS "CHUNK" LIMIT 1 \gset -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_1_3_chunk."time")) DESC, _hyper_1_3_chunk.device Sort Method: top-N heapsort - -> Result (actual rows=27.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (actual rows=27.00 loops=1) - -> Seq Scan on compress_hyper_2_6_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (actual rows=27.00 loops=1) + -> Seq Scan on compress_hyper_2_6_chunk (actual rows=3.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_1_3_chunk."time")) DESC, _hyper_1_3_chunk.device Sort Method: top-N heapsort @@ -221,25 +218,22 @@ SELECT show_chunks('ht_metrics_compressed') AS "CHUNK" LIMIT 1 \gset -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 2 days'::interval, _hyper_1_3_chunk."time")) DESC Sort Method: top-N heapsort - -> Result (actual rows=27.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (actual rows=27.00 loops=1) - -> Seq Scan on compress_hyper_2_6_chunk (actual rows=3.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_1_3_chunk (actual rows=27.00 loops=1) + -> Seq Scan on compress_hyper_2_6_chunk (actual rows=3.00 loops=1) -> Index Scan using _hyper_1_3_chunk_ht_metrics_compressed_time_idx on _hyper_1_3_chunk (actual rows=1.00 loops=1) -> Merge Append (never executed) Sort Key: (time_bucket('@ 2 days'::interval, ht_metrics_compressed."time")) DESC -> Sort (never executed) Sort Key: (time_bucket('@ 2 days'::interval, _hyper_1_2_chunk."time")) DESC - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (never executed) - -> Seq Scan on compress_hyper_2_5_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_1_2_chunk (never executed) + -> Seq Scan on compress_hyper_2_5_chunk (never executed) -> Index Scan using _hyper_1_2_chunk_ht_metrics_compressed_time_idx on _hyper_1_2_chunk (never executed) -> Merge Append (never executed) Sort Key: (time_bucket('@ 2 days'::interval, ht_metrics_compressed."time")) DESC -> Sort (never executed) Sort Key: (time_bucket('@ 2 days'::interval, _hyper_1_1_chunk."time")) DESC - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (never executed) - -> Seq Scan on compress_hyper_2_4_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_1_1_chunk (never executed) + -> Seq Scan on compress_hyper_2_4_chunk (never executed) -> Index Scan using _hyper_1_1_chunk_ht_metrics_compressed_time_idx on _hyper_1_1_chunk (never executed) :PREFIX SELECT * FROM ht_metrics_compressed WHERE device IN (1,2,3) ORDER BY time DESC LIMIT 1; diff --git a/tsl/test/expected/ordered_append-15.out b/tsl/test/expected/ordered_append-15.out index cd6b4414f61..832924b2225 100644 --- a/tsl/test/expected/ordered_append-15.out +++ b/tsl/test/expected/ordered_append-15.out @@ -2418,19 +2418,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY time_bucket, device_id -- must not use ordered append @@ -2451,27 +2448,24 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_13_chunk."time")), _hyper_3_13_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=7196.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_14_chunk."time")), _hyper_3_14_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_15_chunk."time")), _hyper_3_15_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -- test query with ORDER BY date_trunc :PREFIX @@ -2487,19 +2481,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY date_trunc :PREFIX @@ -2515,19 +2506,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY date_trunc, device_id -- must not use ordered append @@ -2548,27 +2536,24 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")), _hyper_3_13_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=7196.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")), _hyper_3_14_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")), _hyper_3_15_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -- test query with now() should result in ordered ChunkAppend :PREFIX @@ -4085,55 +4070,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 day'::interval, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 day'::interval, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY time_bucket, device_id -- must not use ordered append @@ -4154,48 +4130,42 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_19_chunk."time")), _hyper_5_19_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_20_chunk."time")), _hyper_5_20_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 8 + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 8 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_22_chunk."time")), _hyper_5_22_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_23_chunk."time")), _hyper_5_23_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_25_chunk."time")), _hyper_5_25_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_26_chunk."time")), _hyper_5_26_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -- test query with ORDER BY date_trunc :PREFIX @@ -4213,55 +4183,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY date_trunc :PREFIX @@ -4279,55 +4240,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY date_trunc, device_id -- must not use ordered append @@ -4348,48 +4300,42 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")), _hyper_5_19_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")), _hyper_5_20_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 8 + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 8 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")), _hyper_5_22_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")), _hyper_5_23_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")), _hyper_5_25_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")), _hyper_5_26_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -- test query with now() should result in ordered ChunkAppend :PREFIX diff --git a/tsl/test/expected/ordered_append-16.out b/tsl/test/expected/ordered_append-16.out index cd6b4414f61..832924b2225 100644 --- a/tsl/test/expected/ordered_append-16.out +++ b/tsl/test/expected/ordered_append-16.out @@ -2418,19 +2418,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY time_bucket, device_id -- must not use ordered append @@ -2451,27 +2448,24 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_13_chunk."time")), _hyper_3_13_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=7196.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_14_chunk."time")), _hyper_3_14_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_15_chunk."time")), _hyper_3_15_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -- test query with ORDER BY date_trunc :PREFIX @@ -2487,19 +2481,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY date_trunc :PREFIX @@ -2515,19 +2506,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY date_trunc, device_id -- must not use ordered append @@ -2548,27 +2536,24 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")), _hyper_3_13_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=7196.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")), _hyper_3_14_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")), _hyper_3_15_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -- test query with now() should result in ordered ChunkAppend :PREFIX @@ -4085,55 +4070,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 day'::interval, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 day'::interval, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY time_bucket, device_id -- must not use ordered append @@ -4154,48 +4130,42 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_19_chunk."time")), _hyper_5_19_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_20_chunk."time")), _hyper_5_20_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 8 + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 8 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_22_chunk."time")), _hyper_5_22_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_23_chunk."time")), _hyper_5_23_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_25_chunk."time")), _hyper_5_25_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_26_chunk."time")), _hyper_5_26_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -- test query with ORDER BY date_trunc :PREFIX @@ -4213,55 +4183,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY date_trunc :PREFIX @@ -4279,55 +4240,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY date_trunc, device_id -- must not use ordered append @@ -4348,48 +4300,42 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")), _hyper_5_19_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")), _hyper_5_20_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 8 + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 8 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")), _hyper_5_22_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")), _hyper_5_23_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")), _hyper_5_25_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")), _hyper_5_26_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -- test query with now() should result in ordered ChunkAppend :PREFIX diff --git a/tsl/test/expected/ordered_append-17.out b/tsl/test/expected/ordered_append-17.out index 288eb7d0771..0fa0ad8173d 100644 --- a/tsl/test/expected/ordered_append-17.out +++ b/tsl/test/expected/ordered_append-17.out @@ -2361,19 +2361,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY time_bucket, device_id -- must not use ordered append @@ -2394,27 +2391,24 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_13_chunk."time")), _hyper_3_13_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=7196.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_14_chunk."time")), _hyper_3_14_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_15_chunk."time")), _hyper_3_15_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -- test query with ORDER BY date_trunc :PREFIX @@ -2430,19 +2424,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY date_trunc :PREFIX @@ -2458,19 +2449,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY date_trunc, device_id -- must not use ordered append @@ -2491,27 +2479,24 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")), _hyper_3_13_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=7196.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")), _hyper_3_14_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")), _hyper_3_15_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -- test query with now() should result in ordered ChunkAppend :PREFIX @@ -3998,55 +3983,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 day'::interval, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 day'::interval, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY time_bucket, device_id -- must not use ordered append @@ -4067,48 +4043,42 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_19_chunk."time")), _hyper_5_19_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_20_chunk."time")), _hyper_5_20_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 8 + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 8 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_22_chunk."time")), _hyper_5_22_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_23_chunk."time")), _hyper_5_23_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_25_chunk."time")), _hyper_5_25_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_26_chunk."time")), _hyper_5_26_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -- test query with ORDER BY date_trunc :PREFIX @@ -4126,55 +4096,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY date_trunc :PREFIX @@ -4192,55 +4153,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY date_trunc, device_id -- must not use ordered append @@ -4261,48 +4213,42 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")), _hyper_5_19_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")), _hyper_5_20_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 8 + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 8 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")), _hyper_5_22_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")), _hyper_5_23_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")), _hyper_5_25_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")), _hyper_5_26_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -- test query with now() should result in ordered ChunkAppend :PREFIX diff --git a/tsl/test/expected/ordered_append-18.out b/tsl/test/expected/ordered_append-18.out index 288eb7d0771..0fa0ad8173d 100644 --- a/tsl/test/expected/ordered_append-18.out +++ b/tsl/test/expected/ordered_append-18.out @@ -2361,19 +2361,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY time_bucket, device_id -- must not use ordered append @@ -2394,27 +2391,24 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_13_chunk."time")), _hyper_3_13_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=7196.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_14_chunk."time")), _hyper_3_14_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_3_15_chunk."time")), _hyper_3_15_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -- test query with ORDER BY date_trunc :PREFIX @@ -2430,19 +2424,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY date_trunc :PREFIX @@ -2458,19 +2449,16 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=17990.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=17990.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=20.00 loops=1) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) - -> Seq Scan on compress_hyper_4_17_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (never executed) + -> Seq Scan on compress_hyper_4_17_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) - -> Seq Scan on compress_hyper_4_18_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (never executed) + -> Seq Scan on compress_hyper_4_18_chunk (never executed) -- test query with ORDER BY date_trunc, device_id -- must not use ordered append @@ -2491,27 +2479,24 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_13_chunk."time")), _hyper_3_13_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=7196.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) - -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_3_13_chunk (actual rows=7196.00 loops=1) + -> Seq Scan on compress_hyper_4_16_chunk (actual rows=8.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_14_chunk."time")), _hyper_3_14_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_14_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_17_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_3_15_chunk."time")), _hyper_3_15_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=10076.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) - -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 18 + -> Custom Scan (ColumnarScan) on _hyper_3_15_chunk (actual rows=10076.00 loops=1) + -> Seq Scan on compress_hyper_4_18_chunk (actual rows=12.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 18 -- test query with now() should result in ordered ChunkAppend :PREFIX @@ -3998,55 +3983,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 day'::interval, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (time_bucket('@ 1 day'::interval, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY time_bucket, device_id -- must not use ordered append @@ -4067,48 +4043,42 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_19_chunk."time")), _hyper_5_19_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_20_chunk."time")), _hyper_5_20_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 8 + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 8 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_22_chunk."time")), _hyper_5_22_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_23_chunk."time")), _hyper_5_23_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_25_chunk."time")), _hyper_5_25_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (time_bucket('@ 1 day'::interval, _hyper_5_26_chunk."time")), _hyper_5_26_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -- test query with ORDER BY date_trunc :PREFIX @@ -4126,55 +4096,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY date_trunc :PREFIX @@ -4192,55 +4153,46 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=10794.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=10794.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=12.00 loops=1) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_21_chunk."time")) Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_5_21_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_30_chunk (actual rows=4.00 loops=1) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) - -> Seq Scan on compress_hyper_6_31_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (never executed) + -> Seq Scan on compress_hyper_6_31_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) - -> Seq Scan on compress_hyper_6_32_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (never executed) + -> Seq Scan on compress_hyper_6_32_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_24_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) - -> Seq Scan on compress_hyper_6_33_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_24_chunk (never executed) + -> Seq Scan on compress_hyper_6_33_chunk (never executed) -> Merge Append (never executed) Sort Key: (date_trunc('day'::text, metrics_space_compressed."time")) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) - -> Seq Scan on compress_hyper_6_34_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (never executed) + -> Seq Scan on compress_hyper_6_34_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) - -> Seq Scan on compress_hyper_6_35_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (never executed) + -> Seq Scan on compress_hyper_6_35_chunk (never executed) -> Sort (never executed) Sort Key: (date_trunc('day'::text, _hyper_5_27_chunk."time")) - -> Result (never executed) - -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) - -> Seq Scan on compress_hyper_6_36_chunk (never executed) + -> Custom Scan (ColumnarScan) on _hyper_5_27_chunk (never executed) + -> Seq Scan on compress_hyper_6_36_chunk (never executed) -- test query with ORDER BY date_trunc, device_id -- must not use ordered append @@ -4261,48 +4213,42 @@ LIMIT 1; -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_19_chunk."time")), _hyper_5_19_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_19_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_28_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_20_chunk."time")), _hyper_5_20_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=3598.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) - -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 8 + -> Custom Scan (ColumnarScan) on _hyper_5_20_chunk (actual rows=3598.00 loops=1) + -> Seq Scan on compress_hyper_6_29_chunk (actual rows=4.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 8 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_22_chunk."time")), _hyper_5_22_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_22_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_31_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_23_chunk."time")), _hyper_5_23_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_23_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_32_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_25_chunk."time")), _hyper_5_25_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) + -> Custom Scan (ColumnarScan) on _hyper_5_25_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_34_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) -> Sort (actual rows=1.00 loops=1) Sort Key: (date_trunc('day'::text, _hyper_5_26_chunk."time")), _hyper_5_26_chunk.device_id Sort Method: top-N heapsort - -> Result (actual rows=5038.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) - -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) - Filter: (device_id = ANY ('{1,2}'::integer[])) - Rows Removed by Filter: 12 + -> Custom Scan (ColumnarScan) on _hyper_5_26_chunk (actual rows=5038.00 loops=1) + -> Seq Scan on compress_hyper_6_35_chunk (actual rows=6.00 loops=1) + Filter: (device_id = ANY ('{1,2}'::integer[])) + Rows Removed by Filter: 12 -- test query with now() should result in ordered ChunkAppend :PREFIX diff --git a/tsl/test/expected/plan_skip_scan_dagg-16.out b/tsl/test/expected/plan_skip_scan_dagg-16.out index d5a2edebe2e..02cf0574dad 100644 --- a/tsl/test/expected/plan_skip_scan_dagg-16.out +++ b/tsl/test/expected/plan_skip_scan_dagg-16.out @@ -3471,18 +3471,14 @@ stable expression in targetlist on skip_scan_htc Aggregate (actual rows=1.00 loops=1) -> Merge Append (actual rows=10020.00 loops=1) Sort Key: ((skip_scan_htc.dev + 1)) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_26_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_26_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_27_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_27_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_28_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_28_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_29_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_29_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_26_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_26_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_27_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_27_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_28_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_28_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_29_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_29_chunk (actual rows=11.00 loops=1) -- But expressions over distinct aggregates are supported :PREFIX SELECT count(DISTINCT dev) + 1, sum(DISTINCT dev)/count(DISTINCT dev), 'q1_15' FROM :TABLE; @@ -3925,27 +3921,23 @@ stable expression in targetlist on skip_scan_htc -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_5_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_30_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_30_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_6_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_31_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_31_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_7_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_32_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_32_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_8_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_33_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_33_chunk (actual rows=11.00 loops=1) -- DISTINCT aggs grouped on their TEXT args :PREFIX SELECT count(DISTINCT dev_name), dev_name, 'q3_1' FROM :TABLE GROUP BY dev_name; diff --git a/tsl/test/expected/plan_skip_scan_dagg-17.out b/tsl/test/expected/plan_skip_scan_dagg-17.out index d5a2edebe2e..02cf0574dad 100644 --- a/tsl/test/expected/plan_skip_scan_dagg-17.out +++ b/tsl/test/expected/plan_skip_scan_dagg-17.out @@ -3471,18 +3471,14 @@ stable expression in targetlist on skip_scan_htc Aggregate (actual rows=1.00 loops=1) -> Merge Append (actual rows=10020.00 loops=1) Sort Key: ((skip_scan_htc.dev + 1)) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_26_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_26_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_27_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_27_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_28_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_28_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_29_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_29_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_26_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_26_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_27_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_27_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_28_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_28_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_29_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_29_chunk (actual rows=11.00 loops=1) -- But expressions over distinct aggregates are supported :PREFIX SELECT count(DISTINCT dev) + 1, sum(DISTINCT dev)/count(DISTINCT dev), 'q1_15' FROM :TABLE; @@ -3925,27 +3921,23 @@ stable expression in targetlist on skip_scan_htc -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_5_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_30_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_30_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_6_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_31_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_31_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_7_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_32_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_32_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_8_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_33_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_33_chunk (actual rows=11.00 loops=1) -- DISTINCT aggs grouped on their TEXT args :PREFIX SELECT count(DISTINCT dev_name), dev_name, 'q3_1' FROM :TABLE GROUP BY dev_name; diff --git a/tsl/test/expected/plan_skip_scan_dagg-18.out b/tsl/test/expected/plan_skip_scan_dagg-18.out index 85d94200b2c..1bb955509bd 100644 --- a/tsl/test/expected/plan_skip_scan_dagg-18.out +++ b/tsl/test/expected/plan_skip_scan_dagg-18.out @@ -3469,18 +3469,14 @@ stable expression in targetlist on skip_scan_htc Aggregate (actual rows=1.00 loops=1) -> Merge Append (actual rows=10020.00 loops=1) Sort Key: ((skip_scan_htc.dev + 1)) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_26_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_26_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_27_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_27_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_28_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_28_chunk (actual rows=11.00 loops=1) - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) - -> Index Scan using compress_hyper_4_29_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_29_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_26_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_26_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_27_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_27_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_28_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_28_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) + -> Index Scan using compress_hyper_4_29_chunk_dev__ts_meta_min_1__ts_meta_max_1_idx on compress_hyper_4_29_chunk (actual rows=11.00 loops=1) -- But expressions over distinct aggregates are supported :PREFIX SELECT count(DISTINCT dev) + 1, sum(DISTINCT dev)/count(DISTINCT dev), 'q1_15' FROM :TABLE; @@ -3923,27 +3919,23 @@ stable expression in targetlist on skip_scan_htc -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_5_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_30_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_5_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_30_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_6_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_31_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_6_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_31_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_7_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_32_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_7_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_32_chunk (actual rows=11.00 loops=1) -> Sort (actual rows=2505.00 loops=1) Sort Key: (length(_hyper_3_8_chunk.dev_name)) Sort Method: quicksort - -> Result (actual rows=2505.00 loops=1) - -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) - -> Seq Scan on compress_hyper_4_33_chunk (actual rows=11.00 loops=1) + -> Custom Scan (ColumnarScan) on _hyper_3_8_chunk (actual rows=2505.00 loops=1) + -> Seq Scan on compress_hyper_4_33_chunk (actual rows=11.00 loops=1) -- DISTINCT aggs grouped on their TEXT args :PREFIX SELECT count(DISTINCT dev_name), dev_name, 'q3_1' FROM :TABLE GROUP BY dev_name;