Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Rust, Rust - DataFusion
    • Labels:
      None

      Description

      By wrapping the execution plan structs in an enum, we make it possible to build a tree representing the physical plan just like we do with the logical plan. This makes it easy to print physical plans and also to apply transformations to it.

       pub enum PhysicalPlan {
          /// Projection.
          Projection(Arc<ProjectionExec>),
          /// Filter a.k.a predicate.
          Filter(Arc<FilterExec>),
          /// Hash aggregate
          HashAggregate(Arc<HashAggregateExec>),
          /// Performs a hash join of two child relations by first shuffling the data using the join keys.
          ShuffledHashJoin(ShuffledHashJoinExec),
          /// Performs a shuffle that will result in the desired partitioning.
          ShuffleExchange(Arc<ShuffleExchangeExec>),
          /// Reads results from a ShuffleExchange
          ShuffleReader(Arc<ShuffleReaderExec>),
          /// Scans a partitioned data source
          ParquetScan(Arc<ParquetScanExec>),
          /// Scans an in-memory table
          InMemoryTableScan(Arc<InMemoryTableScanExec>),
      }

       

        Attachments

          Activity

            People

            • Assignee:
              andygrove Andy Grove
              Reporter:
              andygrove Andy Grove
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: