RowDataSourceScanExec Leaf Physical Operator¶
RowDataSourceScanExec
is a DataSourceScanExec (and so indirectly a leaf physical operator) for scanning data from a BaseRelation.
RowDataSourceScanExec
is <
-
CatalystScan
,PrunedFilteredScan
,PrunedScan
(indirectly whenDataSourceStrategy
is requested to pruneFilterProjectRaw) -
TableScan
RowDataSourceScanExec
marks the <*
(star) in the <
[source, scala]¶
// DEMO RowDataSourceScanExec with a simple text representation with stars¶
=== [[doProduce]] Generating Java Source Code for Produce Path in Whole-Stage Code Generation -- doProduce
Method
[source, scala]¶
doProduce(ctx: CodegenContext): String¶
doProduce
...FIXME
doProduce
is part of the CodegenSupport abstraction.
Creating Instance¶
RowDataSourceScanExec
takes the following to be created:
- [[fullOutput]] Output schema attributes
- [[requiredColumnsIndex]] Indices of required columns
- [[filters]] Filter predicates
- [[handledFilters]] Handled filter predicates
- [[rdd]] RDD of InternalRows
- [[relation]] BaseRelation
- [[tableIdentifier]]
TableIdentifier
NOTE: The input <
=== [[metadata]] metadata
Property
[source, scala]¶
metadata: Map[String, String]¶
NOTE: metadata
is part of DataSourceScanExec.md#metadata[DataSourceScanExec Contract] to describe a scan for a DataSourceScanExec.md#simpleString[simple text representation (in a query plan tree)].
metadata
marks the <*
(star).
NOTE: Filter predicates with *
(star) are to denote filters that are pushed down to a relation (aka data source).
In the end, metadata
creates the following mapping:
. ReadSchema with the <
. PushedFilters with the marked and unmarked <