Documentation ¶
Index ¶
- type Field
- func (f Field) Category() string
- func (f Field) Chain() []Field
- func (f Field) Child(i int) Field
- func (f Field) ColumnNames() []string
- func (f Field) DefIndex(def int) int
- func (f Field) FieldNames() []string
- func (f Field) FieldType() string
- func (f Field) FieldTypes() []string
- func (f Field) Fields() []Field
- func (f Field) Init(def, rep int) string
- func (f Field) IsRep(rep int) bool
- func (f Field) IsRoot() bool
- func (f Field) MaxDef() int
- func (f Field) MaxRep() int
- func (f Field) MaxRepForDef(def int) int
- func (f Field) NilField(n int) (string, RepetitionType, int, int)
- func (f Field) Optional() bool
- func (f Field) ParquetType() string
- func (f Field) Path() string
- func (f Field) Primitive() bool
- func (f Field) RepCases(def int) RepCases
- func (f Field) Repeated() bool
- func (f Field) RepetitionTypes() RepetitionTypes
- func (f Field) Required() bool
- func (f Field) StructType() string
- func (f Field) TypeName() string
- type RepCase
- type RepCases
- type RepetitionType
- type RepetitionTypes
- func (r RepetitionTypes) Def(def int) RepetitionType
- func (r RepetitionTypes) MaxDef() uint8
- func (r RepetitionTypes) MaxRep() uint8
- func (r RepetitionTypes) NRepeated(i int) bool
- func (r RepetitionTypes) Optional() bool
- func (r RepetitionTypes) Repeated() bool
- func (r RepetitionTypes) Required() bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Field ¶
type Field struct { Type string Name string ColumnName string RepetitionType RepetitionType Parent *Field Children []Field Embedded bool NthChild int Defined bool }
Field holds metadata that is required by parquetgen in order to generate code.
func (Field) ColumnNames ¶
func (Field) DefIndex ¶
DefIndex calculates the index of the nested field with the given definition level.
func (Field) FieldNames ¶
func (Field) FieldTypes ¶
func (Field) Init ¶
Init is called by parquetgen's templates to generate the code that writes to a struct's field
example: x.Friend.Hobby = &Item{}
func (Field) MaxRepForDef ¶
MaxRepForDef cacluates the largest possible repetition level for the nested field at the given definition level.
func (Field) NilField ¶
NilField finds the nth field that is optional and returns some information about it.
func (Field) ParquetType ¶
func (Field) RepCases ¶
RepCases returns a RepCase slice based on the field types and what sub-fields have already been seen.
func (Field) RepetitionTypes ¶
func (f Field) RepetitionTypes() RepetitionTypes
func (Field) StructType ¶
type RepCase ¶
type RepCase struct { // Case is the code for a switch case (for example: case 0:) Reps []int // Rep is the repetition level that is handled by the switch case. Rep int // Repeated is true if any of the fields (including the one at the def level) were repeated // This allows the def case to not have a rep case for fields that have a repetition somewhere // in the chain. Repeated bool }
RepCase is used by parquetgen to generate code.
type RepetitionType ¶
type RepetitionType int
RepetitionType is an enum of the possible parquet repetition types
const ( Unseen RepetitionType = -1 Required RepetitionType = 0 Optional RepetitionType = 1 Repeated RepetitionType = 2 )
func (RepetitionType) Prefix ¶
func (r RepetitionType) Prefix() string
type RepetitionTypes ¶
type RepetitionTypes []RepetitionType
RepetitionTypes provides several functions used by parquetgen's go templates to generate code.
func (RepetitionTypes) Def ¶
func (r RepetitionTypes) Def(def int) RepetitionType
Def returns the repetition type for the definition level
func (RepetitionTypes) MaxDef ¶
func (r RepetitionTypes) MaxDef() uint8
MaxDef returns the largest definition level
func (RepetitionTypes) MaxRep ¶
func (r RepetitionTypes) MaxRep() uint8
MaxRep returns the largest repetition level
func (RepetitionTypes) NRepeated ¶
func (r RepetitionTypes) NRepeated(i int) bool
NRepeated figures out if the sub-field at position i is repeated.
func (RepetitionTypes) Optional ¶
func (r RepetitionTypes) Optional() bool
Optional figures out if there is an optional field
func (RepetitionTypes) Repeated ¶
func (r RepetitionTypes) Repeated() bool
Repeated figures out if there is a repeated field
func (RepetitionTypes) Required ¶
func (r RepetitionTypes) Required() bool
Required figures out if there are no optional or repeated fields