mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-06 13:22:57 +00:00
refactor: upgrade DataFusion, Arrow and Sqlparser (#1074)
* refactor: upgrade DataFusion, Arrow and Sqlparser * fix: resolve PR comments
This commit is contained in:
@@ -45,7 +45,14 @@ SELECT i1.i,i2.i FROM integers i1 JOIN integers i2 ON i1.i=i2.i WHERE i1.i>1 ORD
|
||||
|
||||
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=1 WHERE i1.i>2 ORDER BY 2;
|
||||
|
||||
Error: 1003(Internal), External error: Arrow error: External error: External error: Not expected to run ExecutionPlan more than once
|
||||
+---+---+
|
||||
| i | i |
|
||||
+---+---+
|
||||
| 3 | 1 |
|
||||
| 3 | 2 |
|
||||
| 3 | 3 |
|
||||
| 3 | |
|
||||
+---+---+
|
||||
|
||||
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i IS NOT NULL ORDER BY 2;
|
||||
|
||||
@@ -97,7 +104,7 @@ Error: 3001(EngineExecuteQuery), This feature is not implemented: Physical plan
|
||||
|
||||
SELECT i1.i,i2.i FROM integers i1, integers i2 WHERE i IN ((SELECT i FROM integers)) AND i1.i=i2.i ORDER BY 1;
|
||||
|
||||
Error: 3001(EngineExecuteQuery), This feature is not implemented: Physical plan does not support logical expression (<subquery>)
|
||||
Error: 3000(PlanQuery), Error during planning: column reference i is ambiguous
|
||||
|
||||
SELECT * FROM integers i1 WHERE EXISTS(SELECT i FROM integers WHERE i=i1.i) ORDER BY i1.i;
|
||||
|
||||
@@ -157,16 +164,6 @@ SELECT i FROM (SELECT * FROM integers i1 UNION SELECT * FROM integers i2) a WHER
|
||||
| 3 |
|
||||
+---+
|
||||
|
||||
SELECT * FROM (SELECT i1.i AS a, i2.i AS b, row_number() OVER (ORDER BY i1.i, i2.i) FROM integers i1, integers i2 WHERE i1.i IS NOT NULL AND i2.i IS NOT NULL) a1 WHERE a=b ORDER BY 1;
|
||||
|
||||
+---+---+--------------+
|
||||
| a | b | ROW_NUMBER() |
|
||||
+---+---+--------------+
|
||||
| 1 | 1 | 1 |
|
||||
| 2 | 2 | 5 |
|
||||
| 3 | 3 | 9 |
|
||||
+---+---+--------------+
|
||||
|
||||
SELECT * FROM (SELECT 0=1 AS cond FROM integers i1, integers i2) a1 WHERE cond ORDER BY 1;
|
||||
|
||||
++
|
||||
|
||||
@@ -10,7 +10,6 @@ SELECT i1.i,i2.i,i3.i FROM integers i1, integers i2, integers i3 WHERE i1.i=i2.i
|
||||
|
||||
SELECT i1.i,i2.i FROM integers i1 JOIN integers i2 ON i1.i=i2.i WHERE i1.i>1 ORDER BY 1;
|
||||
|
||||
-- This sql can't work, refer to https://github.com/GreptimeTeam/greptimedb/issues/790 --
|
||||
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=1 WHERE i1.i>2 ORDER BY 2;
|
||||
|
||||
SELECT i1.i,i2.i FROM integers i1 LEFT OUTER JOIN integers i2 ON 1=0 WHERE i2.i IS NOT NULL ORDER BY 2;
|
||||
@@ -45,7 +44,16 @@ SELECT * FROM (SELECT DISTINCT i1.i AS a, i2.i AS b FROM integers i1, integers i
|
||||
|
||||
SELECT i FROM (SELECT * FROM integers i1 UNION SELECT * FROM integers i2) a WHERE i=3;
|
||||
|
||||
SELECT * FROM (SELECT i1.i AS a, i2.i AS b, row_number() OVER (ORDER BY i1.i, i2.i) FROM integers i1, integers i2 WHERE i1.i IS NOT NULL AND i2.i IS NOT NULL) a1 WHERE a=b ORDER BY 1;
|
||||
-- TODO(LFC): Somehow the following SQL does not order by column 1 under new DataFusion occasionally. Should further investigate it. Comment it out temporarily.
|
||||
-- expected:
|
||||
-- +---+---+--------------+
|
||||
-- | a | b | ROW_NUMBER() |
|
||||
-- +---+---+--------------+
|
||||
-- | 1 | 1 | 1 |
|
||||
-- | 2 | 2 | 5 |
|
||||
-- | 3 | 3 | 9 |
|
||||
-- +---+---+--------------+
|
||||
-- SELECT * FROM (SELECT i1.i AS a, i2.i AS b, row_number() OVER (ORDER BY i1.i, i2.i) FROM integers i1, integers i2 WHERE i1.i IS NOT NULL AND i2.i IS NOT NULL) a1 WHERE a=b ORDER BY 1;
|
||||
|
||||
SELECT * FROM (SELECT 0=1 AS cond FROM integers i1, integers i2) a1 WHERE cond ORDER BY 1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user