forked from apache/cloudberry
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
For type NAMEOID, the default collation is C. Make sure various nodetypes are aware of it. Earlier only VAR node type took care of it. Extend it CONST and OPEXPR. A note about test case change in `select` ICG test. The test cases are supposed to test for index scan on partial indexes. Earlier ORCA would fall back to planner. After this fix, ORCA started to give sequential scan which was flaky with explain analyze. So just like planner, we have turned off tablescan for these tests. They are falling back to Planner for now.
- Loading branch information
1 parent
e53b57c
commit 1cdccbe
Showing
17 changed files
with
182 additions
and
100 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
set enable_seqscan=off; | ||
CREATE TABLE test_name ( | ||
i name | ||
); | ||
INSERT INTO test_name VALUES ('a'),('ab'),('abc'),('abb'),('axy'),('xyz'); | ||
CREATE INDEX idx_name ON test_name USING gin (i); | ||
SELECT * FROM test_name WHERE i<'abc' ORDER BY i; | ||
i | ||
----- | ||
a | ||
ab | ||
abb | ||
(3 rows) | ||
|
||
SELECT * FROM test_name WHERE i<='abc' ORDER BY i; | ||
i | ||
----- | ||
a | ||
ab | ||
abb | ||
abc | ||
(4 rows) | ||
|
||
SELECT * FROM test_name WHERE i='abc' ORDER BY i; | ||
i | ||
----- | ||
abc | ||
(1 row) | ||
|
||
SELECT * FROM test_name WHERE i>='abc' ORDER BY i; | ||
i | ||
----- | ||
abc | ||
axy | ||
xyz | ||
(3 rows) | ||
|
||
SELECT * FROM test_name WHERE i>'abc' ORDER BY i; | ||
i | ||
----- | ||
axy | ||
xyz | ||
(2 rows) | ||
|
||
EXPLAIN (COSTS OFF) SELECT * FROM test_name WHERE i<'abc' ORDER BY i; | ||
QUERY PLAN | ||
--------------------------------------------------- | ||
Gather Motion 3:1 (slice1; segments: 3) | ||
Merge Key: i | ||
-> Sort | ||
Sort Key: i | ||
-> Bitmap Heap Scan on test_name | ||
Recheck Cond: (i < 'abc'::name) | ||
-> Bitmap Index Scan on idx_name | ||
Index Cond: (i < 'abc'::name) | ||
Optimizer: Postgres query optimizer | ||
(9 rows) | ||
|
||
EXPLAIN (COSTS OFF) SELECT * FROM test_name WHERE i<='abc' ORDER BY i; | ||
QUERY PLAN | ||
---------------------------------------------------- | ||
Gather Motion 3:1 (slice1; segments: 3) | ||
Merge Key: i | ||
-> Sort | ||
Sort Key: i | ||
-> Bitmap Heap Scan on test_name | ||
Recheck Cond: (i <= 'abc'::name) | ||
-> Bitmap Index Scan on idx_name | ||
Index Cond: (i <= 'abc'::name) | ||
Optimizer: Postgres query optimizer | ||
(9 rows) | ||
|
||
EXPLAIN (COSTS OFF) SELECT * FROM test_name WHERE i='abc' ORDER BY i; | ||
QUERY PLAN | ||
--------------------------------------------- | ||
Gather Motion 1:1 (slice1; segments: 1) | ||
Merge Key: i | ||
-> Sort | ||
Sort Key: i | ||
-> Bitmap Heap Scan on test_name | ||
Recheck Cond: (i = 'abc'::name) | ||
-> Bitmap Index Scan on idx_name | ||
Index Cond: (i = 'abc'::name) | ||
Optimizer: Pivotal Optimizer (GPORCA) | ||
(9 rows) | ||
|
||
EXPLAIN (COSTS OFF) SELECT * FROM test_name WHERE i>='abc' ORDER BY i; | ||
QUERY PLAN | ||
---------------------------------------------------- | ||
Gather Motion 3:1 (slice1; segments: 3) | ||
Merge Key: i | ||
-> Sort | ||
Sort Key: i | ||
-> Bitmap Heap Scan on test_name | ||
Recheck Cond: (i >= 'abc'::name) | ||
-> Bitmap Index Scan on idx_name | ||
Index Cond: (i >= 'abc'::name) | ||
Optimizer: Postgres query optimizer | ||
(9 rows) | ||
|
||
EXPLAIN (COSTS OFF) SELECT * FROM test_name WHERE i>'abc' ORDER BY i; | ||
QUERY PLAN | ||
--------------------------------------------------- | ||
Gather Motion 3:1 (slice1; segments: 3) | ||
Merge Key: i | ||
-> Sort | ||
Sort Key: i | ||
-> Bitmap Heap Scan on test_name | ||
Recheck Cond: (i > 'abc'::name) | ||
-> Bitmap Index Scan on idx_name | ||
Index Cond: (i > 'abc'::name) | ||
Optimizer: Postgres query optimizer | ||
(9 rows) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.