java.lang.Object
org.elasticsearch.xpack.esql.planner.mapper.Mapper

public class Mapper extends Object

This class is part of the planner

Translates the logical plan into a physical plan. This is where we start to decide what will be executed on the data nodes and what will be executed on the coordinator nodes. This step creates FragmentExec instances, which represent logical plan fragments to be sent to the data nodes and ExchangeExec instances, which represent data being sent back from the data nodes to the coordinating node.

  • Constructor Details

    • Mapper

      public Mapper()
  • Method Details

    • map

      public PhysicalPlan map(Versioned<LogicalPlan> versionedPlan)
    • ensureExchangeForSubPlan

      public static PhysicalPlan ensureExchangeForSubPlan(PhysicalPlan plan)
      Wraps a bare FragmentExec in an ExchangeExec so that ComputeService routes it to data nodes. Subplans(from IN subquery) that contain only streaming operators (no pipeline breakers like Limit/Aggregate) map to a bare FragmentExec and need this wrapping before execution.