Package io.trino

Class FeaturesConfig

java.lang.Object
io.trino.FeaturesConfig

@DefunctConfig({"analyzer.experimental-syntax-enabled","arrayagg.implementation","deprecated.group-by-uses-equal","deprecated.legacy-char-to-varchar-coercion","deprecated.legacy-join-using","deprecated.legacy-map-subscript","deprecated.legacy-order-by","deprecated.legacy-row-field-ordinal-access","deprecated.legacy-timestamp","deprecated.legacy-unnest-array-rows","experimental-syntax-enabled","experimental.resource-groups-enabled","fast-inequality-joins","histogram.implementation","multimapagg.implementation","optimizer.iterative-rule-based-column-pruning","optimizer.processing-optimization","resource-group-manager"}) public class FeaturesConfig extends Object
  • Field Details

  • Constructor Details

    • FeaturesConfig

      public FeaturesConfig()
  • Method Details

    • getCpuCostWeight

      public double getCpuCostWeight()
    • setCpuCostWeight

      @Config("cpu-cost-weight") public FeaturesConfig setCpuCostWeight(double cpuCostWeight)
    • getMemoryCostWeight

      public double getMemoryCostWeight()
    • setMemoryCostWeight

      @Config("memory-cost-weight") public FeaturesConfig setMemoryCostWeight(double memoryCostWeight)
    • getNetworkCostWeight

      public double getNetworkCostWeight()
    • setNetworkCostWeight

      @Config("network-cost-weight") public FeaturesConfig setNetworkCostWeight(double networkCostWeight)
    • isDistributedIndexJoinsEnabled

      public boolean isDistributedIndexJoinsEnabled()
    • setDistributedIndexJoinsEnabled

      @Config("distributed-index-joins-enabled") public FeaturesConfig setDistributedIndexJoinsEnabled(boolean distributedIndexJoinsEnabled)
    • isOmitDateTimeTypePrecision

      public boolean isOmitDateTimeTypePrecision()
    • setOmitDateTimeTypePrecision

      @Config("deprecated.omit-datetime-type-precision") public FeaturesConfig setOmitDateTimeTypePrecision(boolean value)
    • isLegacyRowToJsonCast

      public boolean isLegacyRowToJsonCast()
    • setLegacyRowToJsonCast

      @Config("deprecated.legacy-row-to-json-cast") public FeaturesConfig setLegacyRowToJsonCast(boolean legacyRowToJsonCast)
    • getJoinDistributionType

      public FeaturesConfig.JoinDistributionType getJoinDistributionType()
    • setJoinDistributionType

      @Config("join-distribution-type") public FeaturesConfig setJoinDistributionType(FeaturesConfig.JoinDistributionType joinDistributionType)
    • getJoinMaxBroadcastTableSize

      @NotNull public @NotNull io.airlift.units.DataSize getJoinMaxBroadcastTableSize()
    • setJoinMaxBroadcastTableSize

      @Config("join-max-broadcast-table-size") public FeaturesConfig setJoinMaxBroadcastTableSize(io.airlift.units.DataSize joinMaxBroadcastTableSize)
    • isGroupedExecutionEnabled

      public boolean isGroupedExecutionEnabled()
    • setGroupedExecutionEnabled

      @Config("grouped-execution-enabled") public FeaturesConfig setGroupedExecutionEnabled(boolean groupedExecutionEnabled)
    • isDynamicScheduleForGroupedExecutionEnabled

      public boolean isDynamicScheduleForGroupedExecutionEnabled()
    • setDynamicScheduleForGroupedExecutionEnabled

      @Config("dynamic-schedule-for-grouped-execution") public FeaturesConfig setDynamicScheduleForGroupedExecutionEnabled(boolean dynamicScheduleForGroupedExecution)
    • getConcurrentLifespansPerTask

      @Min(0L) public @javax.validation.constraints.Min(0L) int getConcurrentLifespansPerTask()
    • setConcurrentLifespansPerTask

      @Config("concurrent-lifespans-per-task") public FeaturesConfig setConcurrentLifespansPerTask(int concurrentLifespansPerTask)
    • isColocatedJoinsEnabled

      public boolean isColocatedJoinsEnabled()
    • setColocatedJoinsEnabled

      @Config("colocated-joins-enabled") public FeaturesConfig setColocatedJoinsEnabled(boolean colocatedJoinsEnabled)
    • isSpatialJoinsEnabled

      public boolean isSpatialJoinsEnabled()
    • setSpatialJoinsEnabled

      @Config("spatial-joins-enabled") public FeaturesConfig setSpatialJoinsEnabled(boolean spatialJoinsEnabled)
    • getJoinReorderingStrategy

      public FeaturesConfig.JoinReorderingStrategy getJoinReorderingStrategy()
    • setJoinReorderingStrategy

      @Config("optimizer.join-reordering-strategy") public FeaturesConfig setJoinReorderingStrategy(FeaturesConfig.JoinReorderingStrategy joinReorderingStrategy)
    • getMaxReorderedJoins

      @Min(2L) public @javax.validation.constraints.Min(2L) int getMaxReorderedJoins()
    • setMaxReorderedJoins

      @Config("optimizer.max-reordered-joins") public FeaturesConfig setMaxReorderedJoins(int maxReorderedJoins)
    • isRedistributeWrites

      public boolean isRedistributeWrites()
    • setRedistributeWrites

      @Config("redistribute-writes") public FeaturesConfig setRedistributeWrites(boolean redistributeWrites)
    • isUsePreferredWritePartitioning

      public boolean isUsePreferredWritePartitioning()
    • setUsePreferredWritePartitioning

      @Config("use-preferred-write-partitioning") public FeaturesConfig setUsePreferredWritePartitioning(boolean usePreferredWritePartitioning)
    • getPreferredWritePartitioningMinNumberOfPartitions

      @Min(1L) public @javax.validation.constraints.Min(1L) int getPreferredWritePartitioningMinNumberOfPartitions()
    • setPreferredWritePartitioningMinNumberOfPartitions

      @Config("preferred-write-partitioning-min-number-of-partitions") public FeaturesConfig setPreferredWritePartitioningMinNumberOfPartitions(int preferredWritePartitioningMinNumberOfPartitions)
    • isScaleWriters

      public boolean isScaleWriters()
    • setScaleWriters

      @Config("scale-writers") public FeaturesConfig setScaleWriters(boolean scaleWriters)
    • getWriterMinSize

      @NotNull public @NotNull io.airlift.units.DataSize getWriterMinSize()
    • setWriterMinSize

      @Config("writer-min-size") public FeaturesConfig setWriterMinSize(io.airlift.units.DataSize writerMinSize)
    • isOptimizeMetadataQueries

      public boolean isOptimizeMetadataQueries()
    • setOptimizeMetadataQueries

      @Config("optimizer.optimize-metadata-queries") public FeaturesConfig setOptimizeMetadataQueries(boolean optimizeMetadataQueries)
    • isUseMarkDistinct

      public boolean isUseMarkDistinct()
    • setUseMarkDistinct

      @Config("optimizer.use-mark-distinct") public FeaturesConfig setUseMarkDistinct(boolean value)
    • isPreferPartialAggregation

      public boolean isPreferPartialAggregation()
    • setPreferPartialAggregation

      @Config("optimizer.prefer-partial-aggregation") public FeaturesConfig setPreferPartialAggregation(boolean value)
    • isOptimizeTopNRanking

      public boolean isOptimizeTopNRanking()
    • setOptimizeTopNRanking

      @Config("optimizer.optimize-top-n-ranking") @LegacyConfig("optimizer.optimize-top-n-row-number") public FeaturesConfig setOptimizeTopNRanking(boolean optimizeTopNRanking)
    • isOptimizeHashGeneration

      public boolean isOptimizeHashGeneration()
    • setOptimizeHashGeneration

      @Config("optimizer.optimize-hash-generation") public FeaturesConfig setOptimizeHashGeneration(boolean optimizeHashGeneration)
    • isPushTableWriteThroughUnion

      public boolean isPushTableWriteThroughUnion()
    • setPushTableWriteThroughUnion

      @Config("optimizer.push-table-write-through-union") public FeaturesConfig setPushTableWriteThroughUnion(boolean pushTableWriteThroughUnion)
    • isDictionaryAggregation

      public boolean isDictionaryAggregation()
    • setDictionaryAggregation

      @Config("optimizer.dictionary-aggregation") public FeaturesConfig setDictionaryAggregation(boolean dictionaryAggregation)
    • getRe2JDfaStatesLimit

      @Min(2L) public @javax.validation.constraints.Min(2L) int getRe2JDfaStatesLimit()
    • setRe2JDfaStatesLimit

      @Config("re2j.dfa-states-limit") public FeaturesConfig setRe2JDfaStatesLimit(int re2JDfaStatesLimit)
    • getRe2JDfaRetries

      @Min(0L) public @javax.validation.constraints.Min(0L) int getRe2JDfaRetries()
    • setRe2JDfaRetries

      @Config("re2j.dfa-retries") public FeaturesConfig setRe2JDfaRetries(int re2JDfaRetries)
    • getRegexLibrary

      public RegexLibrary getRegexLibrary()
    • setRegexLibrary

      @Config("regex-library") public FeaturesConfig setRegexLibrary(RegexLibrary regexLibrary)
    • isSpillEnabled

      public boolean isSpillEnabled()
    • setSpillEnabled

      @Config("spill-enabled") @LegacyConfig("experimental.spill-enabled") public FeaturesConfig setSpillEnabled(boolean spillEnabled)
    • isSpillOrderBy

      public boolean isSpillOrderBy()
    • setSpillOrderBy

      @Config("spill-order-by") @LegacyConfig("experimental.spill-order-by") public FeaturesConfig setSpillOrderBy(boolean spillOrderBy)
    • isSpillWindowOperator

      public boolean isSpillWindowOperator()
    • setSpillWindowOperator

      @Config("spill-window-operator") @LegacyConfig("experimental.spill-window-operator") public FeaturesConfig setSpillWindowOperator(boolean spillWindowOperator)
    • getIterativeOptimizerTimeout

      public io.airlift.units.Duration getIterativeOptimizerTimeout()
    • setIterativeOptimizerTimeout

      @Config("iterative-optimizer-timeout") @LegacyConfig("experimental.iterative-optimizer-timeout") public FeaturesConfig setIterativeOptimizerTimeout(io.airlift.units.Duration timeout)
    • isEnableStatsCalculator

      public boolean isEnableStatsCalculator()
    • setEnableStatsCalculator

      @Config("enable-stats-calculator") @LegacyConfig("experimental.enable-stats-calculator") public FeaturesConfig setEnableStatsCalculator(boolean enableStatsCalculator)
    • isStatisticsPrecalculationForPushdownEnabled

      public boolean isStatisticsPrecalculationForPushdownEnabled()
    • setStatisticsPrecalculationForPushdownEnabled

      @Config("statistics-precalculation-for-pushdown.enabled") public FeaturesConfig setStatisticsPrecalculationForPushdownEnabled(boolean statisticsPrecalculationForPushdownEnabled)
    • isCollectPlanStatisticsForAllQueries

      public boolean isCollectPlanStatisticsForAllQueries()
    • setCollectPlanStatisticsForAllQueries

      @Config("collect-plan-statistics-for-all-queries") public FeaturesConfig setCollectPlanStatisticsForAllQueries(boolean collectPlanStatisticsForAllQueries)
    • isIgnoreStatsCalculatorFailures

      public boolean isIgnoreStatsCalculatorFailures()
    • setIgnoreStatsCalculatorFailures

      @Config("optimizer.ignore-stats-calculator-failures") public FeaturesConfig setIgnoreStatsCalculatorFailures(boolean ignoreStatsCalculatorFailures)
    • setDefaultFilterFactorEnabled

      @Config("optimizer.default-filter-factor-enabled") public FeaturesConfig setDefaultFilterFactorEnabled(boolean defaultFilterFactorEnabled)
    • isDefaultFilterFactorEnabled

      public boolean isDefaultFilterFactorEnabled()
    • isEnableForcedExchangeBelowGroupId

      public boolean isEnableForcedExchangeBelowGroupId()
    • setEnableForcedExchangeBelowGroupId

      @Config("enable-forced-exchange-below-group-id") public FeaturesConfig setEnableForcedExchangeBelowGroupId(boolean enableForcedExchangeBelowGroupId)
    • getAggregationOperatorUnspillMemoryLimit

      public io.airlift.units.DataSize getAggregationOperatorUnspillMemoryLimit()
    • setAggregationOperatorUnspillMemoryLimit

      @Config("aggregation-operator-unspill-memory-limit") @LegacyConfig("experimental.aggregation-operator-unspill-memory-limit") public FeaturesConfig setAggregationOperatorUnspillMemoryLimit(io.airlift.units.DataSize aggregationOperatorUnspillMemoryLimit)
    • getSpillerSpillPaths

      public List<Path> getSpillerSpillPaths()
    • setSpillerSpillPaths

      @Config("spiller-spill-path") @LegacyConfig("experimental.spiller-spill-path") public FeaturesConfig setSpillerSpillPaths(String spillPaths)
    • getSpillerThreads

      @Min(1L) public @javax.validation.constraints.Min(1L) int getSpillerThreads()
    • setSpillerThreads

      @Config("spiller-threads") @LegacyConfig("experimental.spiller-threads") public FeaturesConfig setSpillerThreads(int spillerThreads)
    • getMemoryRevokingThreshold

      @DecimalMin("0.0") @DecimalMax("1.0") public @javax.validation.constraints.DecimalMin("0.0"),@javax.validation.constraints.DecimalMax("1.0") double getMemoryRevokingThreshold()
    • setMemoryRevokingThreshold

      @Config("memory-revoking-threshold") @LegacyConfig("experimental.memory-revoking-threshold") public FeaturesConfig setMemoryRevokingThreshold(double memoryRevokingThreshold)
    • getMemoryRevokingTarget

      @DecimalMin("0.0") @DecimalMax("1.0") public @javax.validation.constraints.DecimalMin("0.0"),@javax.validation.constraints.DecimalMax("1.0") double getMemoryRevokingTarget()
    • setMemoryRevokingTarget

      @Config("memory-revoking-target") @LegacyConfig("experimental.memory-revoking-target") public FeaturesConfig setMemoryRevokingTarget(double memoryRevokingTarget)
    • getSpillMaxUsedSpaceThreshold

      public double getSpillMaxUsedSpaceThreshold()
    • setSpillMaxUsedSpaceThreshold

      @Config("spiller-max-used-space-threshold") @LegacyConfig("experimental.spiller-max-used-space-threshold") public FeaturesConfig setSpillMaxUsedSpaceThreshold(double spillMaxUsedSpaceThreshold)
    • isOptimizeMixedDistinctAggregations

      public boolean isOptimizeMixedDistinctAggregations()
    • setOptimizeMixedDistinctAggregations

      @Config("optimizer.optimize-mixed-distinct-aggregations") public FeaturesConfig setOptimizeMixedDistinctAggregations(boolean value)
    • isExchangeCompressionEnabled

      public boolean isExchangeCompressionEnabled()
    • setExchangeCompressionEnabled

      @Config("exchange.compression-enabled") public FeaturesConfig setExchangeCompressionEnabled(boolean exchangeCompressionEnabled)
    • getExchangeDataIntegrityVerification

      public FeaturesConfig.DataIntegrityVerification getExchangeDataIntegrityVerification()
    • setExchangeDataIntegrityVerification

      @Config("exchange.data-integrity-verification") public FeaturesConfig setExchangeDataIntegrityVerification(FeaturesConfig.DataIntegrityVerification exchangeDataIntegrityVerification)
    • isEnableIntermediateAggregations

      public boolean isEnableIntermediateAggregations()
    • setEnableIntermediateAggregations

      @Config("optimizer.enable-intermediate-aggregations") public FeaturesConfig setEnableIntermediateAggregations(boolean enableIntermediateAggregations)
    • isPushAggregationThroughOuterJoin

      public boolean isPushAggregationThroughOuterJoin()
    • setPushAggregationThroughOuterJoin

      @Config("optimizer.push-aggregation-through-outer-join") @LegacyConfig("optimizer.push-aggregation-through-join") public FeaturesConfig setPushAggregationThroughOuterJoin(boolean pushAggregationThroughOuterJoin)
    • isPushPartialAggregationThoughJoin

      public boolean isPushPartialAggregationThoughJoin()
    • setPushPartialAggregationThoughJoin

      @Config("optimizer.push-partial-aggregation-through-join") public FeaturesConfig setPushPartialAggregationThoughJoin(boolean pushPartialAggregationThoughJoin)
    • isParseDecimalLiteralsAsDouble

      public boolean isParseDecimalLiteralsAsDouble()
    • setParseDecimalLiteralsAsDouble

      @Config("parse-decimal-literals-as-double") public FeaturesConfig setParseDecimalLiteralsAsDouble(boolean parseDecimalLiteralsAsDouble)
    • isForceSingleNodeOutput

      public boolean isForceSingleNodeOutput()
    • setForceSingleNodeOutput

      @Config("optimizer.force-single-node-output") public FeaturesConfig setForceSingleNodeOutput(boolean value)
    • isPagesIndexEagerCompactionEnabled

      public boolean isPagesIndexEagerCompactionEnabled()
    • setPagesIndexEagerCompactionEnabled

      @Config("pages-index.eager-compaction-enabled") public FeaturesConfig setPagesIndexEagerCompactionEnabled(boolean pagesIndexEagerCompactionEnabled)
    • getFilterAndProjectMinOutputPageSize

      @MaxDataSize("1MB") public @MaxDataSize("1MB") io.airlift.units.DataSize getFilterAndProjectMinOutputPageSize()
    • setFilterAndProjectMinOutputPageSize

      @Config("filter-and-project-min-output-page-size") @LegacyConfig("experimental.filter-and-project-min-output-page-size") public FeaturesConfig setFilterAndProjectMinOutputPageSize(io.airlift.units.DataSize filterAndProjectMinOutputPageSize)
    • getFilterAndProjectMinOutputPageRowCount

      @Min(0L) public @javax.validation.constraints.Min(0L) int getFilterAndProjectMinOutputPageRowCount()
    • setFilterAndProjectMinOutputPageRowCount

      @Config("filter-and-project-min-output-page-row-count") @LegacyConfig("experimental.filter-and-project-min-output-page-row-count") public FeaturesConfig setFilterAndProjectMinOutputPageRowCount(int filterAndProjectMinOutputPageRowCount)
    • isDistributedSortEnabled

      public boolean isDistributedSortEnabled()
    • setDistributedSortEnabled

      @Config("distributed-sort") public FeaturesConfig setDistributedSortEnabled(boolean enabled)
    • getMaxRecursionDepth

      public int getMaxRecursionDepth()
    • setMaxRecursionDepth

      @Config("max-recursion-depth") public FeaturesConfig setMaxRecursionDepth(int maxRecursionDepth)
    • getMaxGroupingSets

      public int getMaxGroupingSets()
    • setMaxGroupingSets

      @Config("analyzer.max-grouping-sets") public FeaturesConfig setMaxGroupingSets(int maxGroupingSets)
    • isLateMaterializationEnabled

      public boolean isLateMaterializationEnabled()
    • setLateMaterializationEnabled

      @Config("experimental.late-materialization.enabled") @LegacyConfig("experimental.work-processor-pipelines") public FeaturesConfig setLateMaterializationEnabled(boolean lateMaterializationEnabled)
    • isSkipRedundantSort

      public boolean isSkipRedundantSort()
    • setSkipRedundantSort

      @Config("optimizer.skip-redundant-sort") public FeaturesConfig setSkipRedundantSort(boolean value)
    • isPredicatePushdownUseTableProperties

      public boolean isPredicatePushdownUseTableProperties()
    • setPredicatePushdownUseTableProperties

      @Config("optimizer.predicate-pushdown-use-table-properties") public FeaturesConfig setPredicatePushdownUseTableProperties(boolean predicatePushdownUseTableProperties)
    • isIgnoreDownstreamPreferences

      public boolean isIgnoreDownstreamPreferences()
    • setIgnoreDownstreamPreferences

      @Config("optimizer.ignore-downstream-preferences") public FeaturesConfig setIgnoreDownstreamPreferences(boolean ignoreDownstreamPreferences)
    • isRewriteFilteringSemiJoinToInnerJoin

      public boolean isRewriteFilteringSemiJoinToInnerJoin()
    • setRewriteFilteringSemiJoinToInnerJoin

      @Config("optimizer.rewrite-filtering-semi-join-to-inner-join") public FeaturesConfig setRewriteFilteringSemiJoinToInnerJoin(boolean rewriteFilteringSemiJoinToInnerJoin)
    • isOptimizeDuplicateInsensitiveJoins

      public boolean isOptimizeDuplicateInsensitiveJoins()
    • setOptimizeDuplicateInsensitiveJoins

      @Config("optimizer.optimize-duplicate-insensitive-joins") public FeaturesConfig setOptimizeDuplicateInsensitiveJoins(boolean optimizeDuplicateInsensitiveJoins)
    • isUseLegacyWindowFilterPushdown

      public boolean isUseLegacyWindowFilterPushdown()
    • setUseLegacyWindowFilterPushdown

      @Config("optimizer.use-legacy-window-filter-pushdown") public FeaturesConfig setUseLegacyWindowFilterPushdown(boolean useLegacyWindowFilterPushdown)
    • isUseTableScanNodePartitioning

      public boolean isUseTableScanNodePartitioning()
    • setUseTableScanNodePartitioning

      @Config("optimizer.use-table-scan-node-partitioning") @LegacyConfig("optimizer.plan-with-table-node-partitioning") public FeaturesConfig setUseTableScanNodePartitioning(boolean useTableScanNodePartitioning)
    • getTableScanNodePartitioningMinBucketToTaskRatio

      @Min(0L) public @javax.validation.constraints.Min(0L) double getTableScanNodePartitioningMinBucketToTaskRatio()
    • setTableScanNodePartitioningMinBucketToTaskRatio

      @Config("optimizer.table-scan-node-partitioning-min-bucket-to-task-ratio") public FeaturesConfig setTableScanNodePartitioningMinBucketToTaskRatio(double tableScanNodePartitioningMinBucketToTaskRatio)
    • isMergeProjectWithValues

      public boolean isMergeProjectWithValues()
    • setMergeProjectWithValues

      @Config("optimizer.merge-project-with-values") public FeaturesConfig setMergeProjectWithValues(boolean mergeProjectWithValues)
    • isLegacyCatalogRoles

      public boolean isLegacyCatalogRoles()
    • setLegacyCatalogRoles

      @Config("deprecated.legacy-catalog-roles") public FeaturesConfig setLegacyCatalogRoles(boolean legacyCatalogRoles)
    • isDisableSetPropertiesSecurityCheckForCreateDdl

      public boolean isDisableSetPropertiesSecurityCheckForCreateDdl()
    • setDisableSetPropertiesSecurityCheckForCreateDdl

      @Config("deprecated.disable-set-properties-security-check-for-create-ddl") public FeaturesConfig setDisableSetPropertiesSecurityCheckForCreateDdl(boolean disableSetPropertiesSecurityCheckForCreateDdl)
    • isIncrementalHashArrayLoadFactorEnabled

      @Deprecated public boolean isIncrementalHashArrayLoadFactorEnabled()
      Deprecated.
    • setIncrementalHashArrayLoadFactorEnabled

      @Deprecated @Config("incremental-hash-array-load-factor.enabled") public FeaturesConfig setIncrementalHashArrayLoadFactorEnabled(boolean incrementalHashArrayLoadFactorEnabled)
      Deprecated.
    • isHideInaccesibleColumns

      public boolean isHideInaccesibleColumns()
    • setHideInaccesibleColumns

      @Config("hide-inaccessible-columns") public FeaturesConfig setHideInaccesibleColumns(boolean hideInaccesibleColumns)
    • isAllowSetViewAuthorization

      public boolean isAllowSetViewAuthorization()
    • setAllowSetViewAuthorization

      @Config("legacy.allow-set-view-authorization") public FeaturesConfig setAllowSetViewAuthorization(boolean allowSetViewAuthorization)