Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
signet::forge::thrift::SchemaElement Struct Reference

Parquet schema element (parquet.thrift fields 1-10). More...

#include <types.hpp>

Public Member Functions

 SchemaElement ()=default
 
void serialize (CompactEncoder &enc) const
 
expected< void > deserialize (CompactDecoder &dec)
 

Public Attributes

std::optional< PhysicalTypetype
 Physical type (field 1, absent for group nodes).
 
std::optional< int32_t > type_length
 Type length for FIXED_LEN_BYTE_ARRAY (field 2).
 
std::optional< Repetitionrepetition_type
 REQUIRED/OPTIONAL/REPEATED (field 3).
 
std::string name
 Column or group name (field 4, required).
 
std::optional< int32_t > num_children
 Number of children for group nodes (field 5).
 
std::optional< ConvertedTypeconverted_type
 Legacy converted type (field 6).
 
std::optional< int32_t > scale
 Decimal scale (field 7).
 
std::optional< int32_t > precision
 Decimal precision (field 8).
 
std::optional< int32_t > field_id
 Field ID for nested type evolution (field 9).
 
std::optional< LogicalTypeUnionlogical_type
 LogicalType union (field 10, preferred).
 

Detailed Description

Parquet schema element (parquet.thrift fields 1-10).

Represents a single node in the Parquet schema tree. Leaf nodes have a physical type; group nodes have num_children instead. Fields 9 (field_id) and 10 (logicalType) added per parquet-format 2.9.0.

Definition at line 530 of file types.hpp.

Constructor & Destructor Documentation

◆ SchemaElement()

signet::forge::thrift::SchemaElement::SchemaElement ( )
default

Member Function Documentation

◆ deserialize()

expected< void > signet::forge::thrift::SchemaElement::deserialize ( CompactDecoder dec)
inline

Definition at line 589 of file types.hpp.

◆ serialize()

void signet::forge::thrift::SchemaElement::serialize ( CompactEncoder enc) const
inline

Definition at line 544 of file types.hpp.

Member Data Documentation

◆ converted_type

std::optional<ConvertedType> signet::forge::thrift::SchemaElement::converted_type

Legacy converted type (field 6).

Definition at line 536 of file types.hpp.

◆ field_id

std::optional<int32_t> signet::forge::thrift::SchemaElement::field_id

Field ID for nested type evolution (field 9).

Definition at line 539 of file types.hpp.

◆ logical_type

std::optional<LogicalTypeUnion> signet::forge::thrift::SchemaElement::logical_type

LogicalType union (field 10, preferred).

Definition at line 540 of file types.hpp.

◆ name

std::string signet::forge::thrift::SchemaElement::name

Column or group name (field 4, required).

Definition at line 534 of file types.hpp.

◆ num_children

std::optional<int32_t> signet::forge::thrift::SchemaElement::num_children

Number of children for group nodes (field 5).

Definition at line 535 of file types.hpp.

◆ precision

std::optional<int32_t> signet::forge::thrift::SchemaElement::precision

Decimal precision (field 8).

Definition at line 538 of file types.hpp.

◆ repetition_type

std::optional<Repetition> signet::forge::thrift::SchemaElement::repetition_type

REQUIRED/OPTIONAL/REPEATED (field 3).

Definition at line 533 of file types.hpp.

◆ scale

std::optional<int32_t> signet::forge::thrift::SchemaElement::scale

Decimal scale (field 7).

Definition at line 537 of file types.hpp.

◆ type

std::optional<PhysicalType> signet::forge::thrift::SchemaElement::type

Physical type (field 1, absent for group nodes).

Definition at line 531 of file types.hpp.

◆ type_length

std::optional<int32_t> signet::forge::thrift::SchemaElement::type_length

Type length for FIXED_LEN_BYTE_ARRAY (field 2).

Definition at line 532 of file types.hpp.


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