22 namespace foreign_storage {
28 bool convert_data_blocks,
29 bool columns_are_pre_filtered =
false,
30 bool skip_dict_encoding =
false)
const override;
36 std::unique_ptr<
char[]>& buffer,
39 const size_t buffer_first_row_index,
40 unsigned int& num_rows_in_buffer,
55 const boost::regex& line_regex,
56 size_t logical_column_count,
57 std::vector<std::string>& parsed_columns_str,
58 std::vector<std::string_view>& parsed_columns_sv,
59 const std::string& file_path)
const;
import_export::CopyParams validateAndGetCopyParams(const ForeignTable *foreign_table) const override
static bool skip_first_line_
static const std::string LINE_REGEX_KEY
static const std::string HEADER_KEY
RegexFileBufferParser(const ForeignTable *foreign_table)
static void setMaxBufferResize(size_t max_buffer_resize)
ParseBufferResult parseBuffer(ParseBufferRequest &request, bool convert_data_blocks, bool columns_are_pre_filtered=false, bool skip_dict_encoding=false) const override
virtual bool shouldRemoveNonMatches() const
static size_t max_buffer_resize_
size_t findRowEndPosition(size_t &alloc_size, std::unique_ptr< char[]> &buffer, size_t &buffer_size, const import_export::CopyParams ©_params, const size_t buffer_first_row_index, unsigned int &num_rows_in_buffer, FileReader *file_reader) const override
std::optional< boost::regex > line_start_regex_
virtual bool regexMatchColumns(const std::string &row_str, const boost::regex &line_regex, size_t logical_column_count, std::vector< std::string > &parsed_columns_str, std::vector< std::string_view > &parsed_columns_sv, const std::string &file_path) const
static size_t getMaxBufferResize()
static const std::string LINE_START_REGEX_KEY
static size_t max_buffer_resize
static constexpr size_t max_import_buffer_resize_byte_size
void validateFiles(const FileReader *file_reader, const ForeignTable *foreign_table) const override
virtual bool shouldTruncateStringValues() const