Skip to content

transactions: property-level partial update#525

Open
cportele wants to merge 1 commit into
masterfrom
tx-2
Open

transactions: property-level partial update#525
cportele wants to merge 1 commit into
masterfrom
tx-2

Conversation

@cportele
Copy link
Copy Markdown
Contributor

@cportele cportele commented Jun 6, 2026

Adds FeatureTransactions.PropertyUpdate and Session.patchFeature with a default unsupported implementation. SqlMutationSession implements it as native SQL on the session's open connection:

  • Updates VALUE and GEOMETRY columns in the main feature table
  • VALUE_ARRAY and OBJECT_ARRAY junction tables: DELETE existing rows for the feature and INSERT new rows
  • OBJECT_ARRAY elements with nested OBJECT children, M:N junctions and FEATURE_REF(_ARRAY) are unsupported and are rejected with an error.

Adds FeatureTransactions.PropertyUpdate and Session.patchFeature with a
default unsupported implementation. SqlMutationSession implements it as
native SQL on the session's open connection so partial updates see prior
writes from the same transaction:

  - main-table SET for scalar/datetime/boolean columns
  - geometry via the existing toWkt path: GeoJSON in -> Geometry ->
    ST_GeomFromText (with ST_ForcePolygonCW for POLYGON / MULTI_POLYGON),
    matching the encoding the INSERT path emits
  - VALUE_ARRAY and OBJECT_ARRAY junctions: DELETE existing rows by
    parent_pk + INSERT new rows on the same session connection

OBJECT_ARRAY elements with nested OBJECT children, M:N junctions and
FEATURE_REF arrays remain unsupported and are rejected with a clear error.
@cportele cportele requested a review from azahnen as a code owner June 6, 2026 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant