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);
71 const auto type = ti.get_type();
74 reinterpret_cast<bool*
>(omnisci_data_bytes)[0] =
80 reinterpret_cast<int64_t*
>(omnisci_data_bytes)[0] =
84 reinterpret_cast<int32_t*
>(omnisci_data_bytes)[0] =
88 reinterpret_cast<int16_t*
>(omnisci_data_bytes)[0] =
92 reinterpret_cast<int8_t*
>(omnisci_data_bytes)[0] =
104 reinterpret_cast<int64_t*
>(omnisci_data_bytes)[0] =
128 CHECK(size_of_last_array == 0);
134 const size_t array_element_count,
135 const std::string& omnisci_column_name) {
138 " elements being loaded into"
139 " OmniSci column '" +
140 omnisci_column_name +
141 "' which has a fixed length array type,"
148 omnisci_column_name +
149 "' column which has a fixed length array type of "
150 "dictionary encoded text. Currently "
151 "null arrays for this type of column are not allowed.");
HOST DEVICE int get_size() 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)
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_
void throwNullInDictionaryEncodedColumn(const std::string &omnisci_column_name)
SQLTypeInfo get_elem_type() const
std::shared_ptr< ParquetScalarEncoder > scalar_encoder_