query

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package query provides the query common interfaces and utilities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddWindow added in v0.11.1

func AddWindow(limit, offset uint32) (uint64, bool)

AddWindow adds a result limit and offset without uint32 overflow.

func Charge added in v0.11.1

func Charge(ctx context.Context, bytes uint64) error

Charge accounts bytes against the active query lease before an allocation. Calls outside admitted query contexts are intentionally no-ops.

func ChargeResponse added in v0.11.1

func ChargeResponse(ctx context.Context, response any) error

ChargeResponse reserves estimated encoding and transport-copy space before a protobuf response is serialized. Non-protobuf replies have no payload charge.

func ChargeResult added in v0.11.1

func ChargeResult(ctx context.Context, bytes uint64) error

ChargeResult accounts one retained result and its bytes before allocation. Leases without result accounting retain byte-only charging; unadmitted calls are no-ops.

func IsUnboundedLimit added in v0.11.1

func IsUnboundedLimit(limit, offset uint32) bool

IsUnboundedLimit reports historical list-all / max-limit sentinels with no offset. OAP uses Integer.MAX_VALUE (MaxInt32); some fixtures use MaxUint32. Callers should admit these as scans and bound retained results incrementally instead of pre-reserving the window.

func RegisterTransportRelease added in v0.11.1

func RegisterTransportRelease(ctx context.Context, release func()) func()

RegisterTransportRelease registers release with the transport scope in ctx. If no scope is present, release is returned unchanged. When a scope exists, the returned function is safe to defer but the scope owns the actual release.

func WithBudgetLease added in v0.11.1

func WithBudgetLease(ctx context.Context, lease BudgetLease) context.Context

WithBudgetLease attaches a lease to a query context.

Types

type BudgetLease added in v0.11.1

type BudgetLease interface {
	Charge(uint64) error
	Limit() uint64
	Used() uint64
	Owner() any
}

BudgetLease is a query-owned byte reservation that can charge subsequent allocations before they occur.

func BudgetLeaseFromContext added in v0.11.1

func BudgetLeaseFromContext(ctx context.Context) (BudgetLease, bool)

BudgetLeaseFromContext returns the lease attached to ctx, if any.

type Span

type Span struct {
	// contains filtered or unexported fields
}

Span is a span of the tracer.

func (*Span) AddSubTrace

func (s *Span) AddSubTrace(trace *commonv1.Trace)

AddSubTrace adds a sub trace to the span.

func (*Span) Error

func (s *Span) Error(err error) *Span

Error marks the span as an error span.

func (*Span) Stop

func (s *Span) Stop()

Stop stops the span.

func (*Span) Tag

func (s *Span) Tag(key, value string) *Span

Tag adds a tag to the span.

func (*Span) Tagf

func (s *Span) Tagf(key, format string, args ...any) *Span

Tagf adds a formatted tag to the span.

type Tracer

type Tracer struct {
	// contains filtered or unexported fields
}

Tracer is a simple tracer for query. Thread-safety: StartSpan and span mutations are thread-safe and can be called concurrently from multiple goroutines. ToProto() is safe to call concurrently with span operations - it will wait for any async operations to complete.

func GetTracer

func GetTracer(ctx context.Context) *Tracer

GetTracer returns the tracer from the context.

func NewTracer

func NewTracer(ctx context.Context, id string) (*Tracer, context.Context)

NewTracer creates a new tracer.

func (*Tracer) DeepCopy added in v0.9.0

func (t *Tracer) DeepCopy() *commonv1.Trace

DeepCopy creates a deep copy of the trace. This method is thread-safe and can be called concurrently with span operations. It captures a consistent snapshot of the trace tree by locking the tracer and each span as needed.

func (*Tracer) StartSpan

func (t *Tracer) StartSpan(ctx context.Context, format string, args ...interface{}) (*Span, context.Context)

StartSpan starts a new span.

func (*Tracer) ToProto

func (t *Tracer) ToProto() *commonv1.Trace

ToProto returns the proto representation of the tracer.

type TransportScope added in v0.11.1

type TransportScope struct {
	// contains filtered or unexported fields
}

TransportScope retains query reservations until a transport has finished serializing and sending its response.

func NewTransportScope added in v0.11.1

func NewTransportScope(ctx context.Context) (context.Context, *TransportScope)

NewTransportScope returns a context carrying a scope and the scope itself.

func TransportScopeFromContext added in v0.11.1

func TransportScopeFromContext(ctx context.Context) (*TransportScope, bool)

TransportScopeFromContext returns the transport scope attached to ctx.

func (*TransportScope) Close added in v0.11.1

func (scope *TransportScope) Close()

Close releases all reservations registered with the scope exactly once.

Directories

Path Synopsis
Package aggregation implements aggregation functions to statistic a range of values.
Package aggregation implements aggregation functions to statistic a range of values.
Package executor defines the specifications accessing underlying data repositories.
Package executor defines the specifications accessing underlying data repositories.
Package logical implements the executable operations.
Package logical implements the executable operations.
measure
Package measure implements execution operations for querying measure data.
Package measure implements execution operations for querying measure data.
stream
Package stream implements execution operations for querying stream data.
Package stream implements execution operations for querying stream data.
trace
Package trace implements execution operations for querying trace data.
Package trace implements execution operations for querying trace data.
Package model defines the structures and interfaces for query options and results.
Package model defines the structures and interfaces for query options and results.
Package tracelabels defines stable query trace tag keys.
Package tracelabels defines stable query trace tag keys.
Package vectorized provides RecordBatch-based columnar execution primitives: schema, columns, operator interfaces, pipeline composition, and memory tracking.
Package vectorized provides RecordBatch-based columnar execution primitives: schema, columns, operator interfaces, pipeline composition, and memory tracking.
frame
Package frame defines the shared, engine-agnostic non-proto columnar binary frame carried as the SendResponse.body for a vec-native query topic.
Package frame defines the shared, engine-agnostic non-proto columnar binary frame carried as the SendResponse.body for a vec-native query topic.
measure
Package measure implements measure-specific vectorized operators (scan, cursor, extract, limit, group-by, aggregation, top, output serialization).
Package measure implements measure-specific vectorized operators (scan, cursor, extract, limit, group-by, aggregation, top, output serialization).
measure/frame
Package frame binds the shared vec columnar frame codec (pkg/query/vectorized/frame) to the measure engine.
Package frame binds the shared vec columnar frame codec (pkg/query/vectorized/frame) to the measure engine.
measure/plan
Package plan is the vectorized measure-query plan tree (G8).
Package plan is the vectorized measure-query plan tree (G8).
stream
Package stream implements stream-specific vectorized query operators: the pull pipeline that scans elements into columnar batches and merges them in index or timestamp order at egress.
Package stream implements stream-specific vectorized query operators: the pull pipeline that scans elements into columnar batches and merges them in index or timestamp order at egress.
stream/frame
Package frame binds the shared vec columnar frame codec (pkg/query/vectorized/frame) to the stream engine.
Package frame binds the shared vec columnar frame codec (pkg/query/vectorized/frame) to the stream engine.
trace
Package trace implements trace-specific vectorized query operators: the two-phase pull pipeline that resolves trace IDs (Phase 1) and materializes spans grouped per trace (Phase 2).
Package trace implements trace-specific vectorized query operators: the two-phase pull pipeline that resolves trace IDs (Phase 1) and materializes spans grouped per trace (Phase 2).

Jump to

Keyboard shortcuts

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