Commits


Weston Pace authored and GitHub committed ec579df631d
ARROW-17287: [C++] Create scan node that doesn't rely on the merged generator (#13782) **Primary Goal:** Create a scanner that "cancels" properly. In other words, when the scan node is marked finished then all scan-related thread tasks will be finished. This is different than the current model where I/O tasks are allowed to keep parts of the scan alive via captures of shared_ptr state. **Secondary Goal:** Remove our dependency on the merged generator and make the scanner more accessible. The merged generator is complicated and does not support cancellation, and it currently only understood by a very small set of people. **Secondary Goal:** Add interfaces for schema evolution. This wasn't originally a goal but arose from my attempt to codify and normalize what we are currently doing. These interfaces should eventually allow for things like filling a missing field with a default value or using the parquet column id for field resolution. Performance isn't a goal for this rework but ideally this should not degrade performance. Authored-by: Weston Pace <weston.pace@gmail.com> Signed-off-by: Weston Pace <weston.pace@gmail.com>