Class foreign_storage::ParquetFixedLengthEncoder

template<typename V, typename T, typename NullType = V>
class ParquetFixedLengthEncoder : public foreign_storage::TypedParquetInPlaceEncoder<V, T, NullType>, public foreign_storage::ParquetMetadataValidator

Public Functions

ParquetFixedLengthEncoder(Data_Namespace::AbstractBuffer *buffer, const ColumnDescriptor *column_desciptor, const parquet::ColumnDescriptor *parquet_column_descriptor)
ParquetFixedLengthEncoder(Data_Namespace::AbstractBuffer *buffer, const size_t omnisci_data_type_byte_size, const size_t parquet_data_type_byte_size)
void encodeAndCopy(const int8_t *parquet_data_bytes, int8_t *omnisci_data_bytes)
void validate(std::shared_ptr<parquet::Statistics> stats, const SQLTypeInfo &column_type) const
void validate(const int8_t *parquet_data, const int64_t j, const SQLTypeInfo &column_type) const
bool encodingIsIdentityForSameTypes() const

Private Functions

template<typename TT = T, std::enable_if_t<(!std::is_integral<TT>::value || std::is_same<TT, bool>::value) && !std::is_floating_point<TT>::value, int> = 0>
void validateIntegralOrFloatingPointValue(const T &value, const SQLTypeInfo &column_type) const
template<typename TT = T, std::enable_if_t<std::is_floating_point<TT>::value, int> = 0>
void validateIntegralOrFloatingPointValue(const T &value, const SQLTypeInfo &column_type) const
template<typename TT = T, std::enable_if_t<std::is_integral<TT>::value && !std::is_same<TT, bool>::value, int> = 0>
void validateIntegralOrFloatingPointValue(const T &value, const SQLTypeInfo &column_type) const
void validateIntegralOrFloatingPointMetadata(std::shared_ptr<parquet::Statistics> stats, const SQLTypeInfo &column_type) const