public class FunctionalIndexHelper extends Object
| Constructor and Description |
|---|
FunctionalIndexHelper() |
| Modifier and Type | Method and Description |
|---|---|
static org.apache.calcite.rex.RexNode |
convertConditionForIndexScan(org.apache.calcite.rex.RexNode idxCondition,
org.apache.calcite.rel.RelNode origScan,
org.apache.calcite.rel.type.RelDataType idxRowType,
org.apache.calcite.rex.RexBuilder builder,
FunctionalIndexInfo functionInfo) |
static org.apache.calcite.rel.type.RelDataType |
convertRowTypeForIndexScan(DrillScanRelBase origScan,
IndexableExprMarker idxMarker,
IndexGroupScan idxScan,
FunctionalIndexInfo functionInfo)
For IndexScan in non-covering case, rowType to return contains only row_key('_id') of primary table.
|
static org.apache.calcite.rel.type.RelDataType |
rewriteFunctionalRowType(org.apache.calcite.rel.RelNode origScan,
IndexCallContext indexContext,
FunctionalIndexInfo functionInfo) |
static org.apache.calcite.rel.type.RelDataType |
rewriteFunctionalRowType(org.apache.calcite.rel.RelNode origScan,
IndexCallContext indexContext,
FunctionalIndexInfo functionInfo,
Collection<SchemaPath> addedPaths)
if a field in rowType serves only the to-be-replaced column(s), we should replace it with new name "$1",
otherwise we should keep this dataTypeField and add a new one for "$1"
|
public static org.apache.calcite.rel.type.RelDataType rewriteFunctionalRowType(org.apache.calcite.rel.RelNode origScan,
IndexCallContext indexContext,
FunctionalIndexInfo functionInfo)
public static org.apache.calcite.rel.type.RelDataType rewriteFunctionalRowType(org.apache.calcite.rel.RelNode origScan,
IndexCallContext indexContext,
FunctionalIndexInfo functionInfo,
Collection<SchemaPath> addedPaths)
origScan - the original scan whose rowtype is to be rewrittenindexContext - the index plan contextfunctionInfo - functional index information that may impact rewritepublic static org.apache.calcite.rel.type.RelDataType convertRowTypeForIndexScan(DrillScanRelBase origScan, IndexableExprMarker idxMarker, IndexGroupScan idxScan, FunctionalIndexInfo functionInfo)
origScan - idxMarker - the IndexableExprMarker that has analyzed original index condition on top of index scanidxScan - public static org.apache.calcite.rex.RexNode convertConditionForIndexScan(org.apache.calcite.rex.RexNode idxCondition,
org.apache.calcite.rel.RelNode origScan,
org.apache.calcite.rel.type.RelDataType idxRowType,
org.apache.calcite.rex.RexBuilder builder,
FunctionalIndexInfo functionInfo)
Copyright © 2022 The Apache Software Foundation. All rights reserved.