Class BindableTableScan

Inheritance Relationships

Base Type

Class Documentation

class ral::batch::BindableTableScan : public ral::cache::kernel

This kernel loads the data and delivers only columns that are requested. It also filters the data if there are one or more filters, and sets their column aliases accordingly.

Public Functions

BindableTableScan(std::size_t kernel_id, const std::string &queryString, std::shared_ptr<ral::io::data_provider> provider, std::shared_ptr<ral::io::data_parser> parser, ral::io::Schema &schema, std::shared_ptr<Context> context, std::shared_ptr<ral::cache::graph> query_graph)

Constructor for BindableTableScan

Parameters
  • kernel_id: Kernel identifier.

  • queryString: Original logical expression that the kernel will execute.

  • loader: Data loader responsible for executing the batching load.

  • schema: Table schema associated to the data to be loaded.

  • context: Shared context associated to the running query.

  • query_graph: Shared pointer of the current execution graph.

inline virtual std::string kernel_name()
ral::execution::task_result do_process(std::vector<std::unique_ptr<ral::frame::BlazingTable>> inputs, std::shared_ptr<ral::cache::CacheMachine> output, cudaStream_t stream, const std::map<std::string, std::string> &args) override
virtual kstatus run() override

Executes the batch processing. Loads the data from their input port, and after processing it, the results are stored in their output port.

Return

kstatus ‘stop’ to halt processing, or ‘proceed’ to continue processing.

virtual std::pair<bool, uint64_t> get_estimated_output_num_rows() override

Returns the estimated num_rows for the output at one point.

Return

A pair representing that there is no data to be processed, or the estimated number of output rows.