-
Notifications
You must be signed in to change notification settings - Fork 2
feat: upgrade to EQL v3 — cipherstash-client 0.42, typed jsonb domains, v3 typecheck & transform #432
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
feat: upgrade to EQL v3 — cipherstash-client 0.42, typed jsonb domains, v3 typecheck & transform #432
Changes from all commits
Commits
Show all changes
65 commits
Select commit
Hold shift + click to select a range
13b2cff
chore(deps): upgrade cipherstash-client to 0.42.0 and EQL to 3.0.1
freshtonic 8374f31
feat(encrypt): produce EQL v3 payloads, retire v2
freshtonic 0e01859
fix(decrypt): implement EQL v3 decrypt for scalar and SteVec payloads
freshtonic f95faa2
docs(errors): document the EQL v3 SteVec errors
freshtonic 350ea55
chore(deps): pin EQL to 3.0.2
freshtonic 4fdc2b3
chore: remove the unreferenced vendored stack-auth
freshtonic 49f4423
test(proxy): ignore the stale v2 to_ciphertext_* wire fixtures
freshtonic cb8dae8
refactor(eql): adopt the cipherstash-client 0.42.0 representation
freshtonic ad029af
refactor(eql): adopt the cipherstash-client 0.42.0 representation
freshtonic 4664a35
docs: handoff for the EQL v3 type checker design
freshtonic 46550ba
docs(eql-mapper): record v3 type-checker design (glossary + ADRs)
freshtonic 0e1de2d
fix(eql-mapper): correct EqlTraits set difference and bound-error ope…
freshtonic acc019d
feat(eql-mapper): carry inert v3 domain identity in the type carriers
freshtonic ade7602
feat(proxy): load EQL v3 per-column capability from the domain name
freshtonic d220700
refactor(eql): make v3 domain identity non-optional; JSON = JsonLike …
freshtonic ab6b117
docs(eql-mapper): warn that DomainIdentity::canonical may collide wit…
freshtonic c013ea9
feat(proxy): make the v2-column plaintext warning ops-visible
freshtonic 90e8166
fix(proxy): exclude eql_v3_json_entry from the column-domain catalog
freshtonic 41e6921
docs(eql-mapper): correct Contain and cross-check in the v3 ADRs
freshtonic 2a3511f
feat(eql-mapper): ADR-0003 v3 rewrite pipeline + term-selection found…
freshtonic 999dbca
feat(eql-mapper): rewrite scalar comparisons to the v3 functional-ind…
freshtonic 61b3db2
feat(eql-mapper): retarget aggregate and jsonb functions to eql_v3
freshtonic a977c50
feat(eql-mapper): retarget JSON containment to eql_v3
freshtonic 6b0d473
feat(eql-mapper): functionalise JSON -> / ->> field access to eql_v3
freshtonic 6f572c9
fix(eql-mapper): route LIKE/ILIKE through TokenMatch capability checking
freshtonic 19a9f04
feat(eql-mapper): rewrite LIKE/ILIKE to the v3 match_term form
freshtonic badafa0
test(eql-mapper): cover NOT LIKE/ILIKE, UPDATE SET cast, native LIKE,…
freshtonic 3a5a9a7
feat(eql-mapper): support @@ fuzzy match and rewrite to match_term
freshtonic c92a70d
test(eql-mapper): cover ord_ore rewrite via the explicit domain form
freshtonic 1656a3c
docs(changelog): record the EQL v3 migration
freshtonic 58f60a8
fix(eql-mapper): map JSON domains to the eql_v3.query_json operand twin
freshtonic 62e029f
fix(eql-mapper): emit JSON selectors as text, not a jsonb query cast
freshtonic 7d69bb1
fix(proxy): bind JSON selectors as bare text, not JSON-quoted
freshtonic 54b3ca7
fix(proxy): decrypt JSON field access results and bind selectors as text
freshtonic c54c4b0
feat(proxy): support encrypted JSON field range comparisons
freshtonic 796a005
docs(eql-mapper): cleanup after the v3 rewrite — stale strings and notes
freshtonic 5ea329d
refactor(showcase): convert the healthcare showcase to EQL v3
freshtonic 5b4e85c
feat(proxy): infer encrypt config from the EQL v3 schema
freshtonic e24a25f
test(integration): convert the shared test schema to EQL v3 domains
freshtonic 995cc07
test(integration): make the integration tests v3-shaped
freshtonic b2bc2a4
docs: sweep remaining EQL v2 references to v3
freshtonic 855186c
feat(proxy): index encrypted JSON arrays for search (ArrayIndexMode::…
freshtonic 02bb437
feat(mapper): fuse JSON field equality into a value-selector needle
freshtonic 9eafe69
feat(proxy): compose and encrypt the JSON equality value selector
freshtonic c8a2aa7
docs: changelog entry for encrypted JSON field equality
freshtonic 4b3ae30
refactor: model output params as derived from N input params
freshtonic bbcd475
refactor(mapper): each rewrite rule casts its own operands
freshtonic e2519e8
fix(mapper): ORDER BY an encrypted column must order by its ordering …
freshtonic 2065d74
fix(proxy): project encrypted query operands with into_query_operand
freshtonic a506d15
fix(mapper): GROUP BY an encrypted column must group by its equality …
freshtonic c09a3a0
fix(mapper): project grouped columns through eql_v3.grouped_value
freshtonic 6432499
chore(deps): upgrade EQL and eql-bindings to 3.0.3
freshtonic d962a10
test(integration): align the suite with EQL v3 capability rules
freshtonic 77577f3
fix(mapper): support SELECT DISTINCT ordered by an encrypted column
freshtonic cbe91b8
fix(mapper): deduplicate SELECT DISTINCT on an encrypted column
freshtonic 3dfe95e
fix(proxy,mapper): address the Codex review findings (CIP-3679)
freshtonic d348a37
test(python): align the language tests with EQL v3 capability rules
freshtonic fa5ef70
fix(proxy): clear the cached statement when Parse rebinds its name
freshtonic 724378b
fix: address the straightforward CodeRabbit review findings
freshtonic edb988d
fix: address the remaining CodeRabbit findings
freshtonic 5ce4d5c
test(integration): pin IN / NOT IN behaviour on encrypted columns
freshtonic 19944fe
test: cover the Fable review's P1 shapes, and audit InferType for mis…
freshtonic 08d41a6
fix(mapper): add the missing capability bounds, and refuse set-op dedup
freshtonic b4b3120
fix(mapper): key DISTINCT ON an encrypted column on its equality term
freshtonic 0532e2b
fix(mapper): rewrite ordinal sort/group keys and PARTITION BY to use …
freshtonic File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.