Skip to content

Feature definitions

The executable source is the repository feature manifest. Read the manifest, then its source.read_order paths and every path listed by the selected feature. Each entry defines inputs, outputs, state transitions, errors, client support, fixtures, tests, paired documentation, and executable verification commands.

IDFeatureStatusClient support
dsn_connectionDSN URI connectionimplementedgo: pass
php: pass
rust: pass
typescript: pass
schema_migrationsSchema migrationimplementedgo: pass
php: pass
rust: pass
typescript: pass
composite_keysComposite keysimplementedgo: pass
php: pass
rust: pass
typescript: pass
authenticated_encryptionVersioned authenticated encryptionimplementedgo: pass
php: pass
rust: pass
typescript: pass
parameter_chunkingIN and relation parameter limitsimplementedgo: pass
php: pass
rust: pass
typescript: pass
batch_writesTyped batch writesimplementedgo: pass
php: pass
rust: pass
typescript: pass
keyset_paginationTyped keyset paginationimplementedgo: pass
php: pass
rust: pass
typescript: pass
transactionsTransaction optionsimplementedgo: partial
php: partial
rust: partial
typescript: partial
precompiled_plansPrecompiled plan bundlesimplementedgo: pass
php: pass
rust: pass
typescript: pass
constraints_and_relationsConstraints and relation predicatesimplementedgo: pass
php: pass
rust: pass
typescript: pass
conformance_verificationCross-client conformance verificationpartialgo: pass
php: pass
rust: pass
typescript: pass

Current behavior

  • dsn_connection: Open a database from one URI DSN. The URI scheme selects the database and runtime compiler internals are not part of the caller API.
  • schema_migrations: Compare modeled schema state and produce validated forward and rollback operations.
  • composite_keys: Preserve every declared primary and foreign key component in identity, CRUD, relations, pagination, and rotation.
  • authenticated_encryption: Encode authenticated versioned ciphertext, read mixed key versions, and rotate every encrypted column in bounded resumable batches.
  • parameter_chunking: Split relation parameter tuples and oversized root IN lists by database limits while preserving result order and relation assembly. Reject unsafe root query shapes with an explicit error.
  • batch_writes: Execute typed insert, upsert, primary-key update, and primary-key delete requests in one transaction with bounded chunks and deterministic counts.
  • keyset_pagination: Provide versioned cursors, total composite ordering, validation, and forward and backward traversal.
  • transactions: Expose opt-in retry, isolation, read-only mode, savepoints, row locks, and timeoutMs with capability errors. PostgreSQL applies timeoutMs as a transaction-local statement timeout; MySQL and SQLite reject it. The common interface declares no in-flight cancellation operation because the four clients cannot provide the same driver behavior.
  • precompiled_plans: Load a validated plan bundle and execute a matching request without a compiler call.
  • constraints_and_relations: Preserve CHECK, index, foreign-key, soft-delete, relation existence, relation count, and many-to-many through metadata in the planner and migration system. Generated clients execute the declared operations on MySQL, PostgreSQL, and SQLite.
  • conformance_verification: Run common input vectors through Go, PHP, Rust, and TypeScript and compare normalized results for each database.

Run make feature-check to validate paths and execute every verification command declared for non-planned features. An implemented feature requires tests and paired documentation; partial and planned are incomplete.

MIT License · Go / PHP / Rust / TypeScript