parquet-haskell-0.1.0.0: src/Parquet/Types/ColumnChunk.hs
module Parquet.Types.ColumnChunk
( -- * Type definitions
ColumnChunk (..),
ColumnMetaData (..),
-- * Internal type definitions
PageEncodingStats (..),
)
where
------------------------------------------------------------------------------
import Parquet.Prelude
import Parquet.Types.Enums
import Parquet.Types.Primitives
import Pinch
------------------------------------------------------------------------------
data ColumnChunk = ColumnChunk
{ _ColumnChunk_file_path :: Field 1 (Maybe Text),
_ColumnChunk_file_offset :: Field 2 Int64,
_ColumnChunk_meta_data :: Field 3 (Maybe ColumnMetaData),
_ColumnChunk_offset_index_offset :: Field 4 (Maybe Int64),
_ColumnChunk_offset_index_length :: Field 5 (Maybe Int32),
_ColumnChunk_column_index_offset :: Field 6 (Maybe Int64),
_ColumnChunk_column_index_length :: Field 7 (Maybe Int32),
_ColumnChunk_crypto_metadata :: Field 8 (Maybe ColumnCryptoMetaData),
_ColumnChunk_encrypted_column_metadata :: Field 9 (Maybe ByteString)
}
deriving (Show, Eq, Generic, Pinchable, Binary)
------------------------------------------------------------------------------
data ColumnMetaData = ColumnMetaData
{ _ColumnMetaData_type :: Field 1 Type,
_ColumnMetaData_encodings :: Field 2 [Encoding],
_ColumnMetaData_path_in_schema :: Field 3 [Text],
_ColumnMetaData_codec :: Field 4 CompressionCodec,
_ColumnMetaData_num_values :: Field 5 Int64,
_ColumnMetaData_total_uncompressed_size :: Field 6 Int64,
_ColumnMetaData_total_compressed_size :: Field 7 Int64,
_ColumnMetaData_key_value_metadata :: Field 8 (Maybe [KeyValue]),
_ColumnMetaData_data_page_offset :: Field 9 Int64,
_ColumnMetaData_index_page_offset :: Field 10 (Maybe Int64),
_ColumnMetaData_dictionary_page_offset :: Field 11 (Maybe Int64),
_ColumnMetaData_statistics :: Field 12 (Maybe Statistics),
_ColumnMetaData_encoding_stats :: Field 13 (Maybe [PageEncodingStats]),
_ColumnMetaData_bloom_filter_offset :: Field 14 (Maybe Int64)
}
deriving (Show, Eq, Generic, Pinchable, Binary)
------------------------------------------------------------------------------
data PageEncodingStats = PageEncodingStats
{ _PageEncodingStats_page_type :: Field 1 PageType,
_PageEncodingStats_encoding :: Field 2 Encoding,
_PageEncodingStats_count :: Field 3 Int32
}
deriving (Show, Eq, Generic, Pinchable, Binary)