SQLite

Check-in [1dfa5234d3]
Login

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

Overview
Comment:Update documentation for sqlite3_snapshot_open(). No code changes.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 1dfa5234d3ee38c6af2d18a6294afa93232821e7
User & Date: drh 2016-04-08 19:44:31.621
Context
2016-04-09
14:36
Limit the number of digits shown in the "prereq" mask for ".wheretrace" debugging output. (check-in: 3686ed7413 user: drh tags: trunk)
2016-04-08
21:35
Attempt to treat the arguments to a table-valued function as if they occur in the ON clause of a LEFT JOIN rather than in the WHERE clause. But this causes undesirable behavior with generate_series, as demonstrated by test cases. This is an incremental check-in pending further work. (Leaf check-in: 00ac73a01c user: drh tags: tabfunc-in-left-join)
19:44
Update documentation for sqlite3_snapshot_open(). No code changes. (check-in: 1dfa5234d3 user: drh tags: trunk)
2016-04-07
21:14
Add test cases for ticket [7f7f8026eda387d544]. (check-in: 87aa9357fb user: drh tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/sqlite.h.in.
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086





8087
8088
8089
8090
8091
8092
8093






8094

8095
8096
8097






8098
8099
8100
8101
8102
8103
8104
8077
8078
8079
8080
8081
8082
8083



8084
8085
8086
8087
8088
8089
8090
8091
8092



8093
8094
8095
8096
8097
8098
8099
8100



8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113







-
-
-
+
+
+
+
+




-
-
-
+
+
+
+
+
+

+
-
-
-
+
+
+
+
+
+







  sqlite3_snapshot **ppSnapshot
);

/*
** CAPI3REF: Start a read transaction on an historical snapshot
** EXPERIMENTAL
**
** ^The [sqlite3_snapshot_open(D,S,P)] interface attempts to move the
** read transaction that is currently open on schema S of
** [database connection] D so that it refers to historical [snapshot] P.
** ^The [sqlite3_snapshot_open(D,S,P)] interface starts a
** read transaction for schema S of
** [database connection] D such that the read transaction
** refers to historical [snapshot] P, rather than the most
** recent change to the database.
** ^The [sqlite3_snapshot_open()] interface returns SQLITE_OK on success
** or an appropriate [error code] if it fails.
**
** ^In order to succeed, a call to [sqlite3_snapshot_open(D,S,P)] must be
** the first operation, apart from other sqlite3_snapshot_open() calls,
** following the [BEGIN] that starts a new read transaction.
** ^A [snapshot] will fail to open if it has been overwritten by a 
** the first operation following the [BEGIN] that takes the schema S
** out of [autocommit mode].
** ^In other words, schema S must not currently be in
** a transaction for [sqlite3_snapshot_open(D,S,P)] to work, but the
** database connection D must be out of [autocommit mode].
** ^A [snapshot] will fail to open if it has been overwritten by a
** [checkpoint].
** ^(A call to [sqlite3_snapshot_open(D,S,P)] will fail if the
** ^A [snapshot] will fail to open if the database connection D has not
** previously completed at least one read operation against the database 
** file.  (Hint: Run "[PRAGMA application_id]" against a newly opened
** database connection D does not know that the database file for
** schema S is in [WAL mode].  A database connection might not know
** that the database file is in [WAL mode] if there has been no prior
** I/O on that database connection, or if the database entered [WAL mode] 
** after the most recent I/O on the database connection.)^
** (Hint: Run "[PRAGMA application_id]" against a newly opened
** database connection in order to make it ready to use snapshots.)
**
** The [sqlite3_snapshot_open()] interface is only available when the
** SQLITE_ENABLE_SNAPSHOT compile-time option is used.
*/
SQLITE_EXPERIMENTAL int sqlite3_snapshot_open(
  sqlite3 *db,