Class foreign_storage::ParquetArrayImportEncoder

class ParquetArrayImportEncoder : public foreign_storage::ParquetArrayEncoder, public foreign_storage::ParquetImportEncoder

Public Functions

ParquetArrayImportEncoder(Data_Namespace::AbstractBuffer *data_buffer, std::shared_ptr<ParquetScalarEncoder> scalar_encoder, const ColumnDescriptor *column_desciptor)
void appendArrayItem(const int64_t encoded_index)
void validateAndAppendData(const int16_t *def_levels, const int16_t *rep_levels, const int64_t values_read, const int64_t levels_read, int8_t *values, const SQLTypeInfo &column_type, InvalidRowGroupIndices &invalid_indices)
void resetLastArrayMetadata()

Protected Functions

void appendArraysToBuffer()
void processLastArray()

Private Functions

ArrayDatum convertToArrayDatum(const int8_t *data, const size_t num_elements)
ArrayDatum getNullArrayDatum()
void appendToArrayDatumBuffer()
void eraseInvalidIndicesInBuffer(const InvalidRowGroupIndices &invalid_indices)

Private Members

std::vector<bool> is_valid_item_
TypedParquetStorageBuffer<ArrayDatum> *array_datum_buffer_
const ColumnDescriptor *column_descriptor_
size_t num_array_assembled_
bool is_invalid_array_
InvalidRowGroupIndices *invalid_indices_