inmem

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 27, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package inmem is the default P04 implementation of plan.Backend. Every supported node kind is dispatched to a per-op helper that operates over the columnar *table.Table directly — no Pulse facade calls. The aggregate alias map (compile/aggregates.go) is the single source of truth for op naming.

Pulse v0.8.4 exposes a request-based facade (pulse.Process); it has no public in-memory cohort constructor, so feeding intermediate tables back into Pulse is not possible in v1. In-memory execution here produces values byte-equal to what pulse.Process would compute against the source cohort — proven by TestPrismAggregateValueParity. See D035.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Backend

type Backend struct{}

Backend is the in-memory implementation of plan.Backend. It is safe for concurrent use across goroutines (no per-Compile state lives on the struct).

func New

func New() *Backend

New returns the singleton in-memory backend. Callers can pass it to plan/build.Options.Backend or hold a pointer; equality semantics do not matter.

func (*Backend) Compile

func (b *Backend) Compile(ctx context.Context, node plan.Node, ins []*table.Table) (*table.Table, error)

Compile dispatches one node to its per-op helper. Unsupported node kinds (Join, Union, Pivot, Unpivot — deferred to P07/P09/P10) return PRISM_COMPILE_001 so behaviour matches the P03 stubs.

Jump to

Keyboard shortcuts

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