Documentation Source Text

Check-in [6d69233043]
Login

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

Overview
Comment:Clarify what table types can be tracked with session extension.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 6d69233043f2a4a78262e0c05025f227dfaa44d120c1e25dc1cf5e9682b85016
User & Date: larrybr 2023-01-07 01:13:01.531
Context
2023-01-09
18:50
Reflect clarified CLI help for .quit (check-in: 438918d8cb user: larrybr tags: trunk)
2023-01-07
01:13
Clarify what table types can be tracked with session extension. (check-in: 6d69233043 user: larrybr tags: trunk)
2023-01-06
11:00
Document Tcl interface preupdate subcommand. This also clears the last of the missing page fragment hyperlink targets. (So "make linkcheck" reports all internal links good.) (check-in: 70de644daf user: larrybr tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/sessionintro.in.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<title>The Session Extension</title>
<tcl>
hd_keywords {session} {session extension}
</tcl>

<table_of_contents>

<h1>Introduction</h1>

<p>The session extension provide a mechanism for recording changes
to some or all of the [rowid tables] in an SQLite database, and packaging
those changes into a "changeset" or "patchset" file that can later
be used to apply the same set of changes to another database with
the same schema and compatible starting data.  A "changeset" may
also be inverted and used to "undo" a session.

<p>This document is an introduction to the session extension.
The details of the interface are in the separate
[Session Extension C-language Interface] document.










|
|
|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<title>The Session Extension</title>
<tcl>
hd_keywords {session} {session extension}
</tcl>

<table_of_contents>

<h1>Introduction</h1>

<p>The session extension provide a mechanism for conviently recording
changes to some or all of certain tables in an SQLite database, and
packaging those changes into a "changeset" or "patchset" file that can
later be used to apply the same set of changes to another database with
the same schema and compatible starting data.  A "changeset" may
also be inverted and used to "undo" a session.

<p>This document is an introduction to the session extension.
The details of the interface are in the separate
[Session Extension C-language Interface] document.

58
59
60
61
62
63
64
65

66
67
68
69
70
71
72

<h2>Limitations</h2>

<ul>

<li><p> Prior to SQLite version 3.17.0, the session extension only worked with
        [rowid tables], not [WITHOUT ROWID] tables. As of 3.17.0, both
        rowid and WITHOUT ROWID tables are supported.


<li><p> There is no support for [virtual tables]. Changes to virtual tables are
        not captured.

<li><p> The session extension only works with tables that have a declared
        PRIMARY KEY. The PRIMARY KEY of a table may be an INTEGER PRIMARY KEY
        (rowid alias) or an external PRIMARY KEY.







|
>







58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

<h2>Limitations</h2>

<ul>

<li><p> Prior to SQLite version 3.17.0, the session extension only worked with
        [rowid tables], not [WITHOUT ROWID] tables. As of 3.17.0, both
        rowid and WITHOUT ROWID tables are supported. However, extra steps are
        needed to record primary keys for WITHOUT ROWID table changes.

<li><p> There is no support for [virtual tables]. Changes to virtual tables are
        not captured.

<li><p> The session extension only works with tables that have a declared
        PRIMARY KEY. The PRIMARY KEY of a table may be an INTEGER PRIMARY KEY
        (rowid alias) or an external PRIMARY KEY.