Implement ADD Subdoc Update for FlatPostgresCollection#272
Merged
suddendust merged 5 commits intohypertrace:mainfrom Feb 20, 2026
Merged
Implement ADD Subdoc Update for FlatPostgresCollection#272suddendust merged 5 commits intohypertrace:mainfrom
suddendust merged 5 commits intohypertrace:mainfrom
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #272 +/- ##
============================================
+ Coverage 80.68% 80.71% +0.02%
- Complexity 1396 1398 +2
============================================
Files 240 241 +1
Lines 6882 6928 +46
Branches 638 642 +4
============================================
+ Hits 5553 5592 +39
- Misses 914 919 +5
- Partials 415 417 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
|
||
| assertTrue(result.isPresent()); | ||
| JsonNode resultJson = OBJECT_MAPPER.readTree(result.get().toJson()); | ||
| assertEquals(100, resultJson.get("price").asInt()); |
There was a problem hiding this comment.
do we do something for these operations to be idempotent?
Contributor
Author
There was a problem hiding this comment.
So, for this method that'd depend on the filter query containing a CAS clause, which the client has to pass. Something like lastUpdatedTime. document-store by itself doesn't care about idempotency.
puneet-traceable
previously approved these changes
Feb 9, 2026
puneet-traceable
approved these changes
Feb 20, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add ADD sub-document update operator for flat collections
Summary
Implements the
ADDoperator for FlatPostgresCollection, enabling atomic numeric increment/decrement operations on both top-level columns and nested JSONB fields.Changes
FlatCollectionSubDocAddOperatorParser] to handle ADD operationsFlatPostgresCollection.SUB_DOC_UPDATE_PARSERSSQL Generated
"price" = COALESCE("price", 0) + ?::integer"metrics" = jsonb_set(COALESCE("metrics", '{}'), '{sales,total}'::text[], (COALESCE("metrics"#>>'{sales,total}', '0')::integer + ?::integer)::text::jsonb, true)Features
COALESCEhandles NULL columns/fields (treats as 0)jsonb_set(..., true)