Class ArrowForeignStorageBase

class ArrowForeignStorageBase : public PersistentForeignStorageInterface

Subclassed by ArrowCsvForeignStorage, ArrowForeignStorage

Public Functions

void append(const std::vector<ForeignStorageColumnBuffer> &column_buffers)
void read(const ChunkKey &chunk_key, const SQLTypeInfo &sql_type, int8_t *dest, const size_t numBytes)
int8_t *tryZeroCopy(const ChunkKey &chunk_key, const SQLTypeInfo &sql_type, const size_t numBytes)
void dropTable(const int db_id, const int table_id)
void parseArrowTable(Catalog_Namespace::Catalog *catalog, std::pair<int, int> table_key, const std::string &type, const TableDescriptor &td, const std::list<ColumnDescriptor> &cols, Data_Namespace::AbstractBufferMgr *mgr, const arrow::Table &table)
std::shared_ptr<arrow::ChunkedArray> createDictionaryEncodedColumn(StringDictionary *dict, const ColumnDescriptor &c, std::shared_ptr<arrow::ChunkedArray> arr_col_chunked_array)
std::shared_ptr<arrow::ChunkedArray> convertArrowDictionary(StringDictionary *dict, const ColumnDescriptor &c, std::shared_ptr<arrow::ChunkedArray> arr_col_chunked_array)
template<typename T, typename ChunkType>
std::shared_ptr<arrow::ChunkedArray> createDecimalColumn(const ColumnDescriptor &c, std::shared_ptr<arrow::ChunkedArray> arr_col_chunked_array)
std::shared_ptr<arrow::ChunkedArray> replaceNullValues(const SQLTypeInfo &columnType, std::shared_ptr<arrow::ChunkedArray> arr_col_chunked_array)
template<typename T>
std::shared_ptr<arrow::ChunkedArray> replaceNullValuesImpl(std::shared_ptr<arrow::ChunkedArray> arr_col_chunked_array)
void getSizeAndOffset(const Frag &frag, const std::shared_ptr<arrow::Array> &chunk, size_t i, int &size, int &offset)
int64_t makeFragment(const Frag &frag, ArrowFragment &arrowFrag, const std::vector<std::shared_ptr<arrow::Array>> &chunks, bool is_varlen)

Public Members

std::map<std::array<int, 3>, std::vector<ArrowFragment>> m_columns