weiqingy opened a new pull request, #2146:
URL: https://github.com/apache/auron/pull/2146
# Which issue does this PR close?
Closes #1856
# Rationale for this change
Auron's Flink integration has the data exchange layer in place (Arrow
Writer #1850, Arrow
Reader #1851) but lacks the conversion infrastructure — the machinery that
decides which Flink
expressions and aggregates can be converted to native execution and how
to translate them
into Auron's protobuf representation.
# What changes are included in this PR?
Five foundational Java classes in `auron-flink-planner`:
| Class | Role |
|-------|------|
| `FlinkNodeConverter<T>` | Generic base interface: `getNodeClass()`,
`isSupported()`,
`convert()` → `PhysicalExprNode` |
| `FlinkRexNodeConverter` | Sub-interface for Calcite `RexNode`
expressions |
| `FlinkAggCallConverter` | Sub-interface for Calcite `AggregateCall`
aggregates |
| `FlinkNodeConverterFactory` | Singleton registry with separate
`rexConverterMap` +
`aggConverterMap`, typed registration and fail-safe dispatch |
| `ConverterContext` | Immutable holder for input schema (`RowType`),
Flink config, Auron
config, and classloader |
pom.xml: `flink-core` scope changed from `test` to `provided` (required
for `ReadableConfig`).
Framework-only — no concrete converter implementations. Follow-up issues
will add RexLiteral,
RexInputRef, RexCall, and aggregate converters.
Design doc: `docs/PR-AURON-1856/AURON-1856-DESIGN.md`
Review helper: `docs/reviewhelper/AURON-1856/01-converter-framework.md`
# Are there any user-facing changes?
No.
# How was this patch tested?
14 unit tests (10 factory + 4 context). Checkstyle: 0 violations.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]