Class data_provider

Inheritance Relationships

Derived Types

Class Documentation

class ral::io::data_provider

A class we can use which will be the base for all of our data providers

Subclassed by ral::io::abstractsql_data_provider, ral::io::gdf_data_provider, ral::io::uri_data_provider

Public Functions

virtual std::shared_ptr<data_provider> clone() = 0
virtual bool has_next() = 0

tells us if this provider can generate more arrow::io::RandomAccessFile instances

virtual void reset() = 0

Resets file read count to 0 for file based DataProvider

virtual data_handle get_next(bool open_file = true) = 0

gets us the next arrow::io::RandomAccessFile

virtual std::vector<data_handle> get_some(std::size_t num_files, bool open_file = true) = 0

Tries to get up to num_files data_handles. We use this instead of a get_all() because if there are too many files, trying to get too many file handles will cause a crash. Using get_some() forces breaking up the process of getting file_handles.

virtual void close_file_handles() = 0

Closes currently open set of file handles maintained by the provider

virtual size_t get_num_handles() = 0

Get the number of data_handles that will be provided.