[
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]