21 #include <parquet/types.h>
26 namespace foreign_storage {
31 std::shared_ptr<ParquetScalarEncoder> scalar_encoder,
41 const parquet::RowGroupMetaData* group_metadata,
42 const int parquet_column_index,
45 group_metadata, parquet_column_index, column_type);
69 if (ti.is_dict_encoded_string()) {
76 reinterpret_cast<bool*
>(omnisci_data_bytes)[0] =
82 reinterpret_cast<int64_t*
>(omnisci_data_bytes)[0] =
86 reinterpret_cast<int32_t*
>(omnisci_data_bytes)[0] =
90 reinterpret_cast<int16_t*
>(omnisci_data_bytes)[0] =
94 reinterpret_cast<int8_t*
>(omnisci_data_bytes)[0] =
106 reinterpret_cast<int64_t*
>(omnisci_data_bytes)[0] =
125 CHECK(size_of_last_array == 0);
138 const std::string& omnisci_column_name) {
140 "Detected an empty array"
142 " HeavyDB column '" +
143 omnisci_column_name +
144 "' which has a fixed length array type,"
150 const size_t array_element_count,
151 const std::string& omnisci_column_name) {
154 " elements being loaded into"
155 " HeavyDB column '" +
156 omnisci_column_name +
157 "' which has a fixed length array type,"
HOST DEVICE int get_size() const
bool isLastArrayEmpty() const
size_t omnisci_data_type_byte_size_
size_t sizeOfLastArray() const
void appendNullFixedLengthArray()
bool isLastArrayNull() const
std::shared_ptr< ChunkMetadata > getRowGroupMetadata(const parquet::RowGroupMetaData *group_metadata, const int parquet_column_index, const SQLTypeInfo &column_type) override
ParquetFixedLengthArrayEncoder(Data_Namespace::AbstractBuffer *data_buffer, std::shared_ptr< ParquetScalarEncoder > scalar_encoder, const ColumnDescriptor *column_desciptor)
void throwWrongSizeArray(const size_t size_of_last_array, const size_t array_element_count, const std::string &omnisci_column_name)
void throwEmptyArrayException(const size_t array_element_count, const std::string &omnisci_column_name)
int8_t * resizeArrayDataBytes(const size_t additional_num_elements)
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
void appendNullArrayOrCheckArraySize()
const ColumnDescriptor column_desciptor_
std::shared_ptr< ChunkMetadata > getRowGroupMetadata(const parquet::RowGroupMetaData *group_metadata, const int parquet_column_index, const SQLTypeInfo &column_type) override
int64_t inline_fixed_encoding_null_array_val(const SQL_TYPE_INFO &ti)
#define NULL_ARRAY_DOUBLE
void processLastArray() override
void setNullFixedLengthArraySentinel(int8_t *omnisci_data_bytes)
size_t array_element_count_
SQLTypeInfo get_elem_type() const
std::shared_ptr< ParquetScalarEncoder > scalar_encoder_
virtual void processLastArray()
SQLTypes string_dict_to_int_type(const SQLTypeInfo &ti)