Generate Java source code to do any processing before a batch is consumed by a DataSourceScanExec that does batch processing (e.g.
Generate Java source code to do any processing before a batch is consumed by a DataSourceScanExec that does batch processing (e.g. per-batch optimizations, initializations etc).
Implementations should use this for additional optimizations that can be done at batch level when a batched scan is being done. They should not depend on this being invoked since many scans will not be batched.
Generate Java source code to do any processing before return after current row processing i.e.
Generate Java source code to do any processing before return after current row processing i.e. when shouldStop() returns true.
Returns true if the given plan returning batches of data can be consumed by this plan.
Returns true if the given plan returning batches of data can be consumed by this plan.
Sets the variable which will disallow recursive plan generation, hence code generation will stop if it fails.
Sets the variable which will disallow recursive plan generation, hence code generation will stop if it fails. Check for producedForPlanInstance is done in CachedPlanHelperExec.
Hash-based aggregate operator that can also fallback to sorting when data exceeds memory size.
Parts of this class have been adapted from Spark's HashAggregateExec. That class is not extended because it forces that the limitations
HashAggregateExec.supportsAggregate
of that implementation in the constructor itself while this implementation has no such restriction.