25 namespace foreign_storage {
34 const std::set<int> column_filter_set,
39 inline std::shared_ptr<Catalog_Namespace::Catalog>
getCatalog()
const {
45 inline std::list<const ColumnDescriptor*>
getColumns()
const {
70 std::vector<std::unique_ptr<import_export::TypedImportBuffer>>
import_buffers;
109 bool convert_data_blocks,
110 bool columns_are_pre_filtered =
false,
111 bool skip_dict_encoding =
false)
const = 0;
127 std::unique_ptr<
char[]>& buffer,
130 const size_t buffer_first_row_index,
131 unsigned int& num_rows_in_buffer,
141 const std::vector<std::unique_ptr<import_export::TypedImportBuffer>>&
143 const bool skip_dict_encoding =
false);
148 std::vector<std::unique_ptr<import_export::TypedImportBuffer>>& import_buffers,
151 std::list<const ColumnDescriptor*>::iterator& cd_it,
152 std::vector<std::string_view>& row,
155 size_t first_row_index,
156 size_t row_index_plus_one,
157 std::shared_ptr<Catalog_Namespace::Catalog> catalog,
165 const std::list<const ColumnDescriptor*>& columns,
166 std::list<const ColumnDescriptor*>::iterator& cd_it,
167 const size_t col_idx,
170 static bool isNullDatum(
const std::string_view datum,
172 const std::string& null_indicator);
178 std::vector<std::unique_ptr<import_export::TypedImportBuffer>>& import_buffers,
182 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
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
const RenderGroupAnalyzerMap * render_group_analyzer_map
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 RenderGroupAnalyzerMap *render_group_analyzer_map)
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)
std::map< int, std::unique_ptr< import_export::RenderGroupAnalyzer >> RenderGroupAnalyzerMap
size_t getMaxFragRows() const
std::string getFilePath() const
std::unique_ptr< char[]> buffer