Decoupled planning: add support for unnest#17177
Conversation
| RelTrait out, | ||
| String descriptionPrefix) | ||
| { | ||
| super(clazz, in, out, descriptionPrefix); |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| { | ||
| public LogicalUnnestRule() | ||
| { | ||
| super(operand(LogicalCorrelate.class, any())); |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| { | ||
| public LogicalUnnestRule() | ||
| { | ||
| super(operand(LogicalCorrelate.class, any())); |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| operand( | ||
| LogicalUnnest.class, | ||
| operand(Project.class, any()) | ||
| ) |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| super( | ||
| operand( | ||
| LogicalUnnest.class, | ||
| operand(Project.class, any()) |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| super( | ||
| operand( | ||
| LogicalUnnest.class, | ||
| operand(Project.class, any()) |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| this.replaceableIndex = replaceableIndex; | ||
| } | ||
|
|
||
| public RexNode visitInputRef(RexInputRef inputRef) |
Check notice
Code scanning / CodeQL
Missing Override annotation
|
|
||
| QueryTestBuilder builder = new QueryTestBuilder(testConfig) | ||
| { | ||
| public QueryTestBuilder expectedQueries(List<Query<?>> expectedQueries) |
Check notice
Code scanning / CodeQL
Missing Override annotation
| { | ||
| public LogicalUnnestRule() | ||
| { | ||
| super(operand(LogicalCorrelate.class, any())); |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| { | ||
| public LogicalUnnestRule() | ||
| { | ||
| super(operand(LogicalCorrelate.class, any())); |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| operand( | ||
| LogicalUnnest.class, | ||
| operand(Project.class, any()) | ||
| ) |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| super( | ||
| operand( | ||
| LogicalUnnest.class, | ||
| operand(Project.class, any()) |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| super( | ||
| operand( | ||
| LogicalUnnest.class, | ||
| operand(Project.class, any()) |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation
| return new SourceDesc(dataSource, outputRowSignature); | ||
| } | ||
|
|
||
| private DimFilter buildDimFilter(PlannerContext plannerContext, SourceDesc inputDesc, RowSignature filterRowSignature) |
Check notice
Code scanning / CodeQL
Useless parameter
ce492cd to
1792656
Compare
21255bf to
be298b7
Compare
UNNESTexpressionsLogicalUnnestRuleto transform aCorrelatedoing UNNEST into aLogicalUnnestUnnestInputCleanupRulecould move the final unnested expr into theLogicalUnnestitself (usually its anmv_to_arrayexpression)FilteredDataSourceif it looks right