Class RecordQueryPlannerSubstitutionVisitor
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.visitor.RecordQueryPlannerSubstitutionVisitor
-
- Direct Known Subclasses:
FilterVisitor
,IntersectionVisitor
,UnionVisitor
,UnorderedPrimaryKeyDistinctVisitor
public abstract class RecordQueryPlannerSubstitutionVisitor extends Object
Visitor interface for performing substitution-type rules onRecordQueryPlan
s.
-
-
Field Summary
Fields Modifier and Type Field Description protected RecordMetaData
recordMetadata
-
Constructor Summary
Constructors Constructor Description RecordQueryPlannerSubstitutionVisitor(RecordMetaData recordMetadata, PlannableIndexTypes indexTypes, KeyExpression commonPrimaryKey)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static RecordQueryPlan
applyVisitors(RecordQueryPlan plan, RecordMetaData recordMetaData, PlannableIndexTypes indexTypes, KeyExpression commonPrimaryKey)
AvailableFields
availableFields(RecordQueryPlan plan)
static AvailableFields
availableFields(RecordMetaData recordMetaData, PlannableIndexTypes indexTypes, KeyExpression commonPrimaryKey, RecordQueryPlan plan)
abstract RecordQueryPlan
postVisit(RecordQueryPlan recordQueryPlan)
RecordQueryPlan
removeIndexFetch(RecordQueryPlan plan, Set<KeyExpression> requiredFields)
static RecordQueryPlan
removeIndexFetch(RecordMetaData recordMetaData, PlannableIndexTypes indexTypes, KeyExpression commonPrimaryKey, RecordQueryPlan plan, Set<KeyExpression> requiredFields)
-
-
-
Field Detail
-
recordMetadata
@Nonnull protected final RecordMetaData recordMetadata
-
-
Constructor Detail
-
RecordQueryPlannerSubstitutionVisitor
public RecordQueryPlannerSubstitutionVisitor(@Nonnull RecordMetaData recordMetadata, @Nonnull PlannableIndexTypes indexTypes, @Nullable KeyExpression commonPrimaryKey)
-
-
Method Detail
-
applyVisitors
public static RecordQueryPlan applyVisitors(@Nonnull RecordQueryPlan plan, @Nonnull RecordMetaData recordMetaData, @Nonnull PlannableIndexTypes indexTypes, @Nullable KeyExpression commonPrimaryKey)
-
postVisit
@Nonnull public abstract RecordQueryPlan postVisit(@Nonnull RecordQueryPlan recordQueryPlan)
-
removeIndexFetch
@Nullable public RecordQueryPlan removeIndexFetch(@Nonnull RecordQueryPlan plan, @Nonnull Set<KeyExpression> requiredFields)
-
removeIndexFetch
@Nullable public static RecordQueryPlan removeIndexFetch(@Nonnull RecordMetaData recordMetaData, @Nonnull PlannableIndexTypes indexTypes, @Nullable KeyExpression commonPrimaryKey, @Nonnull RecordQueryPlan plan, @Nonnull Set<KeyExpression> requiredFields)
-
availableFields
@Nonnull public AvailableFields availableFields(@Nonnull RecordQueryPlan plan)
-
availableFields
@Nonnull public static AvailableFields availableFields(@Nonnull RecordMetaData recordMetaData, @Nonnull PlannableIndexTypes indexTypes, @Nullable KeyExpression commonPrimaryKey, @Nonnull RecordQueryPlan plan)
-
-