feat: Add snapshot_properties support to upsert operation #2829
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.
Summary
snapshot_propertiesparameter toTransaction.upsert()andTable.upsert()methodsoverwrite()andappend()operations, so they are applied to all snapshots created by the upsertBackground
Currently, the
upsert()operation doesn't supportsnapshot_properties, while other operations likeappend(),overwrite(), anddelete()do.Since upsert creates multiple snapshots (one from
overwrite()for updates and one fromappend()for inserts), thesnapshot_propertiesare applied to all of them, which is consistent with howoverwrite()handles properties internally.Closes #2659
Test plan
test_upsert_snapshot_propertiestest that verifies properties are applied to all snapshots created by upsert