19 #include <parquet/types.h>
22 namespace foreign_storage {
26 std::shared_ptr<ParquetScalarEncoder> scalar_encoder,
30 column_desciptor->columnType.get_elem_type().get_size())
40 const int16_t* rep_levels,
41 const int64_t values_read,
42 const int64_t levels_read,
43 int8_t* values)
override {
47 for (int64_t j = 0; j < values_read; ++j) {
50 }
catch (
const std::runtime_error& error) {
54 appendData(def_levels, rep_levels, values_read, levels_read, values);
58 const int16_t* rep_levels,
59 const int64_t values_read,
60 const int64_t levels_read,
61 int8_t* values)
override {
62 CHECK(levels_read > 0);
69 for (int64_t i = 0, j = 0; i < levels_read; ++i) {
86 const parquet::RowGroupMetaData* group_metadata,
87 const int parquet_column_index,
90 group_metadata, parquet_column_index, column_type);
91 metadata->numBytes = 0;
virtual void appendArrayItem(const int64_t encoded_index)
std::vector< int8_t > data_buffer_bytes_
bool isLastArrayEmpty() const
virtual void initializeErrorTracking() override
virtual void initializeErrorTracking()
bool is_error_tracking_enabled_
size_t omnisci_data_type_byte_size_
RejectedRowIndices invalid_indices_
size_t sizeOfLastArray() const
virtual void appendArraysToBuffer()
virtual void disableMetadataStatsValidation()
bool isLastArrayNull() const
void processArrayItem(const int16_t def_level, int64_t &encoded_index)
std::shared_ptr< ChunkMetadata > getRowGroupMetadata(const parquet::RowGroupMetaData *group_metadata, const int parquet_column_index, const SQLTypeInfo &column_type) override
void appendNullArrayItem()
ParquetArrayEncoder(Data_Namespace::AbstractBuffer *data_buffer, std::shared_ptr< ParquetScalarEncoder > scalar_encoder, const ColumnDescriptor *column_desciptor)
virtual void encodeAllValues(const int8_t *values, const int64_t values_read)
std::vector< bool > is_valid_item_
void appendData(const int16_t *def_levels, const int16_t *rep_levels, const int64_t values_read, const int64_t levels_read, int8_t *values) override
int8_t * resizeArrayDataBytes(const size_t additional_num_elements)
int8_t * encodedDataAtIndex(const size_t index)
static const int16_t empty_list_def_level
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
virtual void initializeColumnType(const SQLTypeInfo &column_type) override
size_t num_array_assembled_
bool has_assembly_started_
void updateMetadataForAppendedArrayItem(const int64_t encoded_index)
std::vector< int8_t > encode_buffer_
virtual void append(int8_t *src, const size_t num_bytes, const MemoryLevel src_buffer_type=CPU_LEVEL, const int device_id=-1)=0
void appendDataTrackErrors(const int16_t *def_levels, const int16_t *rep_levels, const int64_t values_read, const int64_t levels_read, int8_t *values) override
virtual void disableMetadataStatsValidation() override
virtual void initializeColumnType(const SQLTypeInfo &column_type)
bool g_enable_watchdog false
static const int16_t list_null_def_level
virtual void resetLastArrayMetadata()
static const int16_t item_null_def_level
bool isNewArray(const int16_t rep_level) const
static const int16_t non_null_def_level
HOST DEVICE bool get_notnull() const
size_t num_elements_in_array_
Data_Namespace::AbstractBuffer * buffer_
SQLTypeInfo get_elem_type() const
std::shared_ptr< ParquetScalarEncoder > scalar_encoder_
virtual void processLastArray()