Class foreign_storage::AbstractFileStorageDataWrapper

class AbstractFileStorageDataWrapper : public foreign_storage::ForeignDataWrapper

Subclassed by foreign_storage::AbstractTextFileDataWrapper, foreign_storage::ParquetDataWrapper, foreign_storage::ParquetImporter

Public Functions

AbstractFileStorageDataWrapper()
void validateServerOptions(const ForeignServer *foreign_server) const

Checks that the options for the given foreign server object are valid.

Parameters
  • foreign_server: - foreign server object containing options to be validated

void validateTableOptions(const ForeignTable *foreign_table) const

Checks that the options for the given foreign table object are valid.

Parameters
  • foreign_table: - foreign table object containing options to be validated

const std::set<std::string_view> &getSupportedTableOptions() const

Gets the set of supported table options for the data wrapper.

void validateUserMappingOptions(const UserMapping *user_mapping, const ForeignServer *foreign_server) const

Checks that the options for the given user mapping object are valid.

Parameters
  • user_mapping: - user mapping object containing options to be validated

const std::set<std::string_view> &getSupportedUserMappingOptions() const

Gets the set of supported user mapping options for the data wrapper.

Public Static Attributes

const std::string STORAGE_TYPE_KEY = "STORAGE_TYPE"
const std::string BASE_PATH_KEY = "BASE_PATH"
const std::string FILE_PATH_KEY = "FILE_PATH"
const std::string REGEX_PATH_FILTER_KEY = "REGEX_PATH_FILTER"
const std::string LOCAL_FILE_STORAGE_TYPE = "LOCAL_FILE"
const std::string S3_STORAGE_TYPE = "AWS_S3"
const std::string FILE_SORT_ORDER_BY_KEY = shared::FILE_SORT_ORDER_BY_KEY
const std::string FILE_SORT_REGEX_KEY = shared::FILE_SORT_REGEX_KEY
const std::array<std::string, 1> supported_storage_types{LOCAL_FILE_STORAGE_TYPE}

Protected Static Functions

std::string getFullFilePath(const ForeignTable *foreign_table)

Returns the path to the source file/dir of the table. Depending on options this may result from a concatenation of server and table path options.

Private Static Functions

void validateFilePath(const ForeignTable *foreign_table)
void validateFilePathOptionKey(const ForeignTable *foreign_table)

Private Static Attributes

const std::set<std::string_view> supported_table_options_{FILE_PATH_KEY, , , }
const std::set<std::string_view> supported_server_options_ = {STORAGE_TYPE_KEY, }
const std::set<std::string_view> supported_user_mapping_options_ = {}