public abstract class BaseSubfieldExtractionRewriter extends ConnectorPlanRewriter<Void>
| Modifier and Type | Class and Description |
|---|---|
static class |
BaseSubfieldExtractionRewriter.ConnectorPushdownFilterResult |
static class |
BaseSubfieldExtractionRewriter.RemainingExpressions |
ConnectorPlanRewriter.RewriteContext<C>| Modifier and Type | Field and Description |
|---|---|
protected RowExpressionService |
rowExpressionService |
protected Function<TableHandle,ConnectorMetadata> |
transactionToMetadata |
| Constructor and Description |
|---|
BaseSubfieldExtractionRewriter(ConnectorSession session,
PlanNodeIdAllocator idAllocator,
RowExpressionService rowExpressionService,
StandardFunctionResolution functionResolution,
FunctionMetadataManager functionMetadataManager,
Function<TableHandle,ConnectorMetadata> transactionToMetadata) |
rewriteWith, rewriteWith, visitPlanvisitAggregation, visitConnectorJoinNode, visitCteConsumer, visitCteProducer, visitCteReference, visitDistinctLimit, visitExcept, visitIntersect, visitLimit, visitMarkDistinct, visitOutput, visitProject, visitSequence, visitTopN, visitUnion, visitValuesprotected final RowExpressionService rowExpressionService
protected final Function<TableHandle,ConnectorMetadata> transactionToMetadata
public BaseSubfieldExtractionRewriter(ConnectorSession session, PlanNodeIdAllocator idAllocator, RowExpressionService rowExpressionService, StandardFunctionResolution functionResolution, FunctionMetadataManager functionMetadataManager, Function<TableHandle,ConnectorMetadata> transactionToMetadata)
public PlanNode visitFilter(FilterNode filter, ConnectorPlanRewriter.RewriteContext<Void> context)
visitFilter in class PlanVisitor<PlanNode,ConnectorPlanRewriter.RewriteContext<Void>>public PlanNode visitTableScan(TableScanNode tableScan, ConnectorPlanRewriter.RewriteContext<Void> context)
visitTableScan in class PlanVisitor<PlanNode,ConnectorPlanRewriter.RewriteContext<Void>>public BaseSubfieldExtractionRewriter.ConnectorPushdownFilterResult pushdownFilter(ConnectorSession session, ConnectorMetadata metadata, ConnectorTableHandle tableHandle, RowExpression filter, Optional<ConnectorTableLayoutHandle> currentLayoutHandle)
protected abstract BaseSubfieldExtractionRewriter.ConnectorPushdownFilterResult getConnectorPushdownFilterResult(Map<String,ColumnHandle> columnHandles, ConnectorMetadata metadata, ConnectorSession session, BaseSubfieldExtractionRewriter.RemainingExpressions remainingExpressions, DomainTranslator.ExtractionResult<Subfield> decomposedFilter, RowExpression optimizedRemainingExpression, Constraint<ColumnHandle> constraint, Optional<ConnectorTableLayoutHandle> currentLayoutHandle, ConnectorTableHandle tableHandle)
protected abstract boolean isPushdownFilterSupported(ConnectorSession session, TableHandle tableHandle)
protected static Set<VariableReferenceExpression> extractVariableExpressions(RowExpression expression)
public boolean useDynamicFilter(RowExpression expression, ConnectorTableHandle tableHandle, Map<String,ColumnHandle> columnHandleMap)
Copyright © 2012–2024. All rights reserved.