OmniSciDB  2e3a973ef4
foreign_storage::ParquetTimeEncoder< V, T > Class Template Reference

#include <ParquetTimeEncoder.h>

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

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
 
- 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
 

Private Attributes

conversion_denominator_
 

Additional Inherited Members

- Protected Member Functions inherited from foreign_storage::TypedParquetInPlaceEncoder< V, T >
virtual bool encodingIsIdentityForSameTypes () const
 
- 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>
class foreign_storage::ParquetTimeEncoder< V, T >

Definition at line 23 of file ParquetTimeEncoder.h.

Constructor & Destructor Documentation

◆ ParquetTimeEncoder()

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

Definition at line 25 of file ParquetTimeEncoder.h.

References CHECK, foreign_storage::ParquetTimeEncoder< V, T >::conversion_denominator_, and foreign_storage::get_time_conversion_denominator().

28  : TypedParquetInPlaceEncoder<V, T>(buffer,
29  column_desciptor,
30  parquet_column_descriptor) {
31  auto time_logical_type = dynamic_cast<const parquet::TimeLogicalType*>(
32  parquet_column_descriptor->logical_type().get());
33  CHECK(time_logical_type);
35  get_time_conversion_denominator(time_logical_type->time_unit());
36  }
int64_t get_time_conversion_denominator(const parquet::LogicalType::TimeUnit::unit time_unit)
#define CHECK(condition)
Definition: Logger.h:197
+ Here is the call graph for this function:

Member Function Documentation

◆ encodeAndCopy()

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

Implements foreign_storage::ParquetScalarEncoder.

Definition at line 38 of file ParquetTimeEncoder.h.

References foreign_storage::ParquetTimeEncoder< V, T >::conversion_denominator_.

39  {
40  const auto& parquet_data_value = reinterpret_cast<const T*>(parquet_data_bytes)[0];
41  auto& omnisci_data_value = reinterpret_cast<V*>(omnisci_data_bytes)[0];
42  omnisci_data_value = parquet_data_value / conversion_denominator_;
43  }

Member Data Documentation

◆ conversion_denominator_

template<typename V , typename T >
V foreign_storage::ParquetTimeEncoder< V, T >::conversion_denominator_
private

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