Aleksandr Efimov created IMPALA-15282:
-----------------------------------------
Summary: Calcite planner: test Substrait export of the
pre-conversion logical plan
Key: IMPALA-15282
URL: https://issues.apache.org/jira/browse/IMPALA-15282
Project: IMPALA
Issue Type: Improvement
Reporter: Aleksandr Efimov
Assignee: Aleksandr Efimov
IMPALA-15237 added a direct Calcite-only harness that exposes the optimized
logical RelNode immediately before Impala conversion. That plan is standard
Calcite, so it can be handed to other tools; the check that keeps it that way
is whether it still converts cleanly to Substrait.
Add a test-only compatibility test that takes the same pre-conversion plan,
converts it with Isthmus, serializes it to protobuf, parses it back, and
asserts on what a consumer would read: output schema, field references, and
the relation and function inventories. The client-visible labels are Impala's
own, so the test puts them on the Substrait root and checks that they survive
the round trip.
Covered shapes: a virtual table (VALUES) under a Project, a named read with
Filter and Project, scalar arithmetic, and a relation Isthmus cannot convert,
which has to fail with a typed error instead of publishing a partial plan.
The Isthmus dependency is test-scoped: no production dependency, no exporter,
no query option, nothing added to impala-package. The test fails when a change
at the seam makes one of the covered plans unconvertible or changes what a
consumer would read - a custom operator in place of a standard one, a custom
RelNode, a different type or a different field reference.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)