Class RecordQueryPlannerConfiguration
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.RecordQueryPlannerConfiguration
-
@API(MAINTAINED) public class RecordQueryPlannerConfiguration extends Object
A set of configuration options for theRecordQueryPlanner
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RecordQueryPlannerConfiguration.Builder
A builder forRecordQueryPlannerConfiguration
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RecordQueryPlannerConfiguration.Builder
asBuilder()
static RecordQueryPlannerConfiguration.Builder
builder()
QueryPlanner.IndexScanPreference
getIndexScanPreference()
Get whetherRecordQueryIndexPlan
is preferred overRecordQueryScanPlan
even when it does not satisfy any additional conditions.boolean
shouldAttemptFailedInJoinAsOr()
Get whether the query planner should attempt to transform IN predicates that can't be implemented using aRecordQueryInJoinPlan
into an equivalent OR of equality predicates, which might be plannable as a union.
-
-
-
Method Detail
-
getIndexScanPreference
@Nonnull public QueryPlanner.IndexScanPreference getIndexScanPreference()
Get whetherRecordQueryIndexPlan
is preferred overRecordQueryScanPlan
even when it does not satisfy any additional conditions. Scanning without an index is more efficient, but will have to skip over unrelated record types. For that reason, it is safer to use an index, except when there is only one record type. If the meta-data has more than one record type but the record store does not, this can be overridden.- Returns:
- the index scan preference
-
shouldAttemptFailedInJoinAsOr
public boolean shouldAttemptFailedInJoinAsOr()
Get whether the query planner should attempt to transform IN predicates that can't be implemented using aRecordQueryInJoinPlan
into an equivalent OR of equality predicates, which might be plannable as a union.- Returns:
- whether the planner will transform IN predicates into ORs when they can't be planned as in-joins
-
asBuilder
@Nonnull public RecordQueryPlannerConfiguration.Builder asBuilder()
-
builder
@Nonnull public static RecordQueryPlannerConfiguration.Builder builder()
-
-