24 namespace foreign_storage {
33 const std::set<int> column_filter_set,
37 inline std::shared_ptr<Catalog_Namespace::Catalog>
getCatalog()
const {
43 inline std::list<const ColumnDescriptor*>
getColumns()
const {
68 std::vector<std::unique_ptr<import_export::TypedImportBuffer>>
import_buffers;
106 bool convert_data_blocks,
107 bool columns_are_pre_filtered =
false,
108 bool skip_dict_encoding =
false)
const = 0;
124 std::unique_ptr<
char[]>& buffer,
127 const size_t buffer_first_row_index,
128 unsigned int& num_rows_in_buffer,
138 const std::vector<std::unique_ptr<import_export::TypedImportBuffer>>&
140 const bool skip_dict_encoding =
false);
145 std::vector<std::unique_ptr<import_export::TypedImportBuffer>>& import_buffers,
148 std::list<const ColumnDescriptor*>::iterator& cd_it,
149 std::vector<std::string_view>& row,
152 size_t first_row_index,
153 size_t row_index_plus_one,
154 std::shared_ptr<Catalog_Namespace::Catalog> catalog);
161 const std::list<const ColumnDescriptor*>& columns,
162 std::list<const ColumnDescriptor*>::iterator& cd_it,
163 const size_t col_idx,
166 static bool isNullDatum(
const std::string_view datum,
168 const std::string& null_indicator);
174 std::vector<std::unique_ptr<import_export::TypedImportBuffer>>& import_buffers,
178 std::shared_ptr<Catalog_Namespace::Catalog> catalog);
std::vector< std::unique_ptr< import_export::TypedImportBuffer > > import_buffers
static const std::string BUFFER_SIZE_KEY
virtual void validateFiles(const FileReader *file_reader, const ForeignTable *foreign_table) const =0
std::string getTableName() const
ParseBufferRequest(const ParseBufferRequest &request)=delete
std::set< size_t > rejected_rows
static std::map< int, DataBlockPtr > convertImportBuffersToDataBlocks(const std::vector< std::unique_ptr< import_export::TypedImportBuffer >> &import_buffers, const bool skip_dict_encoding=false)
std::map< int, DataBlockPtr > column_id_to_data_blocks_map
virtual ParseBufferResult parseBuffer(ParseBufferRequest &request, bool convert_data_blocks, bool columns_are_pre_filtered=false, bool skip_dict_encoding=false) const =0
static void processGeoColumn(std::vector< std::unique_ptr< import_export::TypedImportBuffer >> &import_buffers, size_t &col_idx, const import_export::CopyParams ©_params, std::list< const ColumnDescriptor * >::iterator &cd_it, std::vector< std::string_view > &row, size_t &import_idx, bool is_null, size_t first_row_index, size_t row_index_plus_one, std::shared_ptr< Catalog_Namespace::Catalog > catalog)
const import_export::CopyParams copy_params
static void fillRejectedRowWithInvalidData(const std::list< const ColumnDescriptor * > &columns, std::list< const ColumnDescriptor * >::iterator &cd_it, const size_t col_idx, ParseBufferRequest &request)
const bool track_rejected_rows
std::unique_ptr< ForeignTableSchema > foreign_table_schema
static SysCatalog & instance()
CONSTEXPR DEVICE bool is_null(const T &value)
specifies the content in-memory of a row in the column metadata table
std::list< const ColumnDescriptor * > getColumns() const
size_t processed_row_count
std::vector< size_t > row_offsets
std::shared_ptr< Catalog > getCatalog(const std::string &dbName)
std::shared_ptr< Catalog_Namespace::Catalog > getCatalog() const
virtual 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 =0
static void processInvalidGeoColumn(std::vector< std::unique_ptr< import_export::TypedImportBuffer >> &import_buffers, size_t &col_idx, const import_export::CopyParams ©_params, const ColumnDescriptor *cd, std::shared_ptr< Catalog_Namespace::Catalog > catalog)
virtual import_export::CopyParams validateAndGetCopyParams(const ForeignTable *foreign_table) const =0
static bool isNullDatum(const std::string_view datum, const ColumnDescriptor *column, const std::string &null_indicator)
int32_t getTableId() const
static bool isCoordinateScalar(const std::string_view datum)
size_t getMaxFragRows() const
std::string getFilePath() const
std::unique_ptr< char[]> buffer