mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-10 07:12:54 +00:00
* fix: prevent optimize merge scan, mark distinct as unsupported Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * fix some other problems Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * fix unit tests Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * remove deadcode Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * add some comments Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * Update src/query/src/optimizer/type_conversion.rs Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com> --------- Signed-off-by: Ruihang Xia <waynestxia@gmail.com> Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com>
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
CREATE TABLE integers(i BIGINT TIME INDEX);
|
|
|
|
Affected Rows: 0
|
|
|
|
-- SQLNESS REPLACE (-+) -
|
|
-- SQLNESS REPLACE (\s\s+) _
|
|
-- SQLNESS REPLACE (RoundRobinBatch.*) REDACTED
|
|
-- SQLNESS REPLACE (Hash.*) REDACTED
|
|
-- SQLNESS REPLACE (peer-.*) REDACTED
|
|
EXPLAIN SELECT DISTINCT i%2 FROM integers ORDER BY 1;
|
|
|
|
+-+-+
|
|
| plan_type_| plan_|
|
|
+-+-+
|
|
| logical_plan_| Sort: integers.i % Int64(2) ASC NULLS LAST_|
|
|
|_|_Aggregate: groupBy=[[integers.i % Int64(2)]], aggr=[[]]_|
|
|
|_|_MergeScan [is_placeholder=false]_|
|
|
| physical_plan | SortPreservingMergeExec: [integers.i % Int64(2)@0 ASC NULLS LAST]_|
|
|
|_|_SortExec: expr=[integers.i % Int64(2)@0 ASC NULLS LAST]_|
|
|
|_|_AggregateExec: mode=FinalPartitioned, gby=[integers.i % Int64(2)@0 as integers.i % Int64(2)], aggr=[] |
|
|
|_|_CoalesceBatchesExec: target_batch_size=8192_|
|
|
|_|_RepartitionExec: partitioning=REDACTED
|
|
|_|_AggregateExec: mode=Partial, gby=[integers.i % Int64(2)@0 as integers.i % Int64(2)], aggr=[]_|
|
|
|_|_RepartitionExec: partitioning=REDACTED
|
|
|_|_MergeScanExec: peers=[REDACTED
|
|
|_|_|
|
|
+-+-+
|
|
|
|
DROP TABLE integers;
|
|
|
|
Affected Rows: 1
|
|
|
|
CREATE TABLE test (a INTEGER, b INTEGER, t BIGINT TIME INDEX);
|
|
|
|
Affected Rows: 0
|
|
|
|
-- SQLNESS REPLACE (-+) -
|
|
-- SQLNESS REPLACE (\s\s+) _
|
|
-- SQLNESS REPLACE (RoundRobinBatch.*) REDACTED
|
|
-- SQLNESS REPLACE (Hash.*) REDACTED
|
|
-- SQLNESS REPLACE (peer-.*) REDACTED
|
|
EXPLAIN SELECT a, b FROM test ORDER BY a, b;
|
|
|
|
+-+-+
|
|
| plan_type_| plan_|
|
|
+-+-+
|
|
| logical_plan_| Sort: test.a ASC NULLS LAST, test.b ASC NULLS LAST_|
|
|
|_|_MergeScan [is_placeholder=false]_|
|
|
| physical_plan | SortExec: expr=[a@0 ASC NULLS LAST,b@1 ASC NULLS LAST] |
|
|
|_|_MergeScanExec: peers=[REDACTED
|
|
|_|_|
|
|
+-+-+
|
|
|
|
-- SQLNESS REPLACE (-+) -
|
|
-- SQLNESS REPLACE (\s\s+) _
|
|
-- SQLNESS REPLACE (RoundRobinBatch.*) REDACTED
|
|
-- SQLNESS REPLACE (Hash.*) REDACTED
|
|
-- SQLNESS REPLACE (peer-.*) REDACTED
|
|
EXPLAIN SELECT DISTINCT a, b FROM test ORDER BY a, b;
|
|
|
|
+-+-+
|
|
| plan_type_| plan_|
|
|
+-+-+
|
|
| logical_plan_| Sort: test.a ASC NULLS LAST, test.b ASC NULLS LAST_|
|
|
|_|_Aggregate: groupBy=[[test.a, test.b]], aggr=[[]]_|
|
|
|_|_MergeScan [is_placeholder=false]_|
|
|
| physical_plan | SortPreservingMergeExec: [a@0 ASC NULLS LAST,b@1 ASC NULLS LAST]_|
|
|
|_|_SortExec: expr=[a@0 ASC NULLS LAST,b@1 ASC NULLS LAST]_|
|
|
|_|_AggregateExec: mode=FinalPartitioned, gby=[a@0 as a, b@1 as b], aggr=[]_|
|
|
|_|_CoalesceBatchesExec: target_batch_size=8192_|
|
|
|_|_RepartitionExec: partitioning=REDACTED
|
|
|_|_AggregateExec: mode=Partial, gby=[a@0 as a, b@1 as b], aggr=[]_|
|
|
|_|_RepartitionExec: partitioning=REDACTED
|
|
|_|_MergeScanExec: peers=[REDACTED
|
|
|_|_|
|
|
+-+-+
|
|
|
|
DROP TABLE test;
|
|
|
|
Affected Rows: 1
|
|
|