You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(stack): re-enable EQL v3 bigint domain family on protect-ffi 0.28
Native bigint round-tripping landed in protect-ffi 0.28, so restore the
bigint domains that skip-v3-bigint deferred:
- columns.ts: BIGINT/BIGINT_EQ/BIGINT_ORD/BIGINT_ORD_ORE definitions
(concrete domain eql_v3.int8* per the SQL fixture, castAs 'bigint'),
EncryptedBigint*Column classes, AnyEncryptedV3Column union, and
PlaintextKind/PlaintextFromKind mapping 'bigint' -> JS bigint.
- types.ts / index.ts: types.Bigint* factories and barrel exports.
- v3-matrix/catalog.ts: four int8 rows with i64-bound samples (max/min/0
and a value past Number.MAX_SAFE_INTEGER); samples widened to bigint.
Drizzle operator coverage is catalog-driven, so it picks these up too.
- schema-v3.test-d: flip the "bigint not public" negative test to assert
the factories now exist.
- encryption/v3.ts: bigint needs no decrypt reconstruction (FFI returns a
real JS bigint on 0.28).
- drop .changeset/skip-v3-bigint.md; add re-enable changeset.
i64 bounds are enforced at the protect-ffi boundary. *_ord_ope is out of
scope (CIP-3403).
Re-enable the EQL v3 bigint domain family now that native bigint round-tripping landed in `@cipherstash/protect-ffi` 0.28. Adds the `types.Bigint` / `types.BigintEq` / `types.BigintOrd` / `types.BigintOrdOre` factories (concrete Postgres domains `eql_v3.int8`, `eql_v3.int8_eq`, `eql_v3.int8_ord`, `eql_v3.int8_ord_ore`), their `EncryptedBigint*Column` classes, and full test-matrix + Drizzle operator coverage. Bigint columns take and decrypt to a JS `bigint`; i64 bounds (`-2^63 … 2^63 - 1`) are enforced at the protect-ffi boundary.
0 commit comments