Versions in this module Expand all Collapse all v0 v0.2.1 Mar 11, 2025 Changes in this version + const InitialPartitionSpecID + var ErrBadCast = errors.New("could not cast value") + var ErrBadLiteral = errors.New("invalid literal value") + var ErrInvalidArgument = errors.New("invalid argument") + var ErrInvalidBinSerialization = errors.New("invalid binary serialization") + var ErrInvalidSchema = errors.New("invalid schema") + var ErrInvalidTransform = errors.New("invalid transform syntax") + var ErrInvalidTypeString = errors.New("invalid type") + var ErrNotImplemented = errors.New("not implemented") + var ErrResolve = errors.New("cannot resolve type") + var ErrType = errors.New("type error") + var PositionalDeleteSchema = NewSchema(0, NestedField{ ... }, NestedField{ ... }) + var PrimitiveTypes = struct{ ... } + var UnpartitionedSpec = &PartitionSpec + func ExpressionEvaluator(s *Schema, unbound BooleanExpression, caseSensitive bool) (func(structLike) (bool, error), error) + func ExtractFieldIDs(expr BooleanExpression) ([]int, error) + func IndexByID(schema *Schema) (map[int]NestedField, error) + func IndexByName(schema *Schema) (map[string]int, error) + func IndexNameByID(schema *Schema) (map[int]string, error) + func IndexParents(schema *Schema) (map[int]int, error) + func PreOrderVisit[T any](sc *Schema, visitor PreOrderSchemaVisitor[T]) (res T, err error) + func Version() string + func VisitBoundPredicate[T any](e BoundPredicate, visitor BoundBooleanExprVisitor[T]) T + func VisitExpr[T any](expr BooleanExpression, visitor BooleanExprVisitor[T]) (res T, err error) + func VisitSchemaWithPartner[T, P any](sc *Schema, partner P, visitor SchemaWithPartnerVisitor[T, P], ...) (res T, err error) + func Visit[T any](sc *Schema, visitor SchemaVisitor[T]) (res T, err error) + func WriteManifestList(version int, out io.Writer, snapshotID int64, ...) error + type AboveMaxLiteral interface + type AfterFieldVisitor interface + AfterField func(field NestedField) + type AfterListElementVisitor interface + AfterListElement func(elem NestedField) + type AfterMapKeyVisitor interface + AfterMapKey func(key NestedField) + type AfterMapValueVisitor interface + AfterMapValue func(value NestedField) + type AlwaysFalse struct + func (AlwaysFalse) Equals(other BooleanExpression) bool + func (AlwaysFalse) Negate() BooleanExpression + func (AlwaysFalse) Op() Operation + func (AlwaysFalse) String() string + type AlwaysTrue struct + func (AlwaysTrue) Equals(other BooleanExpression) bool + func (AlwaysTrue) Negate() BooleanExpression + func (AlwaysTrue) Op() Operation + func (AlwaysTrue) String() string + type AndExpr struct + func (AndExpr) Op() Operation + func (a AndExpr) Equals(other BooleanExpression) bool + func (a AndExpr) Negate() BooleanExpression + func (a AndExpr) String() string + type BeforeFieldVisitor interface + BeforeField func(field NestedField) + type BeforeListElementVisitor interface + BeforeListElement func(elem NestedField) + type BeforeMapKeyVisitor interface + BeforeMapKey func(key NestedField) + type BeforeMapValueVisitor interface + BeforeMapValue func(value NestedField) + type BelowMinLiteral interface + type BinaryLiteral []byte + func (BinaryLiteral) Comparator() Comparator[[]byte] + func (b *BinaryLiteral) UnmarshalBinary(data []byte) error + func (b BinaryLiteral) Equals(other Literal) bool + func (b BinaryLiteral) MarshalBinary() (data []byte, err error) + func (b BinaryLiteral) String() string + func (b BinaryLiteral) To(typ Type) (Literal, error) + func (b BinaryLiteral) Type() Type + func (b BinaryLiteral) Value() []byte + type BinaryType struct + func (BinaryType) Equals(other Type) bool + func (BinaryType) String() string + func (BinaryType) Type() string + type BoolLiteral bool + func (BoolLiteral) Comparator() Comparator[bool] + func (b *BoolLiteral) UnmarshalBinary(data []byte) error + func (b BoolLiteral) Equals(l Literal) bool + func (b BoolLiteral) MarshalBinary() (data []byte, err error) + func (b BoolLiteral) String() string + func (b BoolLiteral) To(t Type) (Literal, error) + func (b BoolLiteral) Type() Type + func (b BoolLiteral) Value() bool + type BooleanExprVisitor interface + VisitAnd func(left, right T) T + VisitBound func(BoundPredicate) T + VisitFalse func() T + VisitNot func(childResult T) T + VisitOr func(left, right T) T + VisitTrue func() T + VisitUnbound func(UnboundPredicate) T + type BooleanExpression interface + Equals func(BooleanExpression) bool + Negate func() BooleanExpression + Op func() Operation + func BindExpr(s *Schema, expr BooleanExpression, caseSensitive bool) (BooleanExpression, error) + func IsIn[T LiteralType](t UnboundTerm, vals ...T) BooleanExpression + func NewAnd(left, right BooleanExpression, addl ...BooleanExpression) BooleanExpression + func NewNot(child BooleanExpression) BooleanExpression + func NewOr(left, right BooleanExpression, addl ...BooleanExpression) BooleanExpression + func NotIn[T LiteralType](t UnboundTerm, vals ...T) BooleanExpression + func RewriteNotExpr(expr BooleanExpression) (BooleanExpression, error) + func SetPredicate(op Operation, t UnboundTerm, lits []Literal) BooleanExpression + func TranslateColumnNames(expr BooleanExpression, fileSchema *Schema) (BooleanExpression, error) + type BooleanType struct + func (BooleanType) Equals(other Type) bool + func (BooleanType) String() string + func (BooleanType) Type() string + type BoundBooleanExprVisitor interface + VisitEqual func(BoundTerm, Literal) T + VisitGreater func(BoundTerm, Literal) T + VisitGreaterEqual func(BoundTerm, Literal) T + VisitIn func(BoundTerm, Set[Literal]) T + VisitIsNan func(BoundTerm) T + VisitIsNull func(BoundTerm) T + VisitLess func(BoundTerm, Literal) T + VisitLessEqual func(BoundTerm, Literal) T + VisitNotEqual func(BoundTerm, Literal) T + VisitNotIn func(BoundTerm, Set[Literal]) T + VisitNotNan func(BoundTerm) T + VisitNotNull func(BoundTerm) T + VisitNotStartsWith func(BoundTerm, Literal) T + VisitStartsWith func(BoundTerm, Literal) T + type BoundLiteralPredicate interface + AsUnbound func(Reference, Literal) UnboundPredicate + Literal func() Literal + type BoundPredicate interface + Ref func() BoundReference + Term func() BoundTerm + type BoundReference interface + Field func() NestedField + Pos func() int + PosPath func() []int + type BoundSetPredicate interface + AsUnbound func(Reference, []Literal) UnboundPredicate + Literals func() Set[Literal] + type BoundTerm interface + Equals func(BoundTerm) bool + Ref func() BoundReference + Type func() Type + type BoundTransform struct + func (b *BoundTransform) Equals(other BoundTerm) bool + func (b *BoundTransform) Ref() BoundReference + func (b *BoundTransform) String() string + func (b *BoundTransform) Type() Type + type BoundUnaryPredicate interface + AsUnbound func(Reference) UnboundPredicate + type BucketTransform struct + NumBuckets int + func (BucketTransform) ResultType(Type) Type + func (BucketTransform) ToHumanStr(val any) string + func (t BucketTransform) Apply(value Optional[Literal]) Optional[Literal] + func (t BucketTransform) Equals(other Transform) bool + func (t BucketTransform) MarshalText() ([]byte, error) + func (t BucketTransform) Project(name string, pred BoundPredicate) (UnboundPredicate, error) + func (t BucketTransform) String() string + func (t BucketTransform) Transformer(src Type) func(any) Optional[int32] + type Comparator func(v1, v2 T) int + type DataFile interface + ColumnSizes func() map[int]int64 + ContentType func() ManifestEntryContent + Count func() int64 + DistinctValueCounts func() map[int]int64 + EqualityFieldIDs func() []int + FileFormat func() FileFormat + FilePath func() string + FileSizeBytes func() int64 + KeyMetadata func() []byte + LowerBoundValues func() map[int][]byte + NaNValueCounts func() map[int]int64 + NullValueCounts func() map[int]int64 + Partition func() map[string]any + SortOrderID func() *int + SpecID func() int32 + SplitOffsets func() []int64 + UpperBoundValues func() map[int][]byte + ValueCounts func() map[int]int64 + type DataFileBuilder struct + func NewDataFileBuilder(spec PartitionSpec, content ManifestEntryContent, path string, ...) (*DataFileBuilder, error) + func (b *DataFileBuilder) BlockSizeInBytes(size int64) *DataFileBuilder + func (b *DataFileBuilder) Build() DataFile + func (b *DataFileBuilder) ColumnSizes(sizes map[int]int64) *DataFileBuilder + func (b *DataFileBuilder) DistinctValueCounts(counts map[int]int64) *DataFileBuilder + func (b *DataFileBuilder) EqualityFieldIDs(ids []int) *DataFileBuilder + func (b *DataFileBuilder) KeyMetadata(key []byte) *DataFileBuilder + func (b *DataFileBuilder) LowerBoundValues(bounds map[int][]byte) *DataFileBuilder + func (b *DataFileBuilder) NaNValueCounts(counts map[int]int64) *DataFileBuilder + func (b *DataFileBuilder) NullValueCounts(counts map[int]int64) *DataFileBuilder + func (b *DataFileBuilder) SortOrderID(id int) *DataFileBuilder + func (b *DataFileBuilder) SplitOffsets(offsets []int64) *DataFileBuilder + func (b *DataFileBuilder) UpperBoundValues(bounds map[int][]byte) *DataFileBuilder + func (b *DataFileBuilder) ValueCounts(counts map[int]int64) *DataFileBuilder + type Date int32 + func (d Date) ToTime() time.Time + type DateLiteral Date + func (DateLiteral) Comparator() Comparator[Date] + func (d *DateLiteral) UnmarshalBinary(data []byte) error + func (d DateLiteral) Decrement() Literal + func (d DateLiteral) Equals(other Literal) bool + func (d DateLiteral) Increment() Literal + func (d DateLiteral) MarshalBinary() (data []byte, err error) + func (d DateLiteral) String() string + func (d DateLiteral) To(t Type) (Literal, error) + func (d DateLiteral) Type() Type + func (d DateLiteral) Value() Date + type DateType struct + func (DateType) Equals(other Type) bool + func (DateType) String() string + func (DateType) Type() string + type DayTransform struct + func (DayTransform) Apply(value Optional[Literal]) (out Optional[Literal]) + func (DayTransform) Equals(other Transform) bool + func (DayTransform) ResultType(Type) Type + func (DayTransform) String() string + func (DayTransform) ToHumanStr(val any) string + func (DayTransform) Transformer(src Type) (func(any) Optional[int32], error) + func (t DayTransform) MarshalText() ([]byte, error) + func (t DayTransform) Project(name string, pred BoundPredicate) (UnboundPredicate, error) + type Decimal struct + Scale int + Val decimal128.Num + func (d Decimal) String() string + type DecimalLiteral Decimal + func (DecimalLiteral) Comparator() Comparator[Decimal] + func (d *DecimalLiteral) UnmarshalBinary(data []byte) error + func (d DecimalLiteral) Decrement() Literal + func (d DecimalLiteral) Equals(other Literal) bool + func (d DecimalLiteral) Increment() Literal + func (d DecimalLiteral) MarshalBinary() (data []byte, err error) + func (d DecimalLiteral) String() string + func (d DecimalLiteral) To(t Type) (Literal, error) + func (d DecimalLiteral) Type() Type + func (d DecimalLiteral) Value() Decimal + type DecimalType struct + func DecimalTypeOf(prec, scale int) DecimalType + func (d DecimalType) Equals(other Type) bool + func (d DecimalType) Precision() int + func (d DecimalType) Scale() int + func (d DecimalType) String() string + func (d DecimalType) Type() string + type FieldSummary struct + ContainsNaN *bool + ContainsNull bool + LowerBound *[]byte + UpperBound *[]byte + type FileFormat string + const AvroFile + const OrcFile + const ParquetFile + type FixedLiteral []byte + func (FixedLiteral) Comparator() Comparator[[]byte] + func (f *FixedLiteral) UnmarshalBinary(data []byte) error + func (f FixedLiteral) Equals(other Literal) bool + func (f FixedLiteral) MarshalBinary() (data []byte, err error) + func (f FixedLiteral) String() string + func (f FixedLiteral) To(typ Type) (Literal, error) + func (f FixedLiteral) Type() Type + func (f FixedLiteral) Value() []byte + type FixedType struct + func FixedTypeOf(n int) FixedType + func (f FixedType) Equals(other Type) bool + func (f FixedType) Len() int + func (f FixedType) String() string + func (f FixedType) Type() string + type Float32Literal float32 + func (Float32Literal) Comparator() Comparator[float32] + func (f *Float32Literal) UnmarshalBinary(data []byte) error + func (f Float32Literal) Equals(other Literal) bool + func (f Float32Literal) MarshalBinary() (data []byte, err error) + func (f Float32Literal) String() string + func (f Float32Literal) To(t Type) (Literal, error) + func (f Float32Literal) Type() Type + func (f Float32Literal) Value() float32 + type Float32Type struct + func (Float32Type) Equals(other Type) bool + func (Float32Type) String() string + func (Float32Type) Type() string + type Float64Literal float64 + func (Float64Literal) Comparator() Comparator[float64] + func (f *Float64Literal) UnmarshalBinary(data []byte) error + func (f Float64Literal) Equals(other Literal) bool + func (f Float64Literal) MarshalBinary() (data []byte, err error) + func (f Float64Literal) String() string + func (f Float64Literal) To(t Type) (Literal, error) + func (f Float64Literal) Type() Type + func (f Float64Literal) Value() float64 + type Float64Type struct + func (Float64Type) Equals(other Type) bool + func (Float64Type) String() string + func (Float64Type) Type() string + type HourTransform struct + func (HourTransform) Apply(value Optional[Literal]) (out Optional[Literal]) + func (HourTransform) Equals(other Transform) bool + func (HourTransform) ResultType(Type) Type + func (HourTransform) String() string + func (HourTransform) ToHumanStr(val any) string + func (HourTransform) Transformer(src Type) (func(any) Optional[int32], error) + func (t HourTransform) MarshalText() ([]byte, error) + func (t HourTransform) Project(name string, pred BoundPredicate) (UnboundPredicate, error) + type IdentityTransform struct + func (IdentityTransform) Apply(value Optional[Literal]) Optional[Literal] + func (IdentityTransform) Equals(other Transform) bool + func (IdentityTransform) ResultType(t Type) Type + func (IdentityTransform) String() string + func (IdentityTransform) ToHumanStr(val any) string + func (t IdentityTransform) MarshalText() ([]byte, error) + func (t IdentityTransform) Project(name string, pred BoundPredicate) (UnboundPredicate, error) + type Int32Literal int32 + func (Int32Literal) Comparator() Comparator[int32] + func (i *Int32Literal) UnmarshalBinary(data []byte) error + func (i Int32Literal) Decrement() Literal + func (i Int32Literal) Equals(other Literal) bool + func (i Int32Literal) Increment() Literal + func (i Int32Literal) MarshalBinary() (data []byte, err error) + func (i Int32Literal) String() string + func (i Int32Literal) To(t Type) (Literal, error) + func (i Int32Literal) Type() Type + func (i Int32Literal) Value() int32 + type Int32Type struct + func (Int32Type) Equals(other Type) bool + func (Int32Type) String() string + func (Int32Type) Type() string + type Int64Literal int64 + func (Int64Literal) Comparator() Comparator[int64] + func (i *Int64Literal) UnmarshalBinary(data []byte) error + func (i Int64Literal) Decrement() Literal + func (i Int64Literal) Equals(other Literal) bool + func (i Int64Literal) Increment() Literal + func (i Int64Literal) MarshalBinary() (data []byte, err error) + func (i Int64Literal) String() string + func (i Int64Literal) To(t Type) (Literal, error) + func (i Int64Literal) Type() Type + func (i Int64Literal) Value() int64 + type Int64Type struct + func (Int64Type) Equals(other Type) bool + func (Int64Type) String() string + func (Int64Type) Type() string + type ListType struct + Element Type + ElementID int + ElementRequired bool + func (*ListType) Type() string + func (l *ListType) ElementField() NestedField + func (l *ListType) Equals(other Type) bool + func (l *ListType) Fields() []NestedField + func (l *ListType) MarshalJSON() ([]byte, error) + func (l *ListType) String() string + func (l *ListType) UnmarshalJSON(b []byte) error + type Literal interface + Equals func(Literal) bool + To func(Type) (Literal, error) + Type func() Type + func Float32AboveMaxLiteral() Literal + func Float32BelowMinLiteral() Literal + func Float64AboveMaxLiteral() Literal + func Float64BelowMinLiteral() Literal + func Int32AboveMaxLiteral() Literal + func Int32BelowMinLiteral() Literal + func Int64AboveMaxLiteral() Literal + func Int64BelowMinLiteral() Literal + func LiteralFromBytes(typ Type, data []byte) (Literal, error) + func NewLiteral[T LiteralType](val T) Literal + type LiteralType interface + type ManifestContent int32 + const ManifestContentData + const ManifestContentDeletes + func (m ManifestContent) String() string + type ManifestEntry interface + DataFile func() DataFile + FileSequenceNum func() *int64 + SequenceNum func() int64 + SnapshotID func() int64 + Status func() ManifestEntryStatus + func NewManifestEntry(status ManifestEntryStatus, snapshotID int64, seqNum, fileSeqNum *int64, ...) ManifestEntry + type ManifestEntryContent int8 + const EntryContentData + const EntryContentEqDeletes + const EntryContentPosDeletes + func (m ManifestEntryContent) String() string + type ManifestEntryStatus int8 + const EntryStatusADDED + const EntryStatusDELETED + const EntryStatusEXISTING + type ManifestEntryV1Builder struct + func NewManifestEntryV1Builder(status ManifestEntryStatus, snapshotID int64, data DataFile) (*ManifestEntryV1Builder, error) + func (b *ManifestEntryV1Builder) Build() ManifestEntry + type ManifestEntryV2Builder struct + func NewManifestEntryV2Builder(status ManifestEntryStatus, snapshotID int64, data DataFile) *ManifestEntryV2Builder + func (b *ManifestEntryV2Builder) Build() ManifestEntry + func (b *ManifestEntryV2Builder) FileSequenceNum(num int64) *ManifestEntryV2Builder + func (b *ManifestEntryV2Builder) SequenceNum(num int64) *ManifestEntryV2Builder + type ManifestFile interface + AddedDataFiles func() int32 + AddedRows func() int64 + DeletedDataFiles func() int32 + DeletedRows func() int64 + ExistingDataFiles func() int32 + ExistingRows func() int64 + FetchEntries func(fs iceio.IO, discardDeleted bool) ([]ManifestEntry, error) + FilePath func() string + HasAddedFiles func() bool + HasExistingFiles func() bool + KeyMetadata func() []byte + Length func() int64 + ManifestContent func() ManifestContent + MinSequenceNum func() int64 + PartitionSpecID func() int32 + Partitions func() []FieldSummary + SequenceNum func() int64 + SnapshotID func() int64 + Version func() int + func ReadManifestList(in io.Reader) ([]ManifestFile, error) + func WriteManifest(filename string, out io.Writer, version int, spec PartitionSpec, ...) (ManifestFile, error) + type ManifestListWriter struct + func NewManifestListWriterV1(out io.Writer, snapshotID int64, parentSnapshot *int64) (*ManifestListWriter, error) + func NewManifestListWriterV2(out io.Writer, snapshotID, sequenceNumber int64, parentSnapshot *int64) (*ManifestListWriter, error) + func (m *ManifestListWriter) AddManifests(files []ManifestFile) error + func (m *ManifestListWriter) Close() error + type ManifestV1Builder struct + func NewManifestV1Builder(path string, length int64, partitionSpecID int32, addedSnapshotID int64) *ManifestV1Builder + func (b *ManifestV1Builder) AddedFiles(cnt int32) *ManifestV1Builder + func (b *ManifestV1Builder) AddedRows(cnt int64) *ManifestV1Builder + func (b *ManifestV1Builder) Build() ManifestFile + func (b *ManifestV1Builder) DeletedFiles(cnt int32) *ManifestV1Builder + func (b *ManifestV1Builder) DeletedRows(cnt int64) *ManifestV1Builder + func (b *ManifestV1Builder) ExistingFiles(cnt int32) *ManifestV1Builder + func (b *ManifestV1Builder) ExistingRows(cnt int64) *ManifestV1Builder + func (b *ManifestV1Builder) KeyMetadata(km []byte) *ManifestV1Builder + func (b *ManifestV1Builder) Partitions(p []FieldSummary) *ManifestV1Builder + type ManifestV2Builder struct + func NewManifestV2Builder(path string, length int64, partitionSpecID int32, content ManifestContent, ...) *ManifestV2Builder + func (b *ManifestV2Builder) AddedFiles(cnt int32) *ManifestV2Builder + func (b *ManifestV2Builder) AddedRows(cnt int64) *ManifestV2Builder + func (b *ManifestV2Builder) Build() ManifestFile + func (b *ManifestV2Builder) DeletedFiles(cnt int32) *ManifestV2Builder + func (b *ManifestV2Builder) DeletedRows(cnt int64) *ManifestV2Builder + func (b *ManifestV2Builder) ExistingFiles(cnt int32) *ManifestV2Builder + func (b *ManifestV2Builder) ExistingRows(cnt int64) *ManifestV2Builder + func (b *ManifestV2Builder) KeyMetadata(km []byte) *ManifestV2Builder + func (b *ManifestV2Builder) Partitions(p []FieldSummary) *ManifestV2Builder + func (b *ManifestV2Builder) SequenceNum(num, minSeqNum int64) *ManifestV2Builder + type ManifestWriter struct + func NewManifestWriter(version int, out io.Writer, spec PartitionSpec, schema *Schema, ...) (*ManifestWriter, error) + func (w *ManifestWriter) Add(entry ManifestEntry) error + func (w *ManifestWriter) Close() error + func (w *ManifestWriter) Delete(entry ManifestEntry) error + func (w *ManifestWriter) Existing(entry ManifestEntry) error + func (w *ManifestWriter) ToManifestFile(location string, length int64) (ManifestFile, error) + type MapType struct + KeyID int + KeyType Type + ValueID int + ValueRequired bool + ValueType Type + func (*MapType) Type() string + func (m *MapType) Equals(other Type) bool + func (m *MapType) Fields() []NestedField + func (m *MapType) KeyField() NestedField + func (m *MapType) MarshalJSON() ([]byte, error) + func (m *MapType) String() string + func (m *MapType) UnmarshalJSON(b []byte) error + func (m *MapType) ValueField() NestedField + type MonthTransform struct + func (MonthTransform) Apply(value Optional[Literal]) (out Optional[Literal]) + func (MonthTransform) Equals(other Transform) bool + func (MonthTransform) ResultType(Type) Type + func (MonthTransform) String() string + func (MonthTransform) Transformer(src Type) (func(any) Optional[int32], error) + func (t MonthTransform) MarshalText() ([]byte, error) + func (t MonthTransform) Project(name string, pred BoundPredicate) (UnboundPredicate, error) + func (t MonthTransform) ToHumanStr(val any) string + type NestedField struct + Doc string + ID int + InitialDefault any + Name string + Required bool + WriteDefault any + func (n *NestedField) Equals(other NestedField) bool + func (n *NestedField) UnmarshalJSON(b []byte) error + func (n NestedField) MarshalJSON() ([]byte, error) + func (n NestedField) String() string + type NestedType interface + Fields func() []NestedField + type NotExpr struct + func (NotExpr) Op() Operation + func (n NotExpr) Equals(other BooleanExpression) bool + func (n NotExpr) Negate() BooleanExpression + func (n NotExpr) String() string + type NumericLiteral interface + Decrement func() Literal + Increment func() Literal + type Operation int + const OpAnd + const OpEQ + const OpFalse + const OpGT + const OpGTEQ + const OpIn + const OpIsNan + const OpIsNull + const OpLT + const OpLTEQ + const OpNEQ + const OpNot + const OpNotIn + const OpNotNan + const OpNotNull + const OpNotStartsWith + const OpOr + const OpStartsWith + const OpTrue + func (i Operation) String() string + func (op Operation) FlipLR() Operation + func (op Operation) Negate() Operation + type Optional struct + Val T + Valid bool + type OrExpr struct + func (OrExpr) Op() Operation + func (o OrExpr) Equals(other BooleanExpression) bool + func (o OrExpr) Negate() BooleanExpression + func (o OrExpr) String() string + type PartitionField struct + FieldID int + Name string + SourceID int + Transform Transform + func (p *PartitionField) String() string + func (p *PartitionField) UnmarshalJSON(b []byte) error + type PartitionSpec struct + func AssignFreshPartitionSpecIDs(spec *PartitionSpec, old, fresh *Schema) (PartitionSpec, error) + func NewPartitionSpec(fields ...PartitionField) PartitionSpec + func NewPartitionSpecID(id int, fields ...PartitionField) PartitionSpec + func (ps *PartitionSpec) CompatibleWith(other *PartitionSpec) bool + func (ps *PartitionSpec) Field(i int) PartitionField + func (ps *PartitionSpec) Fields() iter.Seq[PartitionField] + func (ps *PartitionSpec) FieldsBySourceID(fieldID int) []PartitionField + func (ps *PartitionSpec) ID() int + func (ps *PartitionSpec) IsUnpartitioned() bool + func (ps *PartitionSpec) LastAssignedFieldID() int + func (ps *PartitionSpec) NumFields() int + func (ps *PartitionSpec) PartitionToPath(data structLike, sc *Schema) string + func (ps *PartitionSpec) PartitionType(schema *Schema) *StructType + func (ps *PartitionSpec) UnmarshalJSON(b []byte) error + func (ps PartitionSpec) Equals(other PartitionSpec) bool + func (ps PartitionSpec) MarshalJSON() ([]byte, error) + func (ps PartitionSpec) String() string + type PartnerAccessor interface + FieldPartner func(partnerStruct P, fieldID int, fieldName string) P + ListElementPartner func(P) P + MapKeyPartner func(P) P + MapValuePartner func(P) P + SchemaPartner func(P) P + type PreOrderSchemaVisitor interface + Field func(NestedField, func() T) T + List func(ListType, func() T) T + Map func(MapType, func() T, func() T) T + Primitive func(PrimitiveType) T + Schema func(*Schema, func() T) T + Struct func(StructType, []func() T) T + type PrimitiveType interface + type Properties map[string]string + func (p Properties) Get(key, defVal string) string + func (p Properties) GetBool(key string, defVal bool) bool + func (p Properties) GetInt(key string, defVal int) int + type Reference string + func (r Reference) Bind(s *Schema, caseSensitive bool) (BoundTerm, error) + func (r Reference) Equals(other UnboundTerm) bool + func (r Reference) String() string + type Schema struct + ID int + IdentifierFieldIDs []int + func AssignFreshSchemaIDs(sc *Schema, nextID func() int) (*Schema, error) + func NewSchema(id int, fields ...NestedField) *Schema + func NewSchemaWithIdentifiers(id int, identifierIDs []int, fields ...NestedField) *Schema + func PruneColumns(schema *Schema, selected map[int]Void, selectFullTypes bool) (*Schema, error) + func (s *Schema) AsStruct() StructType + func (s *Schema) Equals(other *Schema) bool + func (s *Schema) Field(i int) NestedField + func (s *Schema) FieldHasOptionalParent(id int) bool + func (s *Schema) FieldIDs() []int + func (s *Schema) Fields() []NestedField + func (s *Schema) FindColumnName(fieldID int) (string, bool) + func (s *Schema) FindFieldByID(id int) (NestedField, bool) + func (s *Schema) FindFieldByName(name string) (NestedField, bool) + func (s *Schema) FindFieldByNameCaseInsensitive(name string) (NestedField, bool) + func (s *Schema) FindTypeByID(id int) (Type, bool) + func (s *Schema) FindTypeByName(name string) (Type, bool) + func (s *Schema) FindTypeByNameCaseInsensitive(name string) (Type, bool) + func (s *Schema) HighestFieldID() int + func (s *Schema) MarshalJSON() ([]byte, error) + func (s *Schema) NumFields() int + func (s *Schema) Select(caseSensitive bool, names ...string) (*Schema, error) + func (s *Schema) String() string + func (s *Schema) Type() string + func (s *Schema) UnmarshalJSON(b []byte) error + type SchemaVisitor interface + Field func(field NestedField, fieldResult T) T + List func(list ListType, elemResult T) T + Map func(mapType MapType, keyResult, valueResult T) T + Primitive func(p PrimitiveType) T + Schema func(schema *Schema, structResult T) T + Struct func(st StructType, fieldResults []T) T + type SchemaVisitorPerPrimitiveType interface + VisitBinary func() T + VisitBoolean func() T + VisitDate func() T + VisitDecimal func(DecimalType) T + VisitFixed func(FixedType) T + VisitFloat32 func() T + VisitFloat64 func() T + VisitInt32 func() T + VisitInt64 func() T + VisitString func() T + VisitTime func() T + VisitTimestamp func() T + VisitTimestampTz func() T + VisitUUID func() T + type SchemaWithPartnerVisitor interface + Field func(field NestedField, fieldPartner P, fieldResult T) T + List func(l ListType, listPartner P, elemResult T) T + Map func(m MapType, mapPartner P, keyResult, valResult T) T + Primitive func(p PrimitiveType, primitivePartner P) T + Schema func(sc *Schema, schemaPartner P, structResult T) T + Struct func(st StructType, structPartner P, fieldResults []T) T + type Set interface + Add func(...E) + All func(func(E) bool) bool + Contains func(E) bool + Equals func(Set[E]) bool + Len func() int + Members func() []E + type StringLiteral string + func (StringLiteral) Comparator() Comparator[string] + func (s *StringLiteral) UnmarshalBinary(data []byte) error + func (s StringLiteral) Equals(other Literal) bool + func (s StringLiteral) MarshalBinary() (data []byte, err error) + func (s StringLiteral) String() string + func (s StringLiteral) To(typ Type) (Literal, error) + func (s StringLiteral) Type() Type + func (s StringLiteral) Value() string + type StringType struct + func (StringType) Equals(other Type) bool + func (StringType) String() string + func (StringType) Type() string + type StructType struct + FieldList []NestedField + func (*StructType) Type() string + func (s *StructType) Equals(other Type) bool + func (s *StructType) Fields() []NestedField + func (s *StructType) MarshalJSON() ([]byte, error) + func (s *StructType) String() string + type Term interface + type Time int64 + func (t Time) ToTime() time.Time + type TimeLiteral Time + func (TimeLiteral) Comparator() Comparator[Time] + func (t *TimeLiteral) UnmarshalBinary(data []byte) error + func (t TimeLiteral) Equals(other Literal) bool + func (t TimeLiteral) MarshalBinary() (data []byte, err error) + func (t TimeLiteral) String() string + func (t TimeLiteral) To(typ Type) (Literal, error) + func (t TimeLiteral) Type() Type + func (t TimeLiteral) Value() Time + type TimeType struct + func (TimeType) Equals(other Type) bool + func (TimeType) String() string + func (TimeType) Type() string + type Timestamp int64 + func (t Timestamp) ToDate() Date + func (t Timestamp) ToTime() time.Time + type TimestampLiteral Timestamp + func (TimestampLiteral) Comparator() Comparator[Timestamp] + func (t *TimestampLiteral) UnmarshalBinary(data []byte) error + func (t TimestampLiteral) Decrement() Literal + func (t TimestampLiteral) Equals(other Literal) bool + func (t TimestampLiteral) Increment() Literal + func (t TimestampLiteral) MarshalBinary() (data []byte, err error) + func (t TimestampLiteral) String() string + func (t TimestampLiteral) To(typ Type) (Literal, error) + func (t TimestampLiteral) Type() Type + func (t TimestampLiteral) Value() Timestamp + type TimestampType struct + func (TimestampType) Equals(other Type) bool + func (TimestampType) String() string + func (TimestampType) Type() string + type TimestampTzType struct + func (TimestampTzType) Equals(other Type) bool + func (TimestampTzType) String() string + func (TimestampTzType) Type() string + type Transform interface + Apply func(Optional[Literal]) Optional[Literal] + Equals func(Transform) bool + Project func(name string, pred BoundPredicate) (UnboundPredicate, error) + ResultType func(t Type) Type + ToHumanStr func(any) string + func ParseTransform(s string) (Transform, error) + type TruncateTransform struct + Width int + func (TruncateTransform) ResultType(t Type) Type + func (TruncateTransform) ToHumanStr(val any) string + func (t TruncateTransform) Apply(value Optional[Literal]) (out Optional[Literal]) + func (t TruncateTransform) Equals(other Transform) bool + func (t TruncateTransform) MarshalText() ([]byte, error) + func (t TruncateTransform) Project(name string, pred BoundPredicate) (UnboundPredicate, error) + func (t TruncateTransform) String() string + func (t TruncateTransform) Transformer(src Type) (func(any) any, error) + type Type interface + Equals func(Type) bool + Type func() string + func PromoteType(fileType, readType Type) (Type, error) + type TypedLiteral interface + Comparator func() Comparator[T] + Value func() T + type UUIDLiteral uuid.UUID + func (UUIDLiteral) Comparator() Comparator[uuid.UUID] + func (UUIDLiteral) Type() Type + func (u *UUIDLiteral) UnmarshalBinary(data []byte) error + func (u UUIDLiteral) Equals(other Literal) bool + func (u UUIDLiteral) MarshalBinary() (data []byte, err error) + func (u UUIDLiteral) String() string + func (u UUIDLiteral) To(typ Type) (Literal, error) + func (u UUIDLiteral) Value() uuid.UUID + type UUIDType struct + func (UUIDType) Equals(other Type) bool + func (UUIDType) String() string + func (UUIDType) Type() string + type UnboundPredicate interface + Term func() UnboundTerm + func EqualTo[T LiteralType](t UnboundTerm, v T) UnboundPredicate + func GreaterThanEqual[T LiteralType](t UnboundTerm, v T) UnboundPredicate + func GreaterThan[T LiteralType](t UnboundTerm, v T) UnboundPredicate + func IsNaN(t UnboundTerm) UnboundPredicate + func IsNull(t UnboundTerm) UnboundPredicate + func LessThanEqual[T LiteralType](t UnboundTerm, v T) UnboundPredicate + func LessThan[T LiteralType](t UnboundTerm, v T) UnboundPredicate + func LiteralPredicate(op Operation, t UnboundTerm, lit Literal) UnboundPredicate + func NotEqualTo[T LiteralType](t UnboundTerm, v T) UnboundPredicate + func NotNaN(t UnboundTerm) UnboundPredicate + func NotNull(t UnboundTerm) UnboundPredicate + func NotStartsWith(t UnboundTerm, v string) UnboundPredicate + func StartsWith(t UnboundTerm, v string) UnboundPredicate + func UnaryPredicate(op Operation, t UnboundTerm) UnboundPredicate + type UnboundTerm interface + Bind func(schema *Schema, caseSensitive bool) (BoundTerm, error) + Equals func(UnboundTerm) bool + type Void = struct + type VoidTransform struct + func (VoidTransform) Apply(value Optional[Literal]) Optional[Literal] + func (VoidTransform) Equals(other Transform) bool + func (VoidTransform) Project(string, BoundPredicate) (UnboundPredicate, error) + func (VoidTransform) ResultType(t Type) Type + func (VoidTransform) String() string + func (VoidTransform) ToHumanStr(any) string + func (t VoidTransform) MarshalText() ([]byte, error) + type YearTransform struct + func (YearTransform) Apply(value Optional[Literal]) (out Optional[Literal]) + func (YearTransform) Equals(other Transform) bool + func (YearTransform) ResultType(Type) Type + func (YearTransform) String() string + func (YearTransform) ToHumanStr(val any) string + func (YearTransform) Transformer(src Type) (func(any) Optional[int32], error) + func (t YearTransform) MarshalText() ([]byte, error) + func (t YearTransform) Project(name string, pred BoundPredicate) (UnboundPredicate, error)