19 #include <arrow/api.h>
20 #include <arrow/filesystem/filesystem.h>
21 #include <arrow/io/api.h>
22 #include <parquet/arrow/reader.h>
23 #include <parquet/statistics.h>
24 #include <parquet/types.h>
29 namespace foreign_storage {
43 std::unique_ptr<parquet::arrow::FileReader>& reader,
44 std::shared_ptr<arrow::fs::FileSystem>& file_system);
47 const std::unique_ptr<parquet::arrow::FileReader>& reader);
50 const parquet::arrow::FileReader* reader,
51 const int logical_column_index);
54 const parquet::ColumnDescriptor* reference_descriptor,
55 const parquet::ColumnDescriptor* new_descriptor,
56 const std::string& reference_file_path,
57 const std::string& new_file_path);
63 const parquet::ColumnChunkMetaData* column_metadata);
std::shared_ptr< parquet::Statistics > validate_and_get_column_metadata_statistics(const parquet::ColumnChunkMetaData *column_metadata)
std::unique_ptr< ColumnDescriptor > get_sub_type_column_descriptor(const ColumnDescriptor *column)
void validate_equal_column_descriptor(const parquet::ColumnDescriptor *reference_descriptor, const parquet::ColumnDescriptor *new_descriptor, const std::string &reference_file_path, const std::string &new_file_path)
std::pair< int, int > get_parquet_table_size(const std::unique_ptr< parquet::arrow::FileReader > &reader)
const parquet::ColumnDescriptor * get_column_descriptor(const parquet::arrow::FileReader *reader, const int logical_column_index)
specifies the content in-memory of a row in the column metadata table
void open_parquet_table(const std::string &file_path, std::unique_ptr< parquet::arrow::FileReader > &reader, std::shared_ptr< arrow::fs::FileSystem > &file_system)