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. |
Click to show internal directories.
Click to hide internal directories.