summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/sqlite3changegroup_add.3
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man3/sqlite3changegroup_add.3
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff)
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man3/sqlite3changegroup_add.3')
-rw-r--r--static/netbsd/man3/sqlite3changegroup_add.389
1 files changed, 89 insertions, 0 deletions
diff --git a/static/netbsd/man3/sqlite3changegroup_add.3 b/static/netbsd/man3/sqlite3changegroup_add.3
new file mode 100644
index 00000000..d93d6563
--- /dev/null
+++ b/static/netbsd/man3/sqlite3changegroup_add.3
@@ -0,0 +1,89 @@
+.Dd January 24, 2024
+.Dt SQLITE3CHANGEGROUP_ADD 3
+.Os
+.Sh NAME
+.Nm sqlite3changegroup_add
+.Nd add a changeset to a changegroup
+.Sh SYNOPSIS
+.In sqlite3.h
+.Ft int
+.Fo sqlite3changegroup_add
+.Fa "sqlite3_changegroup*"
+.Fa "int nData"
+.Fa "void *pData"
+.Fc
+.Sh DESCRIPTION
+Add all changes within the changeset (or patchset) in buffer pData
+(size nData bytes) to the changegroup.
+.Pp
+If the buffer contains a patchset, then all prior calls to this function
+on the same changegroup object must also have specified patchsets.
+Or, if the buffer contains a changeset, so must have the earlier calls
+to this function.
+Otherwise, SQLITE_ERROR is returned and no changes are added to the
+changegroup.
+.Pp
+Rows within the changeset and changegroup are identified by the values
+in their PRIMARY KEY columns.
+A change in the changeset is considered to apply to the same row as
+a change already present in the changegroup if the two rows have the
+same primary key.
+.Pp
+Changes to rows that do not already appear in the changegroup are simply
+copied into it.
+Or, if both the new changeset and the changegroup contain changes that
+apply to a single row, the final contents of the changegroup depends
+on the type of each change, as follows:
+.Pp
+ Existing Change New Change Output Change
+ INSERT INSERT The new change is ignored.
+This case does not occur if the new changeset was recorded immediately
+after the changesets already added to the changegroup.
+ INSERT UPDATE The INSERT change remains in the changegroup.
+The values in the INSERT change are modified as if the row was inserted
+by the existing change and then updated according to the new change.
+ INSERT DELETE The existing INSERT is removed from the changegroup.
+The DELETE is not added.
+ UPDATE INSERT The new change is ignored.
+This case does not occur if the new changeset was recorded immediately
+after the changesets already added to the changegroup.
+ UPDATE UPDATE The existing UPDATE remains within the changegroup.
+It is amended so that the accompanying values are as if the row was
+updated once by the existing change and then again by the new change.
+ UPDATE DELETE The existing UPDATE is replaced by the new DELETE within
+the changegroup.
+ DELETE INSERT If one or more of the column values in the row inserted
+by the new change differ from those in the row deleted by the existing
+change, the existing DELETE is replaced by an UPDATE within the changegroup.
+Otherwise, if the inserted row is exactly the same as the deleted row,
+the existing DELETE is simply discarded.
+ DELETE UPDATE The new change is ignored.
+This case does not occur if the new changeset was recorded immediately
+after the changesets already added to the changegroup.
+ DELETE DELETE The new change is ignored.
+This case does not occur if the new changeset was recorded immediately
+after the changesets already added to the changegroup.
+.Pp
+If the new changeset contains changes to a table that is already present
+in the changegroup, then the number of columns and the position of
+the primary key columns for the table must be consistent.
+If this is not the case, this function fails with SQLITE_SCHEMA.
+Except, if the changegroup object has been configured with a database
+schema using the sqlite3changegroup_schema() API, then it is possible
+to combine changesets with different numbers of columns for a single
+table, provided that they are otherwise compatible.
+.Pp
+If the input changeset appears to be corrupt and the corruption is
+detected, SQLITE_CORRUPT is returned.
+Or, if an out-of-memory condition occurs during processing, this function
+returns SQLITE_NOMEM.
+.Pp
+In all cases, if an error occurs the state of the final contents of
+the changegroup is undefined.
+If no error occurs, SQLITE_OK is returned.
+.Sh IMPLEMENTATION NOTES
+These declarations were extracted from the
+interface documentation at line 11900.
+.Bd -literal
+SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData);
+.Ed