Interface QueryHashable

All Known Subinterfaces:
AtomKeyExpression, BooleanComponent, Comparisons.Comparison, Comparisons.ComparisonWithParameter, ComponentWithChildren, ComponentWithComparison, ComponentWithNoChildren, ComponentWithSingleChild, IndexQueryabilityFilter, KeyExpression, KeyExpressionWithChild, KeyExpressionWithChildren, KeyExpressionWithoutChildren, KeyExpressionWithValue, QueryableKeyExpression, QueryComponent
All Known Implementing Classes:
AndComponent, AndOrComponent, BaseField, BaseKeyExpression, BaseNestedField, CollateFunctionKeyExpression, CollateFunctionKeyExpressionFactoryJRE.CollateFunctionKeyExpressionJRE, Comparisons.InvertedFunctionComparison, Comparisons.ListComparison, Comparisons.MultiColumnComparison, Comparisons.NullComparison, Comparisons.OpaqueEqualityComparison, Comparisons.ParameterComparison, Comparisons.ParameterComparisonBase, Comparisons.SimpleComparison, Comparisons.SimpleComparisonBase, Comparisons.TextComparison, Comparisons.TextContainsAllPrefixesComparison, Comparisons.TextWithMaxDistanceComparison, Comparisons.ValueComparison, DimensionsKeyExpression, EmptyComparison, EmptyKeyExpression, FieldKeyExpression, FieldWithComparison, FunctionKeyExpression, GroupingKeyExpression, IndexRecordFunction, InvertibleFunctionKeyExpression, KeyWithValueExpression, ListKeyExpression, LiteralKeyExpression, LongArithmethicFunctionKeyExpression, NestedField, NestingKeyExpression, NotComponent, ObjectPlanHash, OneOfThemWithComparison, OneOfThemWithComponent, OrComponent, OrderFunctionKeyExpression, QueryKeyExpressionWithComparison, QueryKeyExpressionWithOneOfComparison, QueryRecordFunctionWithComparison, RecordFunction, RecordQuery, RecordTypeKeyComparison, RecordTypeKeyComparison.RecordTypeComparison, RecordTypeKeyExpression, SplitKeyExpression, StoreRecordFunction, ThenKeyExpression, TimeWindowRecordFunction, VersionKeyExpression

public interface QueryHashable
Query hash - calculate and return identifying hash values for queries. The queryHash semantics are different than Object.hashCode() in a few ways: See also PlanHashable
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    The "kinds" of queryHash calculations.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Return a hash similar to hashCode, but with the additional guarantee that is is stable across JVMs.
  • Method Details

    • queryHash

      int queryHash(@Nonnull QueryHashable.QueryHashKind hashKind)
      Return a hash similar to hashCode, but with the additional guarantee that is is stable across JVMs.
      Parameters:
      hashKind - the "kind" of hash to calculate. Each kind of hash has a particular logic with regards to included and excluded items.
      Returns:
      a stable hash code