package parts

Import Path
	github.com/polarsignals/frostdb/parts (on go.dev)

Dependency Relation
	imports 9 packages, and imported by 2 packages

Involved Source Files arrow.go parquet.go part.go
Package-Level Type Names (total 3)
/* sort by: | */
func WithCompactionLevel(level int) Option func WithRelease(release func()) Option func NewArrowPart(tx uint64, record arrow.Record, size uint64, schema *dynparquet.Schema, options ...Option) Part func NewParquetPart(tx uint64, buf *dynparquet.SerializedBuffer, options ...Option) Part func github.com/polarsignals/frostdb/index.(*FileCompaction).Compact(compact []Part, options ...Option) ([]Part, int64, int64, error) func github.com/polarsignals/frostdb/index.Level.Compact(parts []Part, options ...Option) ([]Part, int64, int64, error)
( Part) AsSerializedBuffer(schema *dynparquet.Schema) (*dynparquet.SerializedBuffer, error) ( Part) CompactionLevel() int ( Part) Least() (*dynparquet.DynamicRow, error) ( Part) Most() (*dynparquet.DynamicRow, error) ( Part) NumRows() int64 ( Part) OverlapsWith(schema *dynparquet.Schema, otherPart Part) (bool, error) Record returns the Arrow record for the part. If the part is not an Arrow record part, nil is returned. ( Part) Release() ( Part) Retain() ( Part) SerializeBuffer(schema *dynparquet.Schema, w dynparquet.ParquetWriter) error ( Part) Size() int64 ( Part) TX() uint64 ( Part) Write(io.Writer) error Part : github.com/apache/arrow-go/v18/arrow/scalar.Releasable func FindMaximumNonOverlappingSet(schema *dynparquet.Schema, parts []Part) ([]Part, []Part, error) func FindMaximumNonOverlappingSet(schema *dynparquet.Schema, parts []Part) ([]Part, []Part, error) func NewArrowPart(tx uint64, record arrow.Record, size uint64, schema *dynparquet.Schema, options ...Option) Part func NewParquetPart(tx uint64, buf *dynparquet.SerializedBuffer, options ...Option) Part func github.com/polarsignals/frostdb/index.(*FileCompaction).Compact(compact []Part, options ...Option) ([]Part, int64, int64, error) func github.com/polarsignals/frostdb/index.Level.Compact(parts []Part, options ...Option) ([]Part, int64, int64, error) func github.com/polarsignals/frostdb/index.(*Node).Part() Part func FindMaximumNonOverlappingSet(schema *dynparquet.Schema, parts []Part) ([]Part, []Part, error) func NewPartSorter(schema *dynparquet.Schema, parts []Part) *PartSorter func Part.OverlapsWith(schema *dynparquet.Schema, otherPart Part) (bool, error) func github.com/polarsignals/frostdb/index.(*FileCompaction).Compact(compact []Part, options ...Option) ([]Part, int64, int64, error) func github.com/polarsignals/frostdb/index.(*FileCompaction).Snapshot(_ []Part, _ func(Part) error, dir string) error func github.com/polarsignals/frostdb/index.Level.Compact(parts []Part, options ...Option) ([]Part, int64, int64, error) func github.com/polarsignals/frostdb/index.Level.Snapshot(parts []Part, writer func(Part) error, dir string) error func github.com/polarsignals/frostdb/index.(*LSM).InsertPart(part Part) func github.com/polarsignals/frostdb/index.(*Node).Insert(part Part) func github.com/polarsignals/frostdb/index.(*Node).Prepend(part Part) *index.Node
(*PartSorter) Err() error (*PartSorter) Len() int (*PartSorter) Less(i, j int) bool (*PartSorter) Swap(i, j int) *PartSorter : sort.Interface func NewPartSorter(schema *dynparquet.Schema, parts []Part) *PartSorter
Package-Level Functions (total 6)
FindMaximumNonOverlappingSet removes the minimum number of parts from the given slice in order to return the maximum non-overlapping set of parts. The function returns the non-overlapping parts first and any overlapping parts second. The parts returned are in sorted order according to their Least row.
NewArrowPart returns a new Arrow part.
func NewPartSorter(schema *dynparquet.Schema, parts []Part) *PartSorter
func WithRelease(release func()) Option