29 namespace foreign_storage {
49 size_t first_row_offset,
73 std::map<ChunkKey, AbstractBuffer*>& required_buffers,
74 std::map<ChunkKey, AbstractBuffer*>& optional_buffers)
override;
96 void populateChunks(std::map<int, Chunk_NS::Chunk>& column_id_to_chunk_map,
113 const size_t expected_num_chars);
127 const int fragment_id,
128 const std::map<ChunkKey, AbstractBuffer*>& buffers,
129 std::map<int, Chunk_NS::Chunk>& column_id_to_chunk_map);
131 void updateMetadata(std::map<int, Chunk_NS::Chunk>& column_id_to_chunk_map,
bool isRestored() const override
void populateChunkBuffers(std::map< ChunkKey, AbstractBuffer * > &required_buffers, std::map< ChunkKey, AbstractBuffer * > &optional_buffers) override
void serializeDataWrapperInternals(const std::string &file_path) const override
std::map< ChunkKey, size_t > chunk_byte_count_
void restoreDataWrapperInternals(const std::string &file_path, const ChunkMetadataVector &chunk_metadata) override
std::map< ChunkKey, std::unique_ptr< ForeignStorageBuffer > > chunk_encoder_buffers_
bool operator<(const FileRegion &other) const
static std::vector< std::string_view > getSupportedOptions()
static void validateOptions(const ForeignTable *foreign_table)
FileRegion(std::string name, size_t first_row_offset, size_t first_row_idx, size_t row_cnt, size_t region_sz)
size_t first_row_file_offset
std::unique_ptr< CsvReader > csv_reader_
static constexpr std::array< char const *, 11 > supported_options_
This file contains the class specification and related data structures for Catalog.
std::vector< FileRegion > FileRegions
std::string validateAndGetStringWithLength(const std::string &option_name, const size_t expected_num_chars)
void populateChunkMetadata(ChunkMetadataVector &chunk_metadata_vector) override
std::map< int, FileRegions > fragment_id_to_file_regions_map_
std::string getFilePath()
void updateMetadata(std::map< int, Chunk_NS::Chunk > &column_id_to_chunk_map, int fragment_id)
void populateChunkMapForColumns(const std::set< const ColumnDescriptor * > &columns, const int fragment_id, const std::map< ChunkKey, AbstractBuffer * > &buffers, std::map< int, Chunk_NS::Chunk > &column_id_to_chunk_map)
CsvDataWrapper(const int db_id, const ForeignTable *foreign_table)
std::optional< bool > validateAndGetBoolValue(const std::string &option_name)
std::map< ChunkKey, std::shared_ptr< ChunkMetadata > > chunk_metadata_map_
std::mutex file_access_mutex_
size_t append_start_offset_
const ForeignTable * foreign_table_
void populateChunks(std::map< int, Chunk_NS::Chunk > &column_id_to_chunk_map, int fragment_id)
import_export::CopyParams validateAndGetCopyParams()