Class FilterPushdownRegistry

java.lang.Object
org.elasticsearch.xpack.esql.datasources.FilterPushdownRegistry

public class FilterPushdownRegistry extends Object
Registry for filter pushdown support implementations.

This registry provides a single entry point for looking up filter pushdown support implementations by source type. It is populated by DataSourceModule from all registered DataSourcePlugins.

The registry is used by the optimizer's PushFiltersToSource rule to determine if and how filters can be pushed down to external data sources.

  • Constructor Details

  • Method Details

    • get

      public FilterPushdownSupport get(String sourceType)
    • get

      public FilterPushdownSupport get(String sourceType, String formatName)
      Look up pushdown support by source type with format-based fallback.

      File-based sources all share source type "file" (from FileSourceFactory). To enable per-format pushdown (e.g., ORC, Parquet), this method first checks the source type and falls back to the format name if no direct match is found.

      Parameters:
      sourceType - the source type (e.g., "file", "iceberg", "flight")
      formatName - the format name (e.g., "orc", "parquet"), may be null
      Returns:
      the pushdown support, or null if none registered
    • hasSupport

      public boolean hasSupport(String sourceType)
    • empty

      public static FilterPushdownRegistry empty()