Details
-
Bug
-
Status: In Progress
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
In SqlToRelConverter, use RelBuilder for creating all relational expressions. In CALCITE-4220 we switched to using RelBuilder for creating Aggregate (in some cases) but there are still calls to:
- LogicalFilter.create and FilterFactory.createFilter
- LogicalUnion.create
- LogicalValues.createOneRow
- MatchFactory.createMatch
- LogicalTableScan.create
- LogicalTableFunctionScan.create
- LogicalCorrelate.create
- LogicalUnion.create
- LogicalIntersect.create
- LogicalMinus.create
- LogicalTableModify.create
- JoinFactory.createJoin
- AggregateCall.create
- LogicalProject.create
- LogicalSort.create
The equivalent RelBuilder methods all exist. The biggest challenge is that the RelBuilder methods will do some optimizations (almost all improvements) that will cause plan changes.
Attachments
Issue Links
- is duplicated by
-
CALCITE-6626 SqlToRelConverter mixes uses of configured RelBuilder and Logical.create methods.
- Resolved
- is related to
-
CALCITE-2092 Allow passing custom RelBuilder into SqlToRelConverter
- Closed