Enum Class EsqlCapabilities.Cap

java.lang.Object
java.lang.Enum<EsqlCapabilities.Cap>
org.elasticsearch.xpack.esql.action.EsqlCapabilities.Cap
All Implemented Interfaces:
Serializable, Comparable<EsqlCapabilities.Cap>, Constable
Enclosing class:
EsqlCapabilities

public static enum EsqlCapabilities.Cap extends Enum<EsqlCapabilities.Cap>
  • Enum Constant Details

    • MV_SORT

      public static final EsqlCapabilities.Cap MV_SORT
      Introduction of MV_SORT, MV_SLICE, and MV_ZIP. Added in #106095.
    • DISABLE_NULLABLE_OPTS

      public static final EsqlCapabilities.Cap DISABLE_NULLABLE_OPTS
      When we disabled some broken optimizations around nullable. Fixed in #105691.
    • ST_X_Y

      public static final EsqlCapabilities.Cap ST_X_Y
      Introduction of ST_X and ST_Y. Added in #105768.
    • SPATIAL_POINTS_FROM_SOURCE

      public static final EsqlCapabilities.Cap SPATIAL_POINTS_FROM_SOURCE
      Changed precision of geo_point and cartesian_point fields, by loading from source into WKB. Done in #103691.
    • SPATIAL_SHAPES

      public static final EsqlCapabilities.Cap SPATIAL_SHAPES
      Support for loading geo_shape and cartesian_shape fields. Done in #104269.
    • GEO_VALIDATION

      public static final EsqlCapabilities.Cap GEO_VALIDATION
      Do validation check on geo_point and geo_shape fields. Done in #128259.
    • ST_CENTROID_AGG

      public static final EsqlCapabilities.Cap ST_CENTROID_AGG
      Support for spatial aggregation ST_CENTROID. Done in #104269.
    • ST_INTERSECTS

      public static final EsqlCapabilities.Cap ST_INTERSECTS
      Support for spatial aggregation ST_INTERSECTS. Done in #104907.
    • ST_CONTAINS_WITHIN

      public static final EsqlCapabilities.Cap ST_CONTAINS_WITHIN
      Support for spatial aggregation ST_CONTAINS and ST_WITHIN. Done in #106503.
    • ST_DISJOINT

      public static final EsqlCapabilities.Cap ST_DISJOINT
      Support for spatial aggregation ST_DISJOINT. Done in #107007.
    • AGG_VALUES

      public static final EsqlCapabilities.Cap AGG_VALUES
      The introduction of the VALUES agg.
    • AGG_VALUES_SPATIAL

      public static final EsqlCapabilities.Cap AGG_VALUES_SPATIAL
      Expand the VALUES agg to cover spatial types.
    • ASYNC_QUERY

      public static final EsqlCapabilities.Cap ASYNC_QUERY
      Does ESQL support async queries.
    • FROM_OPTIONS

      @Deprecated public static final EsqlCapabilities.Cap FROM_OPTIONS
      Deprecated.
      Does ESQL support FROM OPTIONS?
    • STRING_LITERAL_AUTO_CASTING

      public static final EsqlCapabilities.Cap STRING_LITERAL_AUTO_CASTING
      Cast string literals to a desired data type.
    • BASE64_DECODE_ENCODE

      public static final EsqlCapabilities.Cap BASE64_DECODE_ENCODE
      Base64 encoding and decoding functions.
    • CASTING_OPERATOR

      public static final EsqlCapabilities.Cap CASTING_OPERATOR
      Support for the :: casting operator
    • MV_ORDERING_SORTED_ASCENDING

      public static final EsqlCapabilities.Cap MV_ORDERING_SORTED_ASCENDING
      Blocks can be labelled with Block.MvOrdering.SORTED_ASCENDING for optimizations.
    • METRICS_COUNTER_FIELDS

      public static final EsqlCapabilities.Cap METRICS_COUNTER_FIELDS
      Support for metrics counter fields
    • STRING_LITERAL_AUTO_CASTING_EXTENDED

      public static final EsqlCapabilities.Cap STRING_LITERAL_AUTO_CASTING_EXTENDED
      Cast string literals to a desired data type for IN predicate and more types for BinaryComparison.
    • METADATA_FIELDS

      public static final EsqlCapabilities.Cap METADATA_FIELDS
      Support for metadata fields.
    • INDEX_METADATA_FIELD

      public static final EsqlCapabilities.Cap INDEX_METADATA_FIELD
      Support specifically for *just* the _index METADATA field. Used by CsvTests, since that is the only metadata field currently supported.
    • TIMESPAN_ABBREVIATIONS

      public static final EsqlCapabilities.Cap TIMESPAN_ABBREVIATIONS
      Support for timespan units abbreviations
    • COUNTER_TYPES

      public static final EsqlCapabilities.Cap COUNTER_TYPES
      Support metrics counter types
    • FN_BIT_LENGTH

      public static final EsqlCapabilities.Cap FN_BIT_LENGTH
      Support for function BIT_LENGTH. Done in #115792
    • FN_BYTE_LENGTH

      public static final EsqlCapabilities.Cap FN_BYTE_LENGTH
      Support for function BYTE_LENGTH.
    • FN_REVERSE

      public static final EsqlCapabilities.Cap FN_REVERSE
      Support for function REVERSE.
    • FN_REVERSE_GRAPHEME_CLUSTERS

      public static final EsqlCapabilities.Cap FN_REVERSE_GRAPHEME_CLUSTERS
      Support for reversing whole grapheme clusters. This is not supported on JDK versions less than 20 which are not supported in ES 9.0.0+ but this exists to keep the 8.x branch similar to the main branch.
    • FN_CBRT

      public static final EsqlCapabilities.Cap FN_CBRT
      Support for function CBRT. Done in #108574.
    • FN_HYPOT

      public static final EsqlCapabilities.Cap FN_HYPOT
      Support for function HYPOT.
    • FN_MV_APPEND

      public static final EsqlCapabilities.Cap FN_MV_APPEND
      Support for MV_APPEND function. #107001
    • FN_MV_MEDIAN_ABSOLUTE_DEVIATION

      public static final EsqlCapabilities.Cap FN_MV_MEDIAN_ABSOLUTE_DEVIATION
      Support for MV_MEDIAN_ABSOLUTE_DEVIATION function.
    • FN_MV_PERCENTILE

      public static final EsqlCapabilities.Cap FN_MV_PERCENTILE
      Support for MV_PERCENTILE function.
    • FN_IP_PREFIX

      public static final EsqlCapabilities.Cap FN_IP_PREFIX
      Support for function IP_PREFIX.
    • FN_SUBSTRING_EMPTY_NULL

      public static final EsqlCapabilities.Cap FN_SUBSTRING_EMPTY_NULL
      Fix on function SUBSTRING that makes it not return null on empty strings.
    • FN_ROUND_UL_FIXES

      public static final EsqlCapabilities.Cap FN_ROUND_UL_FIXES
      Fixes on function ROUND that avoid it throwing exceptions on runtime for unsigned long cases.
    • FUNCTIONS_NEVER_EMIT_TEXT

      public static final EsqlCapabilities.Cap FUNCTIONS_NEVER_EMIT_TEXT
      All functions that take TEXT should never emit TEXT, only KEYWORD. #114334
    • INLINESTATS

      public static final EsqlCapabilities.Cap INLINESTATS
      Support for the INLINESTATS syntax.
    • INLINESTATS_V2

      public static final EsqlCapabilities.Cap INLINESTATS_V2
      Support for the expressions in grouping in INLINESTATS syntax.
    • AGG_TOP

      public static final EsqlCapabilities.Cap AGG_TOP
      Support for aggregation function TOP.
    • AGG_MAX_MIN_BOOLEAN_SUPPORT

      public static final EsqlCapabilities.Cap AGG_MAX_MIN_BOOLEAN_SUPPORT
      Support for booleans in aggregations MAX and MIN.
    • AGG_MAX_MIN_IP_SUPPORT

      public static final EsqlCapabilities.Cap AGG_MAX_MIN_IP_SUPPORT
      Support for ips in aggregations MAX and MIN.
    • AGG_MAX_MIN_STRING_SUPPORT

      public static final EsqlCapabilities.Cap AGG_MAX_MIN_STRING_SUPPORT
      Support for strings in aggregations MAX and MIN.
    • AGG_TOP_BOOLEAN_SUPPORT

      public static final EsqlCapabilities.Cap AGG_TOP_BOOLEAN_SUPPORT
      Support for booleans in TOP aggregation.
    • AGG_TOP_IP_SUPPORT

      public static final EsqlCapabilities.Cap AGG_TOP_IP_SUPPORT
      Support for ips in TOP aggregation.
    • AGG_TOP_STRING_SUPPORT

      public static final EsqlCapabilities.Cap AGG_TOP_STRING_SUPPORT
      Support for keyword and text fields in TOP aggregation.
    • CASE_MV

      public static final EsqlCapabilities.Cap CASE_MV
      CASE properly handling multivalue conditions.
    • ENRICH_LOAD

      public static final EsqlCapabilities.Cap ENRICH_LOAD
      Support for loading values over enrich. This is supported by all versions of ESQL but not the unit test CsvTests.
    • ST_CENTROID_AGG_OPTIMIZED

      public static final EsqlCapabilities.Cap ST_CENTROID_AGG_OPTIMIZED
      Optimization for ST_CENTROID changed some results in cartesian data. #108713
    • METADATA_IGNORED_FIELD

      public static final EsqlCapabilities.Cap METADATA_IGNORED_FIELD
      Support for requesting the "_ignored" metadata field.
    • LOOKUP_V4

      public static final EsqlCapabilities.Cap LOOKUP_V4
      LOOKUP command with - tables using syntax "tables": {"type": [<values>]} - fixed variable shadowing - fixed Join.references(), requiring breaking change to Join serialization
    • REPEAT

      public static final EsqlCapabilities.Cap REPEAT
      Support for requesting the "REPEAT" command.
    • STRING_LITERAL_AUTO_CASTING_TO_DATETIME_ADD_SUB

      public static final EsqlCapabilities.Cap STRING_LITERAL_AUTO_CASTING_TO_DATETIME_ADD_SUB
      Cast string literals to datetime in addition and subtraction when the other side is a date or time interval.
    • NAMED_POSITIONAL_PARAMETER

      public static final EsqlCapabilities.Cap NAMED_POSITIONAL_PARAMETER
      Support for named or positional parameters in EsqlQueryRequest.
    • UNION_TYPES

      public static final EsqlCapabilities.Cap UNION_TYPES
      Support multiple field mappings if appropriate conversion function is used (union types)
    • UNMAPPED_FIELDS

      public static final EsqlCapabilities.Cap UNMAPPED_FIELDS
      Support unmapped using the INSIST keyword.
    • ST_DISTANCE

      public static final EsqlCapabilities.Cap ST_DISTANCE
      Support for function ST_DISTANCE. Done in #108764.
    • ST_EXTENT_AGG

      public static final EsqlCapabilities.Cap ST_EXTENT_AGG
      Support for function ST_EXTENT_AGG.
    • ST_EXTENT_AGG_DOCVALUES

      public static final EsqlCapabilities.Cap ST_EXTENT_AGG_DOCVALUES
      Optimization of ST_EXTENT_AGG with doc-values as IntBlock.
    • SPATIAL_FUNCTIONS_FIX_CRSTYPE_FOLDING

      public static final EsqlCapabilities.Cap SPATIAL_FUNCTIONS_FIX_CRSTYPE_FOLDING
      Fix determination of CRS types in spatial functions when folding.
    • SPATIAL_PREDICATES_SUPPORT_MULTIVALUES

      public static final EsqlCapabilities.Cap SPATIAL_PREDICATES_SUPPORT_MULTIVALUES
      Enable spatial predicate functions to support multi-values. Done in #112063.
    • SPATIAL_DISTANCE_SUPPORTS_MULTIVALUES

      public static final EsqlCapabilities.Cap SPATIAL_DISTANCE_SUPPORTS_MULTIVALUES
      Enable spatial distance function to support multi-values. Done in #114836.
    • SPATIAL_DISTANCE_PUSHDOWN_ENHANCEMENTS

      public static final EsqlCapabilities.Cap SPATIAL_DISTANCE_PUSHDOWN_ENHANCEMENTS
      Support a number of fixes and enhancements to spatial distance pushdown. Done in #112938.
    • SPATIAL_CENTROID_NO_RECORDS

      public static final EsqlCapabilities.Cap SPATIAL_CENTROID_NO_RECORDS
      Fix for spatial centroid when no records are found.
    • ST_ENVELOPE

      public static final EsqlCapabilities.Cap ST_ENVELOPE
      Support ST_ENVELOPE function (and related ST_XMIN, etc.).
    • GROK_DISSECT_MASKING

      public static final EsqlCapabilities.Cap GROK_DISSECT_MASKING
      Fix to GROK and DISSECT that allows extracting attributes with the same name as the input https://github.com/elastic/elasticsearch/issues/110184
    • DOUBLE_QUOTES_SOURCE_ENCLOSING

      public static final EsqlCapabilities.Cap DOUBLE_QUOTES_SOURCE_ENCLOSING
      Support for quoting index sources in double quotes.
    • AGG_WEIGHTED_AVG

      public static final EsqlCapabilities.Cap AGG_WEIGHTED_AVG
      Support for WEIGHTED_AVG function.
    • UNION_TYPES_AGG_CAST

      public static final EsqlCapabilities.Cap UNION_TYPES_AGG_CAST
      Fix for union-types when aggregating over an inline conversion with casting operator. Done in #110476.
    • FIX_COUNT_PUSHDOWN_FOR_UNION_TYPES

      public static final EsqlCapabilities.Cap FIX_COUNT_PUSHDOWN_FOR_UNION_TYPES
      When pushing down STATS count(field::type) for a union type field, we wrongly used a synthetic attribute name in the query instead of the actual field name. This led to 0 counts instead of the correct result.
    • GROK_VALIDATION

      public static final EsqlCapabilities.Cap GROK_VALIDATION
      Fix to GROK validation in case of multiple fields with same name and different types https://github.com/elastic/elasticsearch/issues/110533
    • UNION_TYPES_INLINE_FIX

      public static final EsqlCapabilities.Cap UNION_TYPES_INLINE_FIX
      Fix for union-types when aggregating over an inline conversion with conversion function. Done in #110652.
    • UNION_TYPES_REMOVE_FIELDS

      public static final EsqlCapabilities.Cap UNION_TYPES_REMOVE_FIELDS
      Fix for union-types when sorting a type-casted field. We changed how we remove synthetic union-types fields.
    • UNION_TYPES_FIX_RENAME_RESOLUTION

      public static final EsqlCapabilities.Cap UNION_TYPES_FIX_RENAME_RESOLUTION
      Fix for union-types when renaming unrelated columns. https://github.com/elastic/elasticsearch/issues/111452
    • RENAME_SEQUENTIAL_PROCESSING

      public static final EsqlCapabilities.Cap RENAME_SEQUENTIAL_PROCESSING
      Execute `RENAME` operations sequentially from left to right, see ESQL: Align RENAME behavior with EVAL for sequential processing #122250
    • UNION_TYPES_MISSING_FIELD

      public static final EsqlCapabilities.Cap UNION_TYPES_MISSING_FIELD
      Fix for union-types when some indexes are missing the required field. Done in #111932.
    • UNION_TYPES_NUMERIC_WIDENING

      public static final EsqlCapabilities.Cap UNION_TYPES_NUMERIC_WIDENING
      Fix for widening of short numeric types in union-types. Done in #112610
    • FIX_PARSING_LARGE_NEGATIVE_NUMBERS

      public static final EsqlCapabilities.Cap FIX_PARSING_LARGE_NEGATIVE_NUMBERS
      Fix a parsing issue where numbers below Long.MIN_VALUE threw an exception instead of parsing as doubles. see Parsing large numbers is inconsistent #104323
    • FIX_COUNT_DISTINCT_SOURCE_ERROR

      public static final EsqlCapabilities.Cap FIX_COUNT_DISTINCT_SOURCE_ERROR
      Fix the status code returned when trying to run count_distinct on the _source type (which is not supported). see count_distinct(_source) returns a 500 response
    • RANGEQUERY_FOR_DATETIME

      public static final EsqlCapabilities.Cap RANGEQUERY_FOR_DATETIME
      Use RangeQuery for BinaryComparison on DateTime fields.
    • ENRICH_STRICT_RANGE_TYPES

      public static final EsqlCapabilities.Cap ENRICH_STRICT_RANGE_TYPES
      Enforce strict type checking on ENRICH range types, and warnings for KEYWORD parsing at runtime. Done in #115091.
    • UNIQUE_NAMES

      public static final EsqlCapabilities.Cap UNIQUE_NAMES
      Fix for non-unique attribute names in ROW and logical plans. https://github.com/elastic/elasticsearch/issues/110541
    • FIXED_PUSHDOWN_PAST_PROJECT

      public static final EsqlCapabilities.Cap FIXED_PUSHDOWN_PAST_PROJECT
      Make attributes of GROK/DISSECT adjustable and fix a shadowing bug when pushing them down past PROJECT. https://github.com/elastic/elasticsearch/issues/108008
    • MV_PSERIES_WEIGHTED_SUM

      public static final EsqlCapabilities.Cap MV_PSERIES_WEIGHTED_SUM
      Adds the MV_PSERIES_WEIGHTED_SUM function for converting sorted lists of numbers into a bounded score. This is a generalization of the riemann zeta function but we don't name it that because we don't support complex numbers and don't want to make folks think of mystical number theory things. This is just a weighted sum that is adjacent to magic.
    • MATCH_OPERATOR_COLON

      public static final EsqlCapabilities.Cap MATCH_OPERATOR_COLON
      Support for match operator as a colon. Previous support for match operator as MATCH has been removed
    • NO_META

      public static final EsqlCapabilities.Cap NO_META
      Removing support for the META keyword.
    • COMBINE_BINARY_COMPARISONS

      public static final EsqlCapabilities.Cap COMBINE_BINARY_COMPARISONS
      Add CombineBinaryComparisons rule.
    • DATE_NANOS_TYPE

      public static final EsqlCapabilities.Cap DATE_NANOS_TYPE
      Support for nanosecond dates as a data type
    • TO_DATE_NANOS

      public static final EsqlCapabilities.Cap TO_DATE_NANOS
      Support for to_date_nanos function
    • DATE_NANOS_BINARY_COMPARISON

      public static final EsqlCapabilities.Cap DATE_NANOS_BINARY_COMPARISON
      Support for date nanos type in binary comparisons
    • DATE_NANOS_COMPARE_TO_MILLIS

      public static final EsqlCapabilities.Cap DATE_NANOS_COMPARE_TO_MILLIS
      Support for mixed comparisons between nanosecond and millisecond dates
    • DATE_NANOS_IMPLICIT_CASTING

      public static final EsqlCapabilities.Cap DATE_NANOS_IMPLICIT_CASTING
      Support implicit casting of strings to date nanos
    • LEAST_GREATEST_FOR_DATENANOS

      public static final EsqlCapabilities.Cap LEAST_GREATEST_FOR_DATENANOS
      Support Least and Greatest functions on Date Nanos type
    • DATE_NANOS_DATE_EXTRACT

      public static final EsqlCapabilities.Cap DATE_NANOS_DATE_EXTRACT
      support date extract function for date nanos
    • DATE_NANOS_ADD_SUBTRACT

      public static final EsqlCapabilities.Cap DATE_NANOS_ADD_SUBTRACT
      Support add and subtract on date nanos
    • DATE_TRUNC_DATE_NANOS

      public static final EsqlCapabilities.Cap DATE_TRUNC_DATE_NANOS
      Support for date_trunc function on date nanos type
    • DATE_NANOS_BUCKET

      public static final EsqlCapabilities.Cap DATE_NANOS_BUCKET
      Support date nanos values as the field argument to bucket
    • DATE_NANOS_AGGREGATIONS

      public static final EsqlCapabilities.Cap DATE_NANOS_AGGREGATIONS
      support aggregations on date nanos
    • DATE_NANOS_IN_OPERATOR

      public static final EsqlCapabilities.Cap DATE_NANOS_IN_OPERATOR
      Support the In operator for date nanos
    • DATE_NANOS_DATE_FORMAT

      public static final EsqlCapabilities.Cap DATE_NANOS_DATE_FORMAT
      Support running date format function on nanosecond dates
    • DATE_NANOS_DATE_DIFF

      public static final EsqlCapabilities.Cap DATE_NANOS_DATE_DIFF
      support date diff function on date nanos type, and mixed nanos/millis
    • FIX_DATE_NANOS_LUCENE_PUSHDOWN_BUG

      public static final EsqlCapabilities.Cap FIX_DATE_NANOS_LUCENE_PUSHDOWN_BUG
      Indicates that https://github.com/elastic/elasticsearch/issues/125439 (incorrect lucene push down for date nanos) is fixed
    • FIX_DATE_NANOS_MIXED_RANGE_PUSHDOWN_BUG

      public static final EsqlCapabilities.Cap FIX_DATE_NANOS_MIXED_RANGE_PUSHDOWN_BUG
      Fixes a bug where dates are incorrectly formatted if a where clause compares nanoseconds to both milliseconds and nanoseconds, e.g. WHERE millis > to_datenanos("2023-10-23T12:15:03.360103847") AND millis < to_datetime("2023-10-23T13:53:55.832")
    • DATE_NANOS_LOOKUP_JOIN

      public static final EsqlCapabilities.Cap DATE_NANOS_LOOKUP_JOIN
      Support for date nanos in lookup join. Done in #127962
    • DATE_PARSE_TZ

      public static final EsqlCapabilities.Cap DATE_PARSE_TZ
      DATE_PARSE supports reading timezones
    • LEAST_GREATEST_FOR_DATES

      public static final EsqlCapabilities.Cap LEAST_GREATEST_FOR_DATES
      Support for datetime in least and greatest functions
    • COMBINE_DISJUNCTIVE_CIDRMATCHES

      public static final EsqlCapabilities.Cap COMBINE_DISJUNCTIVE_CIDRMATCHES
      Support CIDRMatch in CombineDisjunctions rule.
    • ASYNC_QUERY_STATUS_HEADERS

      public static final EsqlCapabilities.Cap ASYNC_QUERY_STATUS_HEADERS
      Support sending HTTP headers about the status of an async query.
    • BUCKET_INCLUSIVE_UPPER_BOUND

      public static final EsqlCapabilities.Cap BUCKET_INCLUSIVE_UPPER_BOUND
      Consider the upper bound when computing the interval in BUCKET auto mode.
    • SHORT_ERROR_MESSAGES_FOR_UNSUPPORTED_FIELDS

      public static final EsqlCapabilities.Cap SHORT_ERROR_MESSAGES_FOR_UNSUPPORTED_FIELDS
      Changed error messages for fields with conflicting types in different indices.
    • BUCKET_WHOLE_NUMBER_AS_SPAN

      public static final EsqlCapabilities.Cap BUCKET_WHOLE_NUMBER_AS_SPAN
      Support for the whole number spans in BUCKET function.
    • MIXED_NUMERIC_TYPES_IN_COALESCE

      public static final EsqlCapabilities.Cap MIXED_NUMERIC_TYPES_IN_COALESCE
      Allow mixed numeric types in coalesce
    • SPACE

      public static final EsqlCapabilities.Cap SPACE
      Support for requesting the "SPACE" function.
    • CAST_STRING_LITERAL_TO_TEMPORAL_AMOUNT

      public static final EsqlCapabilities.Cap CAST_STRING_LITERAL_TO_TEMPORAL_AMOUNT
      Support explicit casting from string literal to DATE_PERIOD or TIME_DURATION.
    • CATEGORIZE_V5

      public static final EsqlCapabilities.Cap CATEGORIZE_V5
      Supported the text categorization function "CATEGORIZE".
    • CATEGORIZE_MULTIPLE_GROUPINGS

      public static final EsqlCapabilities.Cap CATEGORIZE_MULTIPLE_GROUPINGS
      Support for multiple groupings in "CATEGORIZE".
    • QSTR_FUNCTION

      public static final EsqlCapabilities.Cap QSTR_FUNCTION
      QSTR function
    • MATCH_FUNCTION

      public static final EsqlCapabilities.Cap MATCH_FUNCTION
      MATCH function
    • KQL_FUNCTION

      public static final EsqlCapabilities.Cap KQL_FUNCTION
      KQL function
    • HASH_FUNCTION

      public static final EsqlCapabilities.Cap HASH_FUNCTION
      Hash function
    • HASH_FUNCTION_ALIASES_V1

      public static final EsqlCapabilities.Cap HASH_FUNCTION_ALIASES_V1
      Hash function aliases such as MD5
    • FIXED_WRONG_IS_NOT_NULL_CHECK_ON_CASE

      public static final EsqlCapabilities.Cap FIXED_WRONG_IS_NOT_NULL_CHECK_ON_CASE
      Don't optimize CASE IS NOT NULL function by not requiring the fields to be not null as well. https://github.com/elastic/elasticsearch/issues/112704
    • DATE_DIFF_YEAR_CALENDARIAL

      public static final EsqlCapabilities.Cap DATE_DIFF_YEAR_CALENDARIAL
      Compute year differences in full calendar years.
    • SORTING_ON_SOURCE_AND_COUNTERS_FORBIDDEN

      public static final EsqlCapabilities.Cap SORTING_ON_SOURCE_AND_COUNTERS_FORBIDDEN
      Fix sorting not allowed on _source and counters.
    • SORT_RETURNING_SOURCE_OK

      public static final EsqlCapabilities.Cap SORT_RETURNING_SOURCE_OK
      Fix SORT when the _source field is not a sort key but is being returned.
    • SOURCE_FIELD_MAPPING

      public static final EsqlCapabilities.Cap SOURCE_FIELD_MAPPING
      _source field mapping directives: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html
    • PER_AGG_FILTERING

      public static final EsqlCapabilities.Cap PER_AGG_FILTERING
      Allow filter per individual aggregation.
    • PER_AGG_FILTERING_ORDS

      public static final EsqlCapabilities.Cap PER_AGG_FILTERING_ORDS
      Fix PER_AGG_FILTERING grouped by ordinals.
    • STD_DEV

      public static final EsqlCapabilities.Cap STD_DEV
      Support for STD_DEV aggregation.
    • FIX_STATS_BY_FOLDABLE_EXPRESSION

      public static final EsqlCapabilities.Cap FIX_STATS_BY_FOLDABLE_EXPRESSION
      Fix for https://github.com/elastic/elasticsearch/issues/114714
    • FUNCTION_STATS

      public static final EsqlCapabilities.Cap FUNCTION_STATS
      Adding stats for functions (stack telemetry)
    • SEMANTIC_TEXT_TYPE

      public static final EsqlCapabilities.Cap SEMANTIC_TEXT_TYPE
      Support for semantic_text field mapping
    • FIX_FILTER_PUSHDOWN_PAST_STATS

      public static final EsqlCapabilities.Cap FIX_FILTER_PUSHDOWN_PAST_STATS
      Fix for an optimization that caused wrong results https://github.com/elastic/elasticsearch/issues/115281
    • STATS_ALIAS_COLLISION_WARNINGS

      public static final EsqlCapabilities.Cap STATS_ALIAS_COLLISION_WARNINGS
      Send warnings on STATS alias collision https://github.com/elastic/elasticsearch/issues/114970
    • SNAPSHOT_TEST_FOR_TELEMETRY

      public static final EsqlCapabilities.Cap SNAPSHOT_TEST_FOR_TELEMETRY
      This enables 60_usage.yml "Basic ESQL usage....snapshot" version test. See also the next capability.
    • NON_SNAPSHOT_TEST_FOR_TELEMETRY

      public static final EsqlCapabilities.Cap NON_SNAPSHOT_TEST_FOR_TELEMETRY
      This enables 60_usage.yml "Basic ESQL usage....non-snapshot" version test. See also the previous capability.
    • NAMED_PARAMETER_FOR_FIELD_AND_FUNCTION_NAMES_SIMPLIFIED_SYNTAX

      public static final EsqlCapabilities.Cap NAMED_PARAMETER_FOR_FIELD_AND_FUNCTION_NAMES_SIMPLIFIED_SYNTAX
      Support simplified syntax for named parameters for field and function names.
    • ADD_LIMIT_INSIDE_MV_EXPAND

      public static final EsqlCapabilities.Cap ADD_LIMIT_INSIDE_MV_EXPAND
      Fix pushdown of LIMIT past MV_EXPAND
    • DELAY_DEBUG_FN

      public static final EsqlCapabilities.Cap DELAY_DEBUG_FN
    • METADATA_FIELDS_REMOTE_TEST

      public static final EsqlCapabilities.Cap METADATA_FIELDS_REMOTE_TEST
      Capability for remote metadata test
    • JOIN_PLANNING_V1

      public static final EsqlCapabilities.Cap JOIN_PLANNING_V1
      WIP on Join planning - Introduce BinaryPlan and co - Refactor INLINESTATS and LOOKUP as a JOIN block
    • IMPLICIT_CASTING_STRING_LITERAL_TO_TEMPORAL_AMOUNT

      public static final EsqlCapabilities.Cap IMPLICIT_CASTING_STRING_LITERAL_TO_TEMPORAL_AMOUNT
      Support implicit casting from string literal to DATE_PERIOD or TIME_DURATION.
    • JOIN_LOOKUP_V12

      public static final EsqlCapabilities.Cap JOIN_LOOKUP_V12
      LOOKUP JOIN
    • LOOKUP_JOIN_TEXT

      public static final EsqlCapabilities.Cap LOOKUP_JOIN_TEXT
      LOOKUP JOIN with TEXT fields on the right (right side of the join) (#119473)
    • JOIN_LOOKUP_SKIP_MV

      public static final EsqlCapabilities.Cap JOIN_LOOKUP_SKIP_MV
      LOOKUP JOIN without MV matching (https://github.com/elastic/elasticsearch/issues/118780)
    • JOIN_LOOKUP_SKIP_MV_ON_LOOKUP_KEY

      public static final EsqlCapabilities.Cap JOIN_LOOKUP_SKIP_MV_ON_LOOKUP_KEY
      LOOKUP JOIN without MV matching on lookup index key (https://github.com/elastic/elasticsearch/issues/118780)
    • JOIN_LOOKUP_FIX_LIMIT_PUSHDOWN

      public static final EsqlCapabilities.Cap JOIN_LOOKUP_FIX_LIMIT_PUSHDOWN
      Fix pushing down LIMIT past LOOKUP JOIN in case of multiple matching join keys.
    • FIX_NESTED_FIELDS_NAME_CLASH_IN_INDEXRESOLVER

      public static final EsqlCapabilities.Cap FIX_NESTED_FIELDS_NAME_CLASH_IN_INDEXRESOLVER
      Fix for https://github.com/elastic/elasticsearch/issues/117054
    • SEMANTIC_TEXT_AGGREGATIONS

      public static final EsqlCapabilities.Cap SEMANTIC_TEXT_AGGREGATIONS
      support for aggregations on semantic_text
    • FIX_STATS_BY_FOLDABLE_EXPRESSION_2

      public static final EsqlCapabilities.Cap FIX_STATS_BY_FOLDABLE_EXPRESSION_2
      Fix for https://github.com/elastic/elasticsearch/issues/114714, again
    • METADATA_SCORE

      public static final EsqlCapabilities.Cap METADATA_SCORE
      Support the "METADATA _score" directive to enable _score column.
    • TERM_FUNCTION

      public static final EsqlCapabilities.Cap TERM_FUNCTION
      Term function
    • MATCH_ADDITIONAL_TYPES

      public static final EsqlCapabilities.Cap MATCH_ADDITIONAL_TYPES
      Additional types for match function and operator
    • FIXED_REGEX_FOLD

      public static final EsqlCapabilities.Cap FIXED_REGEX_FOLD
      Fix for regex folding with case-insensitive pattern https://github.com/elastic/elasticsearch/issues/118371
    • FULL_TEXT_FUNCTIONS_DISJUNCTIONS

      public static final EsqlCapabilities.Cap FULL_TEXT_FUNCTIONS_DISJUNCTIONS
      Full text functions can be used in disjunctions
    • SEMANTIC_TEXT_FIELD_CAPS

      public static final EsqlCapabilities.Cap SEMANTIC_TEXT_FIELD_CAPS
      Change field caps response for semantic_text fields to be reported as text
    • OPTIONAL_NAMED_ARGUMENT_MAP_FOR_FUNCTION

      public static final EsqlCapabilities.Cap OPTIONAL_NAMED_ARGUMENT_MAP_FOR_FUNCTION
      Support named argument for function in map format.
    • LOOKUP_JOIN_NO_ALIASES

      public static final EsqlCapabilities.Cap LOOKUP_JOIN_NO_ALIASES
      Disabled support for index aliases in lookup joins
    • FULL_TEXT_FUNCTIONS_DISJUNCTIONS_COMPUTE_ENGINE

      public static final EsqlCapabilities.Cap FULL_TEXT_FUNCTIONS_DISJUNCTIONS_COMPUTE_ENGINE
      Full text functions can be used in disjunctions as they are implemented in compute engine
    • MATCH_FUNCTION_OPTIONS

      public static final EsqlCapabilities.Cap MATCH_FUNCTION_OPTIONS
      Support match options in match function
    • QUERY_STRING_FUNCTION_OPTIONS

      public static final EsqlCapabilities.Cap QUERY_STRING_FUNCTION_OPTIONS
      Support options in the query string function.
    • AGGREGATE_METRIC_DOUBLE

      public static final EsqlCapabilities.Cap AGGREGATE_METRIC_DOUBLE
      Support for aggregate_metric_double type
    • REMOVE_REDUNDANT_SORT

      public static final EsqlCapabilities.Cap REMOVE_REDUNDANT_SORT
      Fix for https://github.com/elastic/elasticsearch/issues/120817 and https://github.com/elastic/elasticsearch/issues/120803 Support for queries that have multiple SORTs that cannot become TopN
    • INLINESTATS_V7

      public static final EsqlCapabilities.Cap INLINESTATS_V7
      Fixes a series of issues with inlinestats which had an incomplete implementation after lookup and inlinestats were refactored.
    • MIXED_NUMERIC_TYPES_IN_CASE_GREATEST_LEAST

      public static final EsqlCapabilities.Cap MIXED_NUMERIC_TYPES_IN_CASE_GREATEST_LEAST
      Allow mixed numeric types in conditional functions - case, greatest and least
    • STARTS_WITH_ENDS_WITH_LUCENE_PUSHDOWN

      public static final EsqlCapabilities.Cap STARTS_WITH_ENDS_WITH_LUCENE_PUSHDOWN
      Lucene query pushdown to StartsWith and EndsWith functions. This capability was created to avoid receiving wrong warnings from old nodes in mixed clusters
    • FULL_TEXT_FUNCTIONS_DISJUNCTIONS_SCORE

      public static final EsqlCapabilities.Cap FULL_TEXT_FUNCTIONS_DISJUNCTIONS_SCORE
      Full text functions can be scored when being part of a disjunction
    • NON_FULL_TEXT_FUNCTIONS_SCORING

      public static final EsqlCapabilities.Cap NON_FULL_TEXT_FUNCTIONS_SCORING
      Non full text functions do not contribute to score
    • MAKE_NUMBER_OF_CHANNELS_CONSISTENT_WITH_LAYOUT

      public static final EsqlCapabilities.Cap MAKE_NUMBER_OF_CHANNELS_CONSISTENT_WITH_LAYOUT
      Make numberOfChannels consistent with layout in DefaultLayout by removing duplicated ChannelSet.
    • FIX_REPLACE_MISSING_FIELD_WITH_NULL_DUPLICATE_NAME_ID_IN_LAYOUT

      public static final EsqlCapabilities.Cap FIX_REPLACE_MISSING_FIELD_WITH_NULL_DUPLICATE_NAME_ID_IN_LAYOUT
    • FIX_DOUBLY_RELEASED_NULL_BLOCKS_IN_VALUESOURCEREADER

      public static final EsqlCapabilities.Cap FIX_DOUBLY_RELEASED_NULL_BLOCKS_IN_VALUESOURCEREADER
      When creating constant null blocks in ValuesSourceReaderOperator, we also handed off the ownership of that block - but didn't account for the fact that the caller might close it, leading to double releases in some union type queries. C.f. https://github.com/elastic/elasticsearch/issues/125850
    • FIX_JOIN_MASKING_EVAL

      public static final EsqlCapabilities.Cap FIX_JOIN_MASKING_EVAL
      During resolution (pre-analysis) we have to consider that joins or enriches can override EVALuated values https://github.com/elastic/elasticsearch/issues/126419
    • DROP_AGAIN_WITH_WILDCARD_AFTER_EVAL

      public static final EsqlCapabilities.Cap DROP_AGAIN_WITH_WILDCARD_AFTER_EVAL
      Support for keeping `DROP` attributes when resolving field names. see ES|QL: no matches for pattern #126418
    • DROP_WITH_WILDCARD_AFTER_LOOKUP_JOIN

      public static final EsqlCapabilities.Cap DROP_WITH_WILDCARD_AFTER_LOOKUP_JOIN
      Correctly ask for all fields from lookup indices even when there is e.g. a DROP *field after. See ES|QL: missing columns for wildcard drop after lookup join #129561
    • FIX_JOIN_MASKING_REGEX_EXTRACT

      public static final EsqlCapabilities.Cap FIX_JOIN_MASKING_REGEX_EXTRACT
      During resolution (pre-analysis) we have to consider that joins can override regex extracted values see ES|QL: pruning of JOINs leads to missing fields #127467
    • KEEP_REGEX_EXTRACT_ATTRIBUTES

      public static final EsqlCapabilities.Cap KEEP_REGEX_EXTRACT_ATTRIBUTES
      Avid GROK and DISSECT attributes being removed when resolving fields. see ES|QL: Grok only supports KEYWORD or TEXT values, found expression [type] type [INTEGER] #127468
    • TO_LOWER_EMPTY_STRING

      public static final EsqlCapabilities.Cap TO_LOWER_EMPTY_STRING
      Guards a bug fix matching TO_LOWER(f) == "".
    • FIX_MV_EXPAND_INCONSISTENT_COLUMN_ORDER

      public static final EsqlCapabilities.Cap FIX_MV_EXPAND_INCONSISTENT_COLUMN_ORDER
      Support for the mv_expand target attribute should be retained in its original position. see ES|QL: inconsistent column order #129000
  • Method Details

    • values

      public static EsqlCapabilities.Cap[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static EsqlCapabilities.Cap valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isEnabled

      public boolean isEnabled()
    • capabilityName

      public String capabilityName()