19 #include <parquet/types.h>
26 namespace foreign_storage {
30 std::shared_ptr<ParquetScalarEncoder> scalar_encoder,
59 auto parquet_data_ptr =
reinterpret_cast<const parquet::ByteArray*
>(values);
60 for (int64_t i = 0; i < values_read; ++i) {
61 auto& byte_array = parquet_data_ptr[i];
63 std::string{
reinterpret_cast<const char*
>(byte_array.ptr), byte_array.len};
TypedParquetDetectBuffer * detect_buffer_
bool isLastArrayEmpty() const
size_t getArraysCount() const
std::vector< std::string > array_string_
bool isLastArrayNull() const
void appendArrayItem(const int64_t encoded_index) override
virtual void encodeAllValues(const int8_t *values, const int64_t values_read)
void appendArraysToBuffer() override
void encodeAllValues(const int8_t *values, const int64_t values_read) override
const bool is_string_array_
std::vector< std::string > string_buffer_
void appendValue(const std::string &value)
int8_t * encodedDataAtIndex(const size_t index)
An AbstractBuffer is a unit of data management for a data manager.
specifies the content in-memory of a row in the column metadata table
const std::vector< std::string > & getStrings()
void updateMetadataForAppendedArrayItem(const int64_t encoded_index)
void appendToDetectBuffer()
void processLastArray() override
ParquetArrayDetectEncoder(Data_Namespace::AbstractBuffer *data_buffer, std::shared_ptr< ParquetScalarEncoder > scalar_encoder, const ColumnDescriptor *column_desciptor)
std::shared_ptr< ParquetScalarEncoder > scalar_encoder_
virtual void processLastArray()