-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Open
Description
Description
TopN pushdown doesn't work using LIMIT and ORDER BY on Oracle Connector
Trino version: 476
The following query do TopN pushdown :
SELECT a.my_record_id, A.anno
FROM oracle_repo.myschema.PROVA2 a
LIMIT 10
but this one dont .
SELECT a.my_record_id, A.anno
FROM oracle_repo.myschema.PROVA2 a
ORDER BY a.MY_record_id ASC
LIMIT 10
Expected Result:
ORDER BY ... LIMIT
TopN pushdown : should be supported on Oracle Connector
Current Result:
Query Plan
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Trino version: 476
Fragment 0 [SINGLE]
Output layout: [my_record_id, anno]
Output partitioning: SINGLE []
Output[columnNames = [my_record_id, anno]]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
Estimates: {rows: 10 (340B), cpu: 0, memory: 0B, network: 0B}
TopN[count = 10, orderBy = [my_record_id ASC NULLS LAST]]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
Estimates: {rows: 10 (340B), cpu: ?, memory: ?, network: ?}
LocalExchange[partitioning = SINGLE]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
Estimates: {rows: ? (?), cpu: 0, memory: 0B, network: 0B}
RemoteSource[sourceFragmentIds = [1]]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
Fragment 1 [SOURCE]
Output layout: [my_record_id, anno]
Output partitioning: SINGLE []
TopNPartial[count = 10, orderBy = [my_record_id ASC NULLS LAST]]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
LocalExchange[partitioning = SINGLE]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
Estimates: {rows: ? (?), cpu: 0, memory: 0B, network: 0B}
TopNPartial[count = 10, orderBy = [my_record_id ASC NULLS LAST]]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
LocalExchange[partitioning = ROUND_ROBIN]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
Estimates: {rows: ? (?), cpu: ?, memory: 0B, network: 0B}
TopNPartial[count = 10, orderBy = [my_record_id ASC NULLS LAST]]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
TableScan[table = oracle_repo:myschema.prova2 myschema.PROVA2 columns=[MY_RECORD_ID:decimal(19,0):NUMBER, ANNO:decimal(38,8):NUMBER]]
Layout: [my_record_id:decimal(19,0), anno:decimal(38,8)]
Estimates: {rows: ? (?), cpu: ?, memory: 0B, network: 0B}
my_record_id := MY_RECORD_ID:decimal(19,0):NUMBER
anno := ANNO:decimal(38,8):NUMBER
Metadata
Metadata
Assignees
Labels
No labels