[ 
https://issues.apache.org/jira/browse/IMPALA-15296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksandr Efimov updated IMPALA-15296:
--------------------------------------
    Labels: substrait  (was: )

> Calcite planner: export the pre-conversion logical plan to Substrait
> --------------------------------------------------------------------
>
>                 Key: IMPALA-15296
>                 URL: https://issues.apache.org/jira/browse/IMPALA-15296
>             Project: IMPALA
>          Issue Type: Sub-task
>          Components: Frontend
>            Reporter: Aleksandr Efimov
>            Assignee: Aleksandr Efimov
>            Priority: Major
>              Labels: substrait
>
> IMPALA-15282 added a test-only compatibility test that converts the 
> pre-conversion logical plan with Isthmus. It answers whether a handful of 
> covered shapes still convert. It does not give a caller a way to ask for the 
> conversion, or a usable answer when the conversion fails.
> Add a test-scoped exporter over the same seam. It takes the plan and the 
> client-visible labels and returns either a Substrait plan or a rejection 
> carrying a reason, what Isthmus said, and the relations or operators the plan 
> contained. A half-converted plan is never returned.
> What Isthmus accepts is decided by Isthmus rather than by a list of operators 
> kept in Impala. Such a list would drift as the operator table changes, and it 
> would also be wrong: Impala's aggregate classes convert because Isthmus 
> normalises aggregates by SqlKind, while its scalar functions resolve on 
> operator identity and do not, so the class name says nothing about whether an 
> operator exports.
> Relations are the exception and are checked before conversion, because 
> Impala's own relations are unambiguously outside Substrait and listing them 
> is more use than the exception Isthmus raises on the first one it meets. That 
> is the cte_threshold case: above the threshold the repeated subtree becomes 
> an ImpalaSequence over a producer and one consumer per reference, and the 
> seam stops being a plan of Calcite relations.
> The client-visible labels are passed in rather than read off the plan, 
> because the seam's row type is upper-cased and exporting its names would 
> rename the client's columns.
> Isthmus stays test-scoped: no production dependency, no query option, nothing 
> added to impala-package.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to