Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
DrillScanRel passes a list of columns to be read into GroupScan. Currently the logic here is to scan all of the columns even if planner asks to skip them all. Skipping all of the columns is particularly beneficial for the case of count(star) that is translated to count(constant) where we just need row count but not the actual data.
The idea is to distinguish three separate states depending on the output coming from planner as follows:
list of columns from planner | scan semantics |
null | scan-all |
empty list of columns | skip-all |
non-empty list of columns w/o star | scan-some |
list of columns with star | scan-all |
As part this umbrella, we should make readers understand skip-all semantics.
Attachments
1.
|
Ensure DrillScanRel differentiates skip-all, scan-all & scan-some in a backward compatible fashion | Resolved | Aman Sinha | |
2.
|
Implement skip-all semantics for JSON reader | Resolved | Parth Chandra | |
3.
|
Implement skip-all semantics for parquet reader | Open | Unassigned | |
4.
|
Implement skip-all semantics for text reader | Open | Unassigned |