Skip to content

[Bug] ORCA fallbacks for collate "C" #717

@my-ship-it

Description

@my-ship-it

Cloudberry Database version

No response

What happened

Currently, when column attribute of table is collate "C", ORCA would fallback. We need to support it in ORCA also, because sometimes ORCA would produce better plan.

What you think should happen instead

No response

How to reproduce

postgres=# create table tbl(v text);
CREATE TABLE
postgres=# create table tbl_collate_c(v text collate "C");
CREATE TABLE
postgres=# explain select * from tbl order by v;
                                  QUERY PLAN
------------------------------------------------------------------------------
 Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..431.00 rows=1 width=8)
   Merge Key: v
   ->  Sort  (cost=0.00..431.00 rows=1 width=8)
         Sort Key: v
         ->  Seq Scan on tbl  (cost=0.00..431.00 rows=1 width=8)
 Optimizer: Pivotal Optimizer (GPORCA)
(6 rows)

postgres=# explain select * from tbl_collate_c order by v;
                                      QUERY PLAN
---------------------------------------------------------------------------------------
 Gather Motion 3:1  (slice1; segments: 3)  (cost=1451.09..2199.09 rows=52800 width=32)
   Merge Key: v
   ->  Sort  (cost=1451.09..1495.09 rows=17600 width=32)
         Sort Key: v COLLATE "C"
         ->  Seq Scan on tbl_collate_c  (cost=0.00..210.00 rows=17600 width=32)
 Optimizer: Postgres query optimizer
(6 rows)

Operating System

No specific

Anything else

No response

Are you willing to submit PR?

  • Yes, I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

Labels

type: BugSomething isn't workingtype: Orcaonly orca has the issue

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions