pub fn as_api_str(&self) -> &str {
        use self::OptimizerRule::*;
        match *self {
            All => OPTIMIZER_RULE_ALL,
            MoveCalculationsUp => OPTIMIZER_RULE_MOVE_CALCULATIONS_UP,
            MoveFiltersUp => OPTIMIZER_RULE_MOVE_FILTERS_UP,
            SortInValues => OPTIMIZER_RULE_SORT_IN_VALUES,
            RemoveUnnecessaryFilters => OPTIMIZER_RULE_REMOVE_UNNECESSARY_FILTERS,
            RemoveRedundantCalculations => OPTIMIZER_RULE_REMOVE_REDUNDANT_CALCULATIONS,
            RemoveUnnecessaryCalculations => OPTIMIZER_RULE_REMOVE_UNNECESSARY_CALCULATIONS,
            RemoveRedundantSorts => OPTIMIZER_RULE_REMOVE_REDUNDANT_SORTS,
            InterchangeAdjacentEnumerations => OPTIMIZER_RULE_INTERCHANGE_ADJACENT_ENUMERATIONS,
            RemoveCollectVariables => OPTIMIZER_RULE_REMOVE_COLLECT_VARIABLES,
            PropagateConstantAttributes => OPTIMIZER_RULE_PROPAGATE_CONSTANT_ATTRIBUTES,
            ReplaceOrWithIn => OPTIMIZER_RULE_REPLACE_OR_WITH_IN,
            RemoveRedundantOr => OPTIMIZER_RULE_REMOVE_REDUNDANT_OR,
            UseIndexes => OPTIMIZER_RULE_USE_INDEXES,
            RemoveFilterCoveredByIndex => OPTIMIZER_RULE_REMOVE_FILTER_COVERED_BY_INDEX,
            RemoveFilterCoveredByTraversal => OPTIMIZER_RULE_REMOVE_FILTER_COVERED_BY_TRAVERSAL,
            UseIndexForSort => OPTIMIZER_RULE_USE_INDEX_FOR_SORT,
            MoveCalculationsDown => OPTIMIZER_RULE_MOVE_CALCULATIONS_DOWN,
            PatchUpdateStatements => OPTIMIZER_RULE_PATCH_UPDATE_STATEMENTS,
            OptimizeTraversals => OPTIMIZER_RULE_OPTIMIZE_TRAVERSALS,
            InlineSubQueries => OPTIMIZER_RULE_INLINE_SUBQUERIES,
            GeoIndexOptimizer => OPTIMIZER_RULE_GEO_INDEX_OPTIMIZER,
            RemoveSortRand => OPTIMIZER_RULE_REMOVE_SORT_RAND,
            ReduceExtractionToProjection => OPTIMIZER_RULE_REDUCE_EXTRACTION_TO_PROJECTION,
            #[cfg(feature = "cluster")]
            DistributeInCluster => OPTIMIZER_RULE_DISTRIBUTE_IN_CLUSTER,
            #[cfg(feature = "cluster")]
            ScatterInCluster => OPTIMIZER_RULE_SCATTER_IN_CLUSTER,
            #[cfg(feature = "cluster")]
            DistributeFilterCalcToCluster => OPTIMIZER_RULE_DISTRIBUTE_FILTERCALC_TO_CLUSTER,
            #[cfg(feature = "cluster")]
            DistributeSortToCluster => OPTIMIZER_RULE_DISTRIBUTE_SORT_TO_CLUSTER,
            #[cfg(feature = "cluster")]
            RemoveUnnecessaryRemoteScatter => OPTIMIZER_RULE_REMOVE_UNNECESSARY_REMOTE_SCATTER,
            #[cfg(feature = "cluster")]
            UnDistributeRemoveAfterEnumColl => OPTIMIZER_RULE_UNDISTRIBUTE_REMOVE_AFTER_ENUM_COLL,
            Custom(ref rule) => rule,
        }
    }
/// Returns this optimizer rule as a string slice to be used with the
/// *ArangoDB* API.
Returns this optimizer rule as a string slice to be used with the
ArangoDB* API.
Returns this optimizer rule as a string slice to be used with the ArangoDB * API .
pub fn as_api_str(&self) -> &str {
        use self::OptimizerRule::*;
        match *self {
            All => OPTIMIZER_RULE_ALL,
            MoveCalculationsUp => OPTIMIZER_RULE_MOVE_CALCULATIONS_UP,
            MoveFiltersUp => OPTIMIZER_RULE_MOVE_FILTERS_UP,
            SortInValues => OPTIMIZER_RULE_SORT_IN_VALUES,
            RemoveUnnecessaryFilters => OPTIMIZER_RULE_REMOVE_UNNECESSARY_FILTERS,
            RemoveRedundantCalculations => OPTIMIZER_RULE_REMOVE_REDUNDANT_CALCULATIONS,
            RemoveUnnecessaryCalculations => OPTIMIZER_RULE_REMOVE_UNNECESSARY_CALCULATIONS,
            RemoveRedundantSorts => OPTIMIZER_RULE_REMOVE_REDUNDANT_SORTS,
            InterchangeAdjacentEnumerations => OPTIMIZER_RULE_INTERCHANGE_ADJACENT_ENUMERATIONS,
            RemoveCollectVariables => OPTIMIZER_RULE_REMOVE_COLLECT_VARIABLES,
            PropagateConstantAttributes => OPTIMIZER_RULE_PROPAGATE_CONSTANT_ATTRIBUTES,
            ReplaceOrWithIn => OPTIMIZER_RULE_REPLACE_OR_WITH_IN,
            RemoveRedundantOr => OPTIMIZER_RULE_REMOVE_REDUNDANT_OR,
            UseIndexes => OPTIMIZER_RULE_USE_INDEXES,
            RemoveFilterCoveredByIndex => OPTIMIZER_RULE_REMOVE_FILTER_COVERED_BY_INDEX,
            RemoveFilterCoveredByTraversal => OPTIMIZER_RULE_REMOVE_FILTER_COVERED_BY_TRAVERSAL,
            UseIndexForSort => OPTIMIZER_RULE_USE_INDEX_FOR_SORT,
            MoveCalculationsDown => OPTIMIZER_RULE_MOVE_CALCULATIONS_DOWN,
            PatchUpdateStatements => OPTIMIZER_RULE_PATCH_UPDATE_STATEMENTS,
            OptimizeTraversals => OPTIMIZER_RULE_OPTIMIZE_TRAVERSALS,
            InlineSubQueries => OPTIMIZER_RULE_INLINE_SUBQUERIES,
            GeoIndexOptimizer => OPTIMIZER_RULE_GEO_INDEX_OPTIMIZER,
            RemoveSortRand => OPTIMIZER_RULE_REMOVE_SORT_RAND,
            ReduceExtractionToProjection => OPTIMIZER_RULE_REDUCE_EXTRACTION_TO_PROJECTION,
            #[cfg(feature = "cluster")]
            DistributeInCluster => OPTIMIZER_RULE_DISTRIBUTE_IN_CLUSTER,
            #[cfg(feature = "cluster")]
            ScatterInCluster => OPTIMIZER_RULE_SCATTER_IN_CLUSTER,
            #[cfg(feature = "cluster")]
            DistributeFilterCalcToCluster => OPTIMIZER_RULE_DISTRIBUTE_FILTERCALC_TO_CLUSTER,
            #[cfg(feature = "cluster")]
            DistributeSortToCluster => OPTIMIZER_RULE_DISTRIBUTE_SORT_TO_CLUSTER,
            #[cfg(feature = "cluster")]
            RemoveUnnecessaryRemoteScatter => OPTIMIZER_RULE_REMOVE_UNNECESSARY_REMOTE_SCATTER,
            #[cfg(feature = "cluster")]
            UnDistributeRemoveAfterEnumColl => OPTIMIZER_RULE_UNDISTRIBUTE_REMOVE_AFTER_ENUM_COLL,
            Custom(ref rule) => rule,
        }
    }
pub fn as_api_str ( & self ) -> & str { use self :: OptimizerRule :: * ; match * self { All => OPTIMIZER_RULE_ALL , MoveCalculationsUp => OPTIMIZER_RULE_MOVE_CALCULATIONS_UP , MoveFiltersUp => OPTIMIZER_RULE_MOVE_FILTERS_UP , SortInValues => OPTIMIZER_RULE_SORT_IN_VALUES , RemoveUnnecessaryFilters => OPTIMIZER_RULE_REMOVE_UNNECESSARY_FILTERS , RemoveRedundantCalculations => OPTIMIZER_RULE_REMOVE_REDUNDANT_CALCULATIONS , RemoveUnnecessaryCalculations => OPTIMIZER_RULE_REMOVE_UNNECESSARY_CALCULATIONS , RemoveRedundantSorts => OPTIMIZER_RULE_REMOVE_REDUNDANT_SORTS , InterchangeAdjacentEnumerations => OPTIMIZER_RULE_INTERCHANGE_ADJACENT_ENUMERATIONS , RemoveCollectVariables => OPTIMIZER_RULE_REMOVE_COLLECT_VARIABLES , PropagateConstantAttributes => OPTIMIZER_RULE_PROPAGATE_CONSTANT_ATTRIBUTES , ReplaceOrWithIn => OPTIMIZER_RULE_REPLACE_OR_WITH_IN , RemoveRedundantOr => OPTIMIZER_RULE_REMOVE_REDUNDANT_OR , UseIndexes => OPTIMIZER_RULE_USE_INDEXES , RemoveFilterCoveredByIndex => OPTIMIZER_RULE_REMOVE_FILTER_COVERED_BY_INDEX , RemoveFilterCoveredByTraversal => OPTIMIZER_RULE_REMOVE_FILTER_COVERED_BY_TRAVERSAL , UseIndexForSort => OPTIMIZER_RULE_USE_INDEX_FOR_SORT , MoveCalculationsDown => OPTIMIZER_RULE_MOVE_CALCULATIONS_DOWN , PatchUpdateStatements => OPTIMIZER_RULE_PATCH_UPDATE_STATEMENTS , OptimizeTraversals => OPTIMIZER_RULE_OPTIMIZE_TRAVERSALS , InlineSubQueries => OPTIMIZER_RULE_INLINE_SUBQUERIES , GeoIndexOptimizer => OPTIMIZER_RULE_GEO_INDEX_OPTIMIZER , RemoveSortRand => OPTIMIZER_RULE_REMOVE_SORT_RAND , ReduceExtractionToProjection => OPTIMIZER_RULE_REDUCE_EXTRACTION_TO_PROJECTION , # [ cfg ( feature " " ) ] DistributeInCluster => OPTIMIZER_RULE_DISTRIBUTE_IN_CLUSTER , # [ cfg ( feature " " ) ] ScatterInCluster => OPTIMIZER_RULE_SCATTER_IN_CLUSTER , # [ cfg ( feature " " ) ] DistributeFilterCalcToCluster => OPTIMIZER_RULE_DISTRIBUTE_FILTERCALC_TO_CLUSTER , # [ cfg ( feature " " ) ] DistributeSortToCluster => OPTIMIZER_RULE_DISTRIBUTE_SORT_TO_CLUSTER , # [ cfg ( feature " " ) ] RemoveUnnecessaryRemoteScatter => OPTIMIZER_RULE_REMOVE_UNNECESSARY_REMOTE_SCATTER , # [ cfg ( feature " " ) ] UnDistributeRemoveAfterEnumColl => OPTIMIZER_RULE_UNDISTRIBUTE_REMOVE_AFTER_ENUM_COLL , Custom ( ref rule ) => rule , } }
Returns this optimizer rule as a string slice to be used with the
ArangoDB* API.
Returns this optimizer rule as a string slice to be used with the ArangoDB * API .
&self
&self