api.upsertDatabaseData()
Creates missing rows and PATCHes only properties present in each conflicting row.
This is the default: omit unrelated properties rather than reading a full row first.
A present null clears a nullable property; an omitted or undefined property is unchanged.
For a non-nullable property, null uses its declared database default; without a default it fails.
Pass { patch: false } only for the legacy full-replacement conflict behavior.
Pass { return: false } to skip returned rows, or { onlyKeys: true } for keys only.
skipUnchanged: true skips identical supplied fields; include or exclude selects compared columns.
filter checks current target values and restricts updates only; new rows are inserted independently.
With either conditional option enabled, success counts handled inputs, affected counts actual writes,
and data contains only written rows. Excluded-only changes do not update any column.
Notes:
- Low-code mutations execute atomically in one transaction within the remaining execution memory/time budget. An explicit caller transaction retains its configured timeout.
- REST/public SDK requests retain the 100,000-row limit per request.
- return defaults to true and includes full rows. return: false omits data; onlyKeys returns primary keys only. Returning full rows has a higher response-memory cost.
- Unavailable with
readOnly: true(throws an error).

