Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
types.hpp File Reference

Parquet format enumerations, type traits, and statistics structs. More...

#include <cstdint>
#include <string>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

struct  signet::forge::ColumnDescriptor
 Descriptor for a single column in a Parquet schema. More...
 
struct  signet::forge::parquet_type_of< bool >
 
struct  signet::forge::parquet_type_of< int32_t >
 
struct  signet::forge::parquet_type_of< int64_t >
 
struct  signet::forge::parquet_type_of< float >
 
struct  signet::forge::parquet_type_of< double >
 
struct  signet::forge::parquet_type_of< std::string >
 
struct  signet::forge::native_type_of< PhysicalType::BOOLEAN >
 
struct  signet::forge::native_type_of< PhysicalType::INT32 >
 
struct  signet::forge::native_type_of< PhysicalType::INT64 >
 
struct  signet::forge::native_type_of< PhysicalType::FLOAT >
 
struct  signet::forge::native_type_of< PhysicalType::DOUBLE >
 
struct  signet::forge::native_type_of< PhysicalType::BYTE_ARRAY >
 
struct  signet::forge::ColumnWriteStats
 Per-column statistics produced by ParquetWriter::close(). More...
 
struct  signet::forge::WriteStats
 File-level write statistics returned by ParquetWriter::close(). More...
 
struct  signet::forge::ColumnFileStats
 Per-column statistics from ParquetReader::file_stats(). More...
 
struct  signet::forge::FileStats
 Aggregate file-level statistics returned by ParquetReader::file_stats(). More...
 

Namespaces

namespace  signet
 
namespace  signet::forge
 

Typedefs

template<PhysicalType PT>
using signet::forge::native_type_of_t = typename native_type_of< PT >::type
 Convenience alias: native_type_of_t<PhysicalType::INT64> == int64_t.
 

Enumerations

enum class  signet::forge::PhysicalType : int32_t {
  signet::forge::BOOLEAN = 0 , signet::forge::INT32 = 1 , signet::forge::INT64 = 2 , signet::forge::INT96 = 3 ,
  signet::forge::FLOAT = 4 , signet::forge::DOUBLE = 5 , signet::forge::BYTE_ARRAY = 6 , signet::forge::FIXED_LEN_BYTE_ARRAY = 7
}
 Parquet physical (storage) types as defined in parquet.thrift. More...
 
enum class  signet::forge::LogicalType : int32_t {
  signet::forge::NONE = 0 , signet::forge::STRING = 1 , signet::forge::ENUM = 2 , signet::forge::UUID = 3 ,
  signet::forge::DATE = 4 , signet::forge::TIME_MS = 5 , signet::forge::TIME_US = 6 , signet::forge::TIME_NS = 7 ,
  signet::forge::TIMESTAMP_MS = 8 , signet::forge::TIMESTAMP_US = 9 , signet::forge::TIMESTAMP_NS = 10 , signet::forge::DECIMAL = 11 ,
  signet::forge::JSON = 12 , signet::forge::BSON = 13 , signet::forge::FLOAT16 = 14 , signet::forge::FLOAT32_VECTOR = 100
}
 Parquet logical types (from parquet.thrift LogicalType union). More...
 
enum class  signet::forge::ConvertedType : int32_t {
  signet::forge::NONE = -1 , signet::forge::UTF8 = 0 , signet::forge::MAP = 1 , signet::forge::MAP_KEY_VALUE = 2 ,
  signet::forge::LIST = 3 , signet::forge::ENUM = 4 , signet::forge::DECIMAL = 5 , signet::forge::DATE = 6 ,
  signet::forge::TIME_MILLIS = 7 , signet::forge::TIME_MICROS = 8 , signet::forge::TIMESTAMP_MILLIS = 9 , signet::forge::TIMESTAMP_MICROS = 10 ,
  signet::forge::UINT_8 = 11 , signet::forge::UINT_16 = 12 , signet::forge::UINT_32 = 13 , signet::forge::UINT_64 = 14 ,
  signet::forge::INT_8 = 15 , signet::forge::INT_16 = 16 , signet::forge::INT_32 = 17 , signet::forge::INT_64 = 18 ,
  signet::forge::JSON = 19 , signet::forge::BSON = 20 , signet::forge::INTERVAL = 21
}
 Legacy Parquet converted types for backward compatibility with older readers. More...
 
enum class  signet::forge::Encoding : int32_t {
  signet::forge::PLAIN = 0 , signet::forge::PLAIN_DICTIONARY = 2 , signet::forge::RLE = 3 , signet::forge::BIT_PACKED = 4 ,
  signet::forge::DELTA_BINARY_PACKED = 5 , signet::forge::DELTA_LENGTH_BYTE_ARRAY = 6 , signet::forge::DELTA_BYTE_ARRAY = 7 , signet::forge::RLE_DICTIONARY = 8 ,
  signet::forge::BYTE_STREAM_SPLIT = 9
}
 Parquet page encoding types. More...
 
enum class  signet::forge::Compression : int32_t {
  signet::forge::UNCOMPRESSED = 0 , signet::forge::SNAPPY = 1 , signet::forge::GZIP = 2 , signet::forge::LZO = 3 ,
  signet::forge::BROTLI = 4 , signet::forge::LZ4 = 5 , signet::forge::ZSTD = 6 , signet::forge::LZ4_RAW = 7
}
 Parquet compression codecs. More...
 
enum class  signet::forge::PageType : int32_t { signet::forge::DATA_PAGE = 0 , signet::forge::INDEX_PAGE = 1 , signet::forge::DICTIONARY_PAGE = 2 , signet::forge::DATA_PAGE_V2 = 3 }
 Parquet page types within a column chunk. More...
 
enum class  signet::forge::Repetition : int32_t { signet::forge::REQUIRED = 0 , signet::forge::OPTIONAL = 1 , signet::forge::REPEATED = 2 }
 Parquet field repetition types (nullability / cardinality). More...
 

Variables

template<typename T >
constexpr PhysicalType signet::forge::parquet_type_of_v = parquet_type_of<T>::value
 Convenience variable template: parquet_type_of_v<double> == PhysicalType::DOUBLE.
 
constexpr int32_t signet::forge::PARQUET_VERSION = 2
 Parquet format version written to the file footer.
 
constexpr const char * signet::forge::SIGNET_CREATED_BY = "SignetStack signet-forge version 0.1.0"
 Default "created_by" string embedded in every Parquet footer.
 
constexpr uint32_t signet::forge::PARQUET_MAGIC = 0x31524150
 "PAR1" magic bytes (little-endian uint32) — marks a standard Parquet file.
 
constexpr uint32_t signet::forge::PARQUET_MAGIC_ENCRYPTED = 0x45524150
 "PARE" magic bytes (little-endian uint32) — marks a Parquet file with an encrypted footer.
 

Detailed Description

Parquet format enumerations, type traits, and statistics structs.

Definition in file types.hpp.