22 namespace foreign_storage {
31 const bool disable_cache)
42 return supported_table_options;
46 std::set<std::string_view> supported_table_options(
50 return supported_table_options;
58 static constexpr
const char* S3_DIRECT =
"S3_DIRECT";
59 static constexpr
const char* S3_SELECT =
"S3_SELECT";
60 static constexpr
const char* S3_ACCESS_TYPE =
"S3_ACCESS_TYPE";
61 auto access_type = foreign_table->
options.find(S3_ACCESS_TYPE);
63 if (access_type != foreign_table->
options.end()) {
67 throw std::runtime_error{
68 "The \"" + std::string{S3_ACCESS_TYPE} +
69 "\" option is only valid for foreign tables using servers with \"" +
73 if (access_type->second != S3_DIRECT && access_type->second != S3_SELECT) {
74 throw std::runtime_error{
75 "Invalid value provided for the \"" + std::string{S3_ACCESS_TYPE} +
76 "\" option. Value must be one of the following: " + S3_DIRECT +
", " +
79 return (access_type->second == S3_SELECT);
static const std::set< std::string_view > csv_table_options_
const TextFileBufferParser & getFileBufferParser() const override
static bool validateAndGetIsS3Select(const ForeignTable *foreign_table)
std::set< std::string_view > getAllCsvTableOptions() const
void validateTableOptions(const ForeignTable *foreign_table) const override
static const std::string STORAGE_TYPE_KEY
const std::set< std::string_view > & getSupportedTableOptions() const override
import_export::CopyParams validateAndGetCopyParams(const ForeignTable *foreign_table) const override
void validateTableOptions(const ForeignTable *foreign_table) const override
const std::set< std::string_view > & getSupportedTableOptions() const override
static const CsvFileBufferParser csv_file_buffer_parser_
const ForeignServer * foreign_server
static const std::string S3_STORAGE_TYPE