OmniSciDB  85c2d10cdc
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
foreign_storage::ParquetTimeEncoder< V, T, conversion_denominator > Class Template Reference

#include <ParquetTimeEncoder.h>

+ Inheritance diagram for foreign_storage::ParquetTimeEncoder< V, T, conversion_denominator >:
+ Collaboration diagram for foreign_storage::ParquetTimeEncoder< V, T, conversion_denominator >:

Public Member Functions

 ParquetTimeEncoder (Data_Namespace::AbstractBuffer *buffer, const ColumnDescriptor *column_desciptor, const parquet::ColumnDescriptor *parquet_column_descriptor)
 
void encodeAndCopy (const int8_t *parquet_data_bytes, int8_t *omnisci_data_bytes) override
 
- Public Member Functions inherited from foreign_storage::TypedParquetInPlaceEncoder< V, T >
 TypedParquetInPlaceEncoder (Data_Namespace::AbstractBuffer *buffer, const ColumnDescriptor *column_desciptor, const parquet::ColumnDescriptor *parquet_column_descriptor)
 
 TypedParquetInPlaceEncoder (Data_Namespace::AbstractBuffer *buffer, const size_t omnisci_data_type_byte_size, const size_t parquet_data_type_byte_size)
 
void appendData (const int16_t *def_levels, const int16_t *rep_levels, const int64_t values_read, const int64_t levels_read, const bool is_last_batch, int8_t *values) override
 
void encodeAndCopyContiguous (const int8_t *parquet_data_bytes, int8_t *omnisci_data_bytes, const size_t num_elements) override
 
void setNull (int8_t *omnisci_data_bytes) override
 
void copy (const int8_t *omnisci_data_bytes_source, int8_t *omnisci_data_bytes_destination) override
 
std::shared_ptr< ChunkMetadatagetRowGroupMetadata (const parquet::RowGroupMetaData *group_metadata, const int parquet_column_index, const SQLTypeInfo &column_type) override
 
- Public Member Functions inherited from foreign_storage::ParquetInPlaceEncoder
 ParquetInPlaceEncoder (Data_Namespace::AbstractBuffer *buffer, const size_t omnisci_data_type_byte_size, const size_t parquet_data_type_byte_size)
 
- Public Member Functions inherited from foreign_storage::ParquetScalarEncoder
 ParquetScalarEncoder (Data_Namespace::AbstractBuffer *buffer)
 
- Public Member Functions inherited from foreign_storage::ParquetEncoder
 ParquetEncoder (Data_Namespace::AbstractBuffer *buffer)
 
virtual ~ParquetEncoder ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from foreign_storage::TypedParquetInPlaceEncoder< V, T >
virtual bool encodingIsIdentityForSameTypes () const
 
std::pair< T, T > getUnencodedStats (std::shared_ptr< parquet::Statistics > stats) const
 
- Static Protected Member Functions inherited from foreign_storage::ParquetEncoder
static std::shared_ptr
< ChunkMetadata
createMetadata (const SQLTypeInfo &column_type)
 
static void throwNotNullViolation (const std::string &parquet_column_name)
 
static void validateNullCount (const std::string &parquet_column_name, int64_t null_count, const SQLTypeInfo &column_type)
 
- Protected Attributes inherited from foreign_storage::ParquetInPlaceEncoder
const size_t omnisci_data_type_byte_size_
 
- Protected Attributes inherited from foreign_storage::ParquetEncoder
Data_Namespace::AbstractBufferbuffer_
 

Detailed Description

template<typename V, typename T, T conversion_denominator>
class foreign_storage::ParquetTimeEncoder< V, T, conversion_denominator >

Definition at line 35 of file ParquetTimeEncoder.h.

Constructor & Destructor Documentation

template<typename V , typename T , T conversion_denominator>
foreign_storage::ParquetTimeEncoder< V, T, conversion_denominator >::ParquetTimeEncoder ( Data_Namespace::AbstractBuffer buffer,
const ColumnDescriptor column_desciptor,
const parquet::ColumnDescriptor *  parquet_column_descriptor 
)
inline

Definition at line 37 of file ParquetTimeEncoder.h.

References CHECK.

40  : TypedParquetInPlaceEncoder<V, T>(buffer,
41  column_desciptor,
42  parquet_column_descriptor) {
43  CHECK(parquet_column_descriptor->logical_type()->is_time());
44  }
#define CHECK(condition)
Definition: Logger.h:197

Member Function Documentation

template<typename V , typename T , T conversion_denominator>
void foreign_storage::ParquetTimeEncoder< V, T, conversion_denominator >::encodeAndCopy ( const int8_t *  parquet_data_bytes,
int8_t *  omnisci_data_bytes 
)
inlineoverridevirtual

Implements foreign_storage::ParquetScalarEncoder.

Definition at line 46 of file ParquetTimeEncoder.h.

References omnisci.dtypes::T.

47  {
48  const auto& parquet_data_value = reinterpret_cast<const T*>(parquet_data_bytes)[0];
49  auto& omnisci_data_value = reinterpret_cast<V*>(omnisci_data_bytes)[0];
50  omnisci_data_value = parquet_data_value / conversion_denominator;
51  }

The documentation for this class was generated from the following file: