columnlayout

package
v0.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Capabilities

type Capabilities struct {
	Descriptor Descriptor
	Layout     LayoutProperties
	DirectView DirectViewCapability
	Reducers   ReducerCapabilities
	Stats      StatsCapabilities
	Pruning    PruningCapabilities
	Wrappers   WrapperCapabilities
	Validation ValidationContract
}

func CapabilitiesFor

func CapabilitiesFor(desc Descriptor) Capabilities

func (Capabilities) Supports

func (c Capabilities) Supports(op Operation) Capability

func (Capabilities) SupportsSemanticOperation

func (c Capabilities) SupportsSemanticOperation(op columnsemantics.Operation) Capability

func (Capabilities) ValidateGranule

func (c Capabilities) ValidateGranule(g typedcolumn.EncodedGranule) error

func (Capabilities) ValidateGranulePayload

func (c Capabilities) ValidateGranulePayload(g typedcolumn.EncodedGranule, payload []byte) error

type Capability

type Capability struct {
	Operation Operation
	Status    columnsemantics.Status
	Reason    ReasonCode
	Message   string
}

func Fallback

func Fallback(op Operation, reason ReasonCode, msg string) Capability

func Supported

func Supported(op Operation) Capability

func Unsupported

func Unsupported(op Operation, reason ReasonCode, msg string) Capability

func (Capability) Error

func (c Capability) Error() string

func (Capability) Supported

func (c Capability) Supported() bool

type Descriptor

type Descriptor struct {
	Logical             columnsemantics.LogicalType
	Physical            typedcolumn.ColumnType
	Encoding            typedcolumn.Encoding
	Compression         typedcolumn.Compression
	Nullable            bool
	Defaultable         bool
	Dictionary          bool
	DictionaryOrder     bool
	DictionaryCollation string
	FixedWidthElements  int
	BitsPerElement      int
	BytesPerRow         int
	LogicalBitsPerRow   int
}

Descriptor is the layout/codec key. It deliberately includes both logical and physical identity plus encoding and compression; encoding alone is not enough to decide semantic validity or hot-path safety.

type DirectViewCapability

type DirectViewCapability struct {
	Eligible             bool
	Reason               ReasonCode
	Endian               Endian
	WidthBytes           int
	AlignmentBytes       int
	RequiresUncompressed bool
	RequiresRowCount     bool
	RequiresNoNulls      bool
	RequiresNoDefaults   bool
	Lifetime             string
	ValidationBoundary   string
}

type Endian

type Endian string
const (
	EndianNone         Endian = ""
	EndianLittle       Endian = "little"
	EndianCodecDefined Endian = "codec_defined"
)

type LayoutKind

type LayoutKind string
const (
	LayoutVariableWidth LayoutKind = "variable_width"
	LayoutFixedWidth    LayoutKind = "fixed_width"
	LayoutWrapper       LayoutKind = "wrapper"
)

type LayoutProperties

type LayoutProperties struct {
	Kind                LayoutKind
	FixedWidth          bool
	VariableWidth       bool
	ElementWidthBytes   int
	ElementsPerRow      int
	BytesPerRow         int
	BitsPerElement      int
	LogicalBitsPerRow   int
	Endian              Endian
	AlignmentBytes      int
	LengthMultipleBytes int
}

type Operation

type Operation string

Operation identifies physical layout/codec capabilities. Semantic capability remains owned by columnsemantics; this package answers whether the selected typed-column layout can safely provide a concrete physical fast path for that semantic operation. Callers resolve these once at prepare/read boundaries, not in row hot loops.

const (
	OpDirectView             Operation = "direct.view"
	OpInt64NumericReducer    Operation = "reducer.int64_numeric"
	OpInt64RangePredicate    Operation = "predicate.int64_range"
	OpMinMaxPruning          Operation = "pruning.min_max"
	OpValueRowPruning        Operation = "pruning.value_rows"
	OpMinMaxStats            Operation = "stats.min_max"
	OpSumStats               Operation = "stats.sum"
	OpLexicalRangePredicate  Operation = "predicate.lexical_range"
	OpDictionaryCodeLookup   Operation = "predicate.dictionary_code_lookup"
	OpDictionaryReducer      Operation = "aggregate.dictionary_reducer"
	OpScalarNumericAggregate Operation = "aggregate.scalar_numeric"
	OpVectorDirectView       Operation = "direct.vector_payload"
	OpUint32ListDirectView   Operation = "direct.uint32_list_payload"
	OpBytesDirectView        Operation = "direct.bytes_payload"
	OpAdjacencyDirectView    Operation = "direct.adjacency_payload"
	OpVectorSimilarity       Operation = "predicate.vector_similarity"
	OpVectorMetricReducer    Operation = "aggregate.vector_metrics"
	OpAdjacencyTraversal     Operation = "graph.adjacency_traversal"
	OpAdjacencyMetricReducer Operation = "aggregate.adjacency_metrics"
)

type PruningCapabilities

type PruningCapabilities struct {
	OrderedMinMax     bool
	ValueRows         bool
	DictionaryCodes   bool
	LexicalDictionary bool
	VectorIndex       bool
	AdjacencyIndex    bool
}

type ReasonCode

type ReasonCode string

ReasonCode is a stable layout diagnostic token. Add new values instead of changing existing strings; tests and planner diagnostics may key on them.

const (
	ReasonSupported                              ReasonCode = "supported"
	ReasonUnknownLogicalType                     ReasonCode = "layout_unknown_logical_type"
	ReasonUnsupportedPhysicalType                ReasonCode = "layout_unsupported_physical_type"
	ReasonUnsupportedEncoding                    ReasonCode = "layout_unsupported_encoding"
	ReasonUnsupportedCompression                 ReasonCode = "layout_unsupported_compression"
	ReasonLogicalPhysicalMismatch                ReasonCode = "layout_logical_physical_mismatch"
	ReasonEncodingPhysicalMismatch               ReasonCode = "layout_encoding_physical_mismatch"
	ReasonVariableWidthNoDirectView              ReasonCode = "layout_variable_width_no_direct_view"
	ReasonCompressedDirectView                   ReasonCode = "layout_compressed_direct_view"
	ReasonLengthMultipleMismatch                 ReasonCode = "layout_length_multiple_mismatch"
	ReasonRawLengthRowCountMismatch              ReasonCode = "layout_raw_length_row_count_mismatch"
	ReasonNullDefaultWrapperRequired             ReasonCode = "layout_null_default_wrapper_required"
	ReasonDictionaryOrderUnproven                ReasonCode = "layout_dictionary_order_unproven"
	ReasonDictionaryCollationUnproven            ReasonCode = "layout_dictionary_collation_unproven"
	ReasonFloatBitPatternNotNumeric              ReasonCode = "layout_float_bit_pattern_not_numeric"
	ReasonVectorScalarUnsupported                ReasonCode = "layout_vector_scalar_unsupported"
	ReasonUint32ListScalarUnsupported            ReasonCode = "layout_uint32_list_scalar_unsupported"
	ReasonBytesScalarUnsupported                 ReasonCode = "layout_bytes_scalar_unsupported"
	ReasonFixedBytesGeometryMismatch             ReasonCode = "layout_fixed_bytes_geometry_mismatch"
	ReasonPackedUintScalarUnsupported            ReasonCode = "layout_packed_uint_scalar_unsupported"
	ReasonPackedUintBitsMismatch                 ReasonCode = "layout_packed_uint_bits_mismatch"
	ReasonAdjacencyScalarUnsupported             ReasonCode = "layout_adjacency_scalar_unsupported"
	ReasonAdjacencyDirectViewDeferred            ReasonCode = "layout_adjacency_direct_view_deferred"
	ReasonAdjacencyOffsetsListDirectViewDeferred ReasonCode = "layout_adjacency_offsets_list_direct_view_deferred"
	ReasonAdjacencyOffsetsListRuntimeDeferred    ReasonCode = "layout_adjacency_offsets_list_runtime_deferred"
	ReasonStatsPayloadUnsupported                ReasonCode = "layout_stats_payload_unsupported"
	ReasonPruningPayloadUnsupported              ReasonCode = "layout_pruning_payload_unsupported"
	ReasonFixedWidthElementsRequired             ReasonCode = "layout_fixed_width_elements_required"
	ReasonOperationUnsupported                   ReasonCode = "layout_operation_unsupported"
)

type ReducerCapabilities

type ReducerCapabilities struct {
	Int64Streaming        bool
	Int64FixedWidthRaw    bool
	Int64NumericAggregate bool
	BoolCounts            bool
	DictionaryCodes       bool
	VectorMetrics         bool
	AdjacencyMetrics      bool
}

type StatsCapabilities

type StatsCapabilities struct {
	MinMax      bool
	Sum         bool
	BoolCounts  bool
	Dictionary  bool
	VectorStats bool
}

type ValidationContract

type ValidationContract struct {
	Boundary            string
	ChecksumRequired    bool
	ValidateRowCount    bool
	ValidateLength      bool
	ValidateCompression bool
	ValidateEndian      bool
	ValidateNullDefault bool
}

type WrapperCapabilities

type WrapperCapabilities struct {
	Nullable               bool
	Defaultable            bool
	RequiresNullMask       bool
	RequiresDefaultMask    bool
	CarrierValueSemantics  bool
	CarrierAggregateUnsafe bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL