Interface TimestampBoundsAware<T extends Node<T>>

Type Parameters:
T - the type returned by withTimestampBounds(org.elasticsearch.xpack.esql.core.expression.Literal, org.elasticsearch.xpack.esql.core.expression.Literal), typically Expression or LogicalPlan
All Superinterfaces:
PostAnalysisVerificationAware
All Known Subinterfaces:
TimestampBoundsAware.OfExpression, TimestampBoundsAware.OfLogicalPlan
All Known Implementing Classes:
PromqlCommand, TBucket

public sealed interface TimestampBoundsAware<T extends Node<T>> extends PostAnalysisVerificationAware permits TimestampBoundsAware.OfExpression, TimestampBoundsAware.OfLogicalPlan
Marker interface for nodes (expressions or plans) that require @timestamp bounds derived from the query DSL filter.

Implementations are resolved during analysis by the ResolveTimestampBoundsAware analyzer rule, following the same pattern as ConfigurationAware.

Implementations are responsible for their own validation via PostAnalysisVerificationAware.postAnalysisVerification(org.elasticsearch.xpack.esql.common.Failures).

Use the sub-interfaces TimestampBoundsAware.OfExpression and TimestampBoundsAware.OfLogicalPlan rather than implementing this interface directly.

  • Method Details

    • needsTimestampBounds

      boolean needsTimestampBounds()
      Returns true if this node still needs timestamp bounds to be injected.
    • withTimestampBounds

      T withTimestampBounds(Literal start, Literal end)
      Returns a copy of this node with the given timestamp bounds applied.