pkg/

directory
v0.0.0-...-2e4c5eb Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: Apache-2.0

Directories

Path Synopsis
Package docscheck holds repository documentation-consistency guards (RFC-131).
Package docscheck holds repository documentation-consistency guards (RFC-131).
Package dst provides the deterministic-simulation-testing foundation (RFC-199 Tier 0): a Clock seam, a seeded randomness source, and FoundationDB-style Buggify fault points.
Package dst provides the deterministic-simulation-testing foundation (RFC-199 Tier 0): a Clock seam, a seeded randomness source, and FoundationDB-style Buggify fault points.
Package fdbgo is the root of the pure-Go FoundationDB client.
Package fdbgo is the root of the pure-Go FoundationDB client.
client
Package client implements the FDB client transaction lifecycle.
Package client implements the FDB client transaction lifecycle.
fdb
Package fdb provides a pure-Go client for FoundationDB.
Package fdb provides a pure-Go client for FoundationDB.
fdb/directory
Package directory provides a tool for managing related subspaces.
Package directory provides a tool for managing related subspaces.
fdb/subspace
Package subspace provides a convenient way to use FoundationDB tuples to define namespaces for different categories of data.
Package subspace provides a convenient way to use FoundationDB tuples to define namespaces for different categories of data.
fdb/tuple
Package tuple provides a layer for encoding and decoding multi-element tuples into keys usable by FoundationDB.
Package tuple provides a layer for encoding and decoding multi-element tuples into keys usable by FoundationDB.
fdbmetrics
Package fdbmetrics exposes a pure-Go FDB client's operational counters (client.Database.Metrics, RFC-097) in the Prometheus text exposition format, ready to scrape — with zero dependencies.
Package fdbmetrics exposes a pure-Go FDB client's operational counters (client.Database.Metrics, RFC-097) in the Prometheus text exposition format, ready to scrape — with zero dependencies.
internal/diag
Package diag is the shared diagnostics sink for recovered panics in the pure-Go FDB client (the client and fdb-facade layers; transport keeps its own seriousLog).
Package diag is the shared diagnostics sink for recovered panics in the pure-Go FDB client (the client and fdb-facade layers; transport keeps its own seriousLog).
libfdbc
This stub keeps the package compilable when something imports it in a CGO_ENABLED=0 build (e.g.
This stub keeps the package compilable when something imports it in a CGO_ENABLED=0 build (e.g.
transport
Package transport implements FDB's TCP wire protocol: framing, handshake, and request/response multiplexing via endpoint tokens.
Package transport implements FDB's TCP wire protocol: framing, handshake, and request/response multiplexing via endpoint tokens.
wire
Package wire implements FDB's custom FlatBuffers-inspired binary serialization format.
Package wire implements FDB's custom FlatBuffers-inspired binary serialization format.
wire/types
Package types contains generated FDB FlatBuffers message types.
Package types contains generated FDB FlatBuffers message types.
internal
fdbclient
Package fdbclient selects the FoundationDB client backend at BUILD time.
Package fdbclient selects the FoundationDB client backend at BUILD time.
linters
gofmt
Package gofmt defines an analyzer that reports unformatted Go source files.
Package gofmt defines an analyzer that reports unformatted Go source files.
gofumpt
Package gofumpt defines an analyzer that reports Go source files not formatted with gofumpt (a strict superset of gofmt).
Package gofumpt defines an analyzer that reports Go source files not formatted with gofumpt (a strict superset of gofmt).
noemptyiface
Package noemptyiface defines an analyzer that rejects interface{} in favor of any.
Package noemptyiface defines an analyzer that rejects interface{} in favor of any.
norecover
Package norecover is a nogo analyzer that enforces the panic→error boundary discipline (RFC-134, audit P2).
Package norecover is a nogo analyzer that enforces the panic→error boundary discipline (RFC-134, audit P2).
chaos
Package chaos provides model-based chaos testing for the FDB Record Layer.
Package chaos provides model-based chaos testing for the FDB Record Layer.
keyspace
Package keyspace provides a logical directory tree abstraction over FDB.
Package keyspace provides a logical directory tree abstraction over FDB.
protoname
Package protoname is the protobuf identifier escaping shared by every descriptor emitter in the tree.
Package protoname is the protobuf identifier escaping shared by every descriptor emitter in the tree.
query/executor
Package executor bridges RecordQueryPlan trees (Cascades planner output) and the FDBRecordStore scanning API to produce RecordCursor[QueryResult] streams.
Package executor bridges RecordQueryPlan trees (Cascades planner output) and the FDBRecordStore scanning API to produce RecordCursor[QueryResult] streams.
query/plan/cascades
derivations_evaluator.go — evaluates DerivationsProperty for physical plan wrapper expressions.
derivations_evaluator.go — evaluates DerivationsProperty for physical plan wrapper expressions.
query/plan/cascades/expressions
Package expressions ports the Cascades-side relational expression hierarchy from Java's `com.apple.foundationdb.record.query.plan.cascades.expressions`.
Package expressions ports the Cascades-side relational expression hierarchy from Java's `com.apple.foundationdb.record.query.plan.cascades.expressions`.
query/plan/cascades/properties
Package properties — Cardinality and Cardinalities types.
Package properties — Cardinality and Cardinalities types.
query/plan/cascades/values
Package values is the Value-tier of the Go Cascades planner port — scalar / row-context expressions that compose into predicates, projections, and join keys.
Package values is the Value-tier of the Go Cascades planner port — scalar / row-context expressions that compose into predicates, projections, and join keys.
query/plan/plans
Go extension — no Java equivalent.
Go extension — no Java equivalent.
rlmetrics
Package rlmetrics exposes a record-layer StoreTimer (the Go port of Java's FDBStoreTimer) in the Prometheus text exposition format, ready to scrape — with zero dependencies.
Package rlmetrics exposes a record-layer StoreTimer (the Go port of Java's FDBStoreTimer) in the Prometheus text exposition format, ready to scrape — with zero dependencies.
vectorcodec
Package vectorcodec is the on-disk byte codec for HNSW vector columns, wire-compatible with Java's RealVector.fromBytes / VectorType.
Package vectorcodec is the on-disk byte codec for HNSW vector columns, wire-compatible with Java's RealVector.fromBytes / VectorType.
relational
api
Package api mirrors Java's fdb-relational-api module.
Package api mirrors Java's fdb-relational-api module.
api/ddl
Package ddl defines the DDL action interfaces for the relational layer.
Package ddl defines the DDL action interfaces for the relational layer.
conformance/coveringleaf
Package coveringleaf holds the schema and queries shared by the two tests that probe a COVERING index leaf from opposite sides — the planner-side shape pin in package embedded_test and the column-metadata pin in package sqldriver_test.
Package coveringleaf holds the schema and queries shared by the two tests that probe a COVERING index leaf from opposite sides — the planner-side shape pin in package embedded_test and the column-metadata pin in package sqldriver_test.
conformance/explaindiff
Package explaindiff renders the PHYSICAL plan shape of every query in the yamsql conformance corpus into a stable, diffable text baseline, and diffs two such baselines entry-by-entry.
Package explaindiff renders the PHYSICAL plan shape of every query in the yamsql conformance corpus into a stable, diffable text baseline, and diffs two such baselines entry-by-entry.
conformance/factory
Package factory is the producer half of the RFC-201 §5 generation factory: generate → execute → bless-or-file → dedup, with cmd/factory-run driving it and pkg/relational/conformance/factorycorpus owning the committed output.
Package factory is the producer half of the RFC-201 §5 generation factory: generate → execute → bless-or-file → dedup, with cmd/factory-run driving it and pkg/relational/conformance/factorycorpus owning the committed output.
conformance/factorycorpus
Package factorycorpus is the home of the RFC-201 §5 generation factory's COMMITTED output: machine-generated, oracle-blessed yamsql scenarios that live in the repository as permanent suite content.
Package factorycorpus is the home of the RFC-201 §5 generation factory's COMMITTED output: machine-generated, oracle-blessed yamsql scenarios that live in the repository as permanent suite content.
conformance/javacorpus
Package javacorpus executes the vendored Java `.yamsql` acceptance corpus (parsed by the sibling javayamsql package) against the Go SQL engine.
Package javacorpus executes the vendored Java `.yamsql` acceptance corpus (parsed by the sibling javayamsql package) against the Go SQL engine.
conformance/javayamsql
Package javayamsql parses Apple's `.yamsql` acceptance-test format — the multi-document YAML dialect driving the Java record layer's yaml-tests suite.
Package javayamsql parses Apple's `.yamsql` acceptance-test format — the multi-document YAML dialect driving the Java record layer's yaml-tests suite.
conformance/memoinvariant
Package memoinvariant is RFC-184 W4: a generative memo-invariant harness.
Package memoinvariant is RFC-184 W4: a generative memo-invariant harness.
conformance/plandiff
Package plandiff is the Phase 4.-1 plan-equivalence harness from RFC-022 §4.-1.
Package plandiff is the Phase 4.-1 plan-equivalence harness from RFC-022 §4.-1.
conformance/rowdiff
Package rowdiff is the RFC-182 generative row-soundness differential harness: seeded random (schema, data, query) cases executed through the full production path (sqldriver → Cascades → executor → real FDB), rows diffed against Oracle M — a brute-force in-memory full-scan evaluation over the generator's own authoritative row set, reusing the engine's predicate evaluation (predicates.Comparison.Eval) so the planner is the only component removed.
Package rowdiff is the RFC-182 generative row-soundness differential harness: seeded random (schema, data, query) cases executed through the full production path (sqldriver → Cascades → executor → real FDB), rows diffed against Oracle M — a brute-force in-memory full-scan evaluation over the generator's own authoritative row set, reusing the engine's predicate evaluation (predicates.Comparison.Eval) so the planner is the only component removed.
conformance/yamsql
Package yamsql is a SQL-level conformance harness for the Go SQL driver.
Package yamsql is a SQL-level conformance harness for the Go SQL driver.
core/catalog
Package catalog contains concrete implementations of the api.StoreCatalog / api.SchemaTemplateCatalog / api.Transaction interfaces.
Package catalog contains concrete implementations of the api.StoreCatalog / api.SchemaTemplateCatalog / api.Transaction interfaces.
core/embedded
Package embedded implements the embedded (in-process) SQL execution engine for the FoundationDB relational layer.
Package embedded implements the embedded (in-process) SQL execution engine for the FoundationDB relational layer.
core/fleet
Package fleet drives fan-out maintenance across every tenant schema in a relational database: rebinding a fleet onto a new schema-template version, and building the indexes that rebind leaves unbuilt.
Package fleet drives fan-out maintenance across every tenant schema in a relational database: rebinding a fleet onto a new schema-template version, and building the indexes that rebind leaves unbuilt.
core/functions
Package functions holds SQL-value operations that don't need connection/session state: checked integer arithmetic, numeric + bitwise operators with SQL semantics, type-coercion helpers used by scalar-function arguments, and (in future PRs) the scalar function dispatcher + protoreflect <-> driver.Value marshaling.
Package functions holds SQL-value operations that don't need connection/session state: checked integer arithmetic, numeric + bitwise operators with SQL semantics, type-coercion helpers used by scalar-function arguments, and (in future PRs) the scalar function dispatcher + protoreflect <-> driver.Value marshaling.
core/keyspace
Package keyspace defines the relational-layer FDB key structure.
Package keyspace defines the relational-layer FDB key structure.
core/metadata
Package metadata provides concrete bridge implementations of the api.* metadata interfaces backed by *recordlayer.RecordMetaData.
Package metadata provides concrete bridge implementations of the api.* metadata interfaces backed by *recordlayer.RecordMetaData.
core/parser
Package parser houses the generated ANTLR4 lexer and parser for the Relational SQL dialect, plus the thin Go wrapper that wires them into a ParseTree suitable for consumption by the semantic analyzer.
Package parser houses the generated ANTLR4 lexer and parser for the Relational SQL dialect, plus the thin Go wrapper that wires them into a ParseTree suitable for consumption by the semantic analyzer.
core/parser/grammar
Package grammar is a go-sentinel (empty) package whose only job is to anchor the *.g4 grammar files in the Go module tree so they travel with builds and gazelle doesn't delete the directory.
Package grammar is a go-sentinel (empty) package whose only job is to anchor the *.g4 grammar files in the Go module tree so they travel with builds and gazelle doesn't delete the directory.
core/query
Package query defines the planner/plan seam between the SQL frontend (database/sql driver, future gRPC server, REPL) and the SQL execution engine.
Package query defines the planner/plan seam between the SQL frontend (database/sql driver, future gRPC server, REPL) and the SQL execution engine.
core/query/ddl
Package ddl holds the materialized-view index generator — the Go port of Java's MaterializedViewIndexGenerator (RFC-202).
Package ddl holds the materialized-view index generator — the Go port of Java's MaterializedViewIndexGenerator (RFC-202).
core/query/expr
Package expr is the parse-tree → values.Value resolver.
Package expr is the parse-tree → values.Value resolver.
core/query/logical
Package logical holds the Phase 3 (TODO.md §"Phase 3 — Semantic analysis") logical-operator hierarchy.
Package logical holds the Phase 3 (TODO.md §"Phase 3 — Semantic analysis") logical-operator hierarchy.
core/query/semantic
Package semantic is the Go port of Java's `com.apple.foundationdb.relational.recordlayer.query.SemanticAnalyzer` plus related Identifier / Expression / reference-resolution helpers.
Package semantic is the Go port of Java's `com.apple.foundationdb.relational.recordlayer.query.SemanticAnalyzer` plus related Identifier / Expression / reference-resolution helpers.
core/query/semantic/rlcatalog
Package rlcatalog adapts the Record Layer's `RecordMetaData` into the `semantic.Catalog` interface.
Package rlcatalog adapts the Record Layer's `RecordMetaData` into the `semantic.Catalog` interface.
core/rowstruct
Package rowstruct materializes a STRUCT column value for SQL clients: the Go analogue of Java's RowStruct family, where a struct column read off a record surfaces as a RelationalStruct rather than as the raw protobuf message.
Package rowstruct materializes a STRUCT column value for SQL clients: the Go analogue of Java's RowStruct family, where a struct column read off a record surfaces as a RelationalStruct rather than as the raw protobuf message.
core/session
Package session holds per-connection resource state for the relational SQL engine.
Package session holds per-connection resource state for the relational SQL engine.
sqldriver
Package sqldriver implements a database/sql driver for the FoundationDB Record Layer relational (SQL) layer.
Package sqldriver implements a database/sql driver for the FoundationDB Record Layer relational (SQL) layer.
txbudgetcensus
Package txbudgetcensus finds test transactions that carry an unstated assumption about FDB's five-second MVCC window.
Package txbudgetcensus finds test transactions that carry an unstated assumption about FDB's five-second MVCC window.
Package simfdb is a deterministic, in-memory MVCC implementation of the fdb.BackendDatabase contract (RFC-199 Tier 1 — "SimFDB").
Package simfdb is a deterministic, in-memory MVCC implementation of the fdb.BackendDatabase contract (RFC-199 Tier 1 — "SimFDB").
hunt
Package hunt is a brute-force, seed-driven bug hunter for the record layer.
Package hunt is a brute-force, seed-driven bug hunter for the record layer.
hunt/atomicops
Package atomicops is a DST driver that differentials FoundationDB's ten atomic mutation types (Add / And / Or / Xor / Max / Min / ByteMax / ByteMin / AppendIfFits / CompareAndClear) end-to-end through the SimFDB backend against an INDEPENDENT Go reference model.
Package atomicops is a DST driver that differentials FoundationDB's ten atomic mutation types (Add / And / Or / Xor / Max / Min / ByteMax / ByteMin / AppendIfFits / CompareAndClear) end-to-end through the SimFDB backend against an INDEPENDENT Go reference model.
hunt/continuation
Package continuation is RFC-199 Tier 2's continuation-under-fault replay driver.
Package continuation is RFC-199 Tier 2's continuation-under-fault replay driver.
hunt/golden
Package golden is a characterization ("golden master") harness for the SQL engine over SimFDB.
Package golden is a characterization ("golden master") harness for the SQL engine over SimFDB.
hunt/interleave
Package interleave is RFC-199 Tier 2's concurrent-open-transaction interleaving driver.
Package interleave is RFC-199 Tier 2's concurrent-open-transaction interleaving driver.
hunt/metamorphic
Package metamorphic is the WRONG-catching SQL oracle for the DST harness (RFC-199 Tier 2).
Package metamorphic is the WRONG-catching SQL oracle for the DST harness (RFC-199 Tier 2).
hunt/rangeconflict
Package rangeconflict is RFC-199 Tier 2's range-conflict interleaving driver.
Package rangeconflict is RFC-199 Tier 2's range-conflict interleaving driver.
hunt/sqlhunt
This file adds a SECOND SQL workload to the DST bug hunter, focused on SECONDARY-INDEX maintenance under the commit-fault schedule (commit_unknown / not_committed / too_old retry).
This file adds a SECOND SQL workload to the DST bug hunter, focused on SECONDARY-INDEX maintenance under the commit-fault schedule (commit_unknown / not_committed / too_old retry).
hunt/sqlpage
Package sqlpage is RFC-199 Tier 2's SQL-query pagination oracle.
Package sqlpage is RFC-199 Tier 2's SQL-query pagination oracle.
testcontainers
foundationdb
Package foundationdb provides a testcontainers module for FoundationDB.
Package foundationdb provides a testcontainers module for FoundationDB.

Jump to

Keyboard shortcuts

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