SQLite

Check-in [ea9acb5573]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update to comments in sqlite3session.h.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA3-256: ea9acb5573f4d71a314e4467d30477a1d01c8db648985750a42b3c047f404c9c
User & Date: dan 2025-04-19 20:08:04.182
Context
2025-04-19
20:08
Update to comments in sqlite3session.h. (Leaf check-in: ea9acb5573 user: dan tags: trunk)
2025-04-18
14:47
Add an appropriate _declspec to the declaration of the sqlite3_dbdata_init() function in the recovery extension. (check-in: 00313d1527 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to ext/session/sqlite3session.h.
354
355
356
357
358
359
360
361
362
363

364
365
366
367
368
369
370
** When a session object is disabled (see the [sqlite3session_enable()] API),
** it does not accumulate records when rows are inserted, updated or deleted.
** This may appear to have some counter-intuitive effects if a single row
** is written to more than once during a session. For example, if a row
** is inserted while a session object is enabled, then later deleted while 
** the same session object is disabled, no INSERT record will appear in the
** changeset, even though the delete took place while the session was disabled.
** Or, if one field of a row is updated while a session is disabled, and 
** another field of the same row is updated while the session is enabled, the
** resulting changeset will contain an UPDATE change that updates both fields.

*/
int sqlite3session_changeset(
  sqlite3_session *pSession,      /* Session object */
  int *pnChangeset,               /* OUT: Size of buffer at *ppChangeset */
  void **ppChangeset              /* OUT: Buffer containing changeset */
);








|
|
|
>







354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
** When a session object is disabled (see the [sqlite3session_enable()] API),
** it does not accumulate records when rows are inserted, updated or deleted.
** This may appear to have some counter-intuitive effects if a single row
** is written to more than once during a session. For example, if a row
** is inserted while a session object is enabled, then later deleted while 
** the same session object is disabled, no INSERT record will appear in the
** changeset, even though the delete took place while the session was disabled.
** Or, if one field of a row is updated while a session is enabled, and 
** then another field of the same row is updated while the session is disabled,
** the resulting changeset will contain an UPDATE change that updates both
** fields.
*/
int sqlite3session_changeset(
  sqlite3_session *pSession,      /* Session object */
  int *pnChangeset,               /* OUT: Size of buffer at *ppChangeset */
  void **ppChangeset              /* OUT: Buffer containing changeset */
);