@op-engineering/op-sqlite 14.1.3 → 14.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/jniLibs/arm64-v8a/libsql_experimental.a +0 -0
- package/android/jniLibs/armeabi-v7a/libsql_experimental.a +0 -0
- package/android/jniLibs/x86/libsql_experimental.a +0 -0
- package/android/jniLibs/x86_64/libsql_experimental.a +0 -0
- package/cpp/DBHostObject.cpp +4 -2
- package/cpp/DBHostObject.h +2 -1
- package/cpp/bindings.cpp +7 -1
- package/cpp/libsql/bridge.cpp +3 -1
- package/cpp/libsql/bridge.h +2 -1
- package/cpp/libsql/libsql.h +1 -0
- package/cpp/sqlcipher/sqlite3.c +3091 -1643
- package/cpp/sqlcipher/sqlite3.h +188 -128
- package/cpp/sqlite3.c +304 -176
- package/cpp/sqlite3.h +89 -87
- package/ios/libsql.xcframework/Info.plist +5 -5
- package/ios/libsql.xcframework/ios-arm64/Headers/libsql.h +1 -0
- package/ios/libsql.xcframework/ios-arm64/libsql_experimental.a +0 -0
- package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/Headers/libsql.h +1 -0
- package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/libsql_experimental.a +0 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
package/cpp/sqlite3.h
CHANGED
|
@@ -146,9 +146,9 @@ extern "C" {
|
|
|
146
146
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
147
147
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
148
148
|
*/
|
|
149
|
-
#define SQLITE_VERSION "3.50.
|
|
150
|
-
#define SQLITE_VERSION_NUMBER
|
|
151
|
-
#define SQLITE_SOURCE_ID "2025-
|
|
149
|
+
#define SQLITE_VERSION "3.50.4"
|
|
150
|
+
#define SQLITE_VERSION_NUMBER 3050004
|
|
151
|
+
#define SQLITE_SOURCE_ID "2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3"
|
|
152
152
|
|
|
153
153
|
/*
|
|
154
154
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
@@ -4079,7 +4079,7 @@ SQLITE_API sqlite3_file *sqlite3_database_file_object(const char*);
|
|
|
4079
4079
|
**
|
|
4080
4080
|
** The sqlite3_create_filename(D,J,W,N,P) allocates memory to hold a version of
|
|
4081
4081
|
** database filename D with corresponding journal file J and WAL file W and
|
|
4082
|
-
**
|
|
4082
|
+
** an array P of N URI Key/Value pairs. The result from
|
|
4083
4083
|
** sqlite3_create_filename(D,J,W,N,P) is a pointer to a database filename that
|
|
4084
4084
|
** is safe to pass to routines like:
|
|
4085
4085
|
** <ul>
|
|
@@ -4760,7 +4760,7 @@ typedef struct sqlite3_context sqlite3_context;
|
|
|
4760
4760
|
** METHOD: sqlite3_stmt
|
|
4761
4761
|
**
|
|
4762
4762
|
** ^(In the SQL statement text input to [sqlite3_prepare_v2()] and its variants,
|
|
4763
|
-
** literals may be replaced by a [parameter] that matches one of following
|
|
4763
|
+
** literals may be replaced by a [parameter] that matches one of the following
|
|
4764
4764
|
** templates:
|
|
4765
4765
|
**
|
|
4766
4766
|
** <ul>
|
|
@@ -4805,7 +4805,7 @@ typedef struct sqlite3_context sqlite3_context;
|
|
|
4805
4805
|
**
|
|
4806
4806
|
** [[byte-order determination rules]] ^The byte-order of
|
|
4807
4807
|
** UTF16 input text is determined by the byte-order mark (BOM, U+FEFF)
|
|
4808
|
-
** found in first character, which is removed, or in the absence of a BOM
|
|
4808
|
+
** found in the first character, which is removed, or in the absence of a BOM
|
|
4809
4809
|
** the byte order is the native byte order of the host
|
|
4810
4810
|
** machine for sqlite3_bind_text16() or the byte order specified in
|
|
4811
4811
|
** the 6th parameter for sqlite3_bind_text64().)^
|
|
@@ -4825,7 +4825,7 @@ typedef struct sqlite3_context sqlite3_context;
|
|
|
4825
4825
|
** or sqlite3_bind_text16() or sqlite3_bind_text64() then
|
|
4826
4826
|
** that parameter must be the byte offset
|
|
4827
4827
|
** where the NUL terminator would occur assuming the string were NUL
|
|
4828
|
-
** terminated. If any NUL characters
|
|
4828
|
+
** terminated. If any NUL characters occur at byte offsets less than
|
|
4829
4829
|
** the value of the fourth parameter then the resulting string value will
|
|
4830
4830
|
** contain embedded NULs. The result of expressions involving strings
|
|
4831
4831
|
** with embedded NULs is undefined.
|
|
@@ -5037,7 +5037,7 @@ SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N);
|
|
|
5037
5037
|
** METHOD: sqlite3_stmt
|
|
5038
5038
|
**
|
|
5039
5039
|
** ^These routines provide a means to determine the database, table, and
|
|
5040
|
-
** table column that is the origin of a particular result column in
|
|
5040
|
+
** table column that is the origin of a particular result column in a
|
|
5041
5041
|
** [SELECT] statement.
|
|
5042
5042
|
** ^The name of the database or table or column can be returned as
|
|
5043
5043
|
** either a UTF-8 or UTF-16 string. ^The _database_ routines return
|
|
@@ -5606,8 +5606,8 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
|
|
|
5606
5606
|
**
|
|
5607
5607
|
** For best security, the [SQLITE_DIRECTONLY] flag is recommended for
|
|
5608
5608
|
** all application-defined SQL functions that do not need to be
|
|
5609
|
-
** used inside of triggers,
|
|
5610
|
-
** the database schema. This
|
|
5609
|
+
** used inside of triggers, views, CHECK constraints, or other elements of
|
|
5610
|
+
** the database schema. This flag is especially recommended for SQL
|
|
5611
5611
|
** functions that have side effects or reveal internal application state.
|
|
5612
5612
|
** Without this flag, an attacker might be able to modify the schema of
|
|
5613
5613
|
** a database file to include invocations of the function with parameters
|
|
@@ -5638,7 +5638,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
|
|
|
5638
5638
|
** [user-defined window functions|available here].
|
|
5639
5639
|
**
|
|
5640
5640
|
** ^(If the final parameter to sqlite3_create_function_v2() or
|
|
5641
|
-
** sqlite3_create_window_function() is not NULL, then it is destructor for
|
|
5641
|
+
** sqlite3_create_window_function() is not NULL, then it is the destructor for
|
|
5642
5642
|
** the application data pointer. The destructor is invoked when the function
|
|
5643
5643
|
** is deleted, either by being overloaded or when the database connection
|
|
5644
5644
|
** closes.)^ ^The destructor is also invoked if the call to
|
|
@@ -6038,7 +6038,7 @@ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*);
|
|
|
6038
6038
|
** METHOD: sqlite3_value
|
|
6039
6039
|
**
|
|
6040
6040
|
** ^The sqlite3_value_dup(V) interface makes a copy of the [sqlite3_value]
|
|
6041
|
-
** object
|
|
6041
|
+
** object V and returns a pointer to that copy. ^The [sqlite3_value] returned
|
|
6042
6042
|
** is a [protected sqlite3_value] object even if the input is not.
|
|
6043
6043
|
** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a
|
|
6044
6044
|
** memory allocation fails. ^If V is a [pointer value], then the result
|
|
@@ -6076,7 +6076,7 @@ SQLITE_API void sqlite3_value_free(sqlite3_value*);
|
|
|
6076
6076
|
** allocation error occurs.
|
|
6077
6077
|
**
|
|
6078
6078
|
** ^(The amount of space allocated by sqlite3_aggregate_context(C,N) is
|
|
6079
|
-
** determined by the N parameter on first successful call. Changing the
|
|
6079
|
+
** determined by the N parameter on the first successful call. Changing the
|
|
6080
6080
|
** value of N in any subsequent call to sqlite3_aggregate_context() within
|
|
6081
6081
|
** the same aggregate function instance will not resize the memory
|
|
6082
6082
|
** allocation.)^ Within the xFinal callback, it is customary to set
|
|
@@ -6238,7 +6238,7 @@ SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(voi
|
|
|
6238
6238
|
**
|
|
6239
6239
|
** Security Warning: These interfaces should not be exposed in scripting
|
|
6240
6240
|
** languages or in other circumstances where it might be possible for an
|
|
6241
|
-
**
|
|
6241
|
+
** attacker to invoke them. Any agent that can invoke these interfaces
|
|
6242
6242
|
** can probably also take control of the process.
|
|
6243
6243
|
**
|
|
6244
6244
|
** Database connection client data is only available for SQLite
|
|
@@ -6352,7 +6352,7 @@ typedef void (*sqlite3_destructor_type)(void*);
|
|
|
6352
6352
|
** pointed to by the 2nd parameter are taken as the application-defined
|
|
6353
6353
|
** function result. If the 3rd parameter is non-negative, then it
|
|
6354
6354
|
** must be the byte offset into the string where the NUL terminator would
|
|
6355
|
-
** appear if the string
|
|
6355
|
+
** appear if the string were NUL terminated. If any NUL characters occur
|
|
6356
6356
|
** in the string at a byte offset that is less than the value of the 3rd
|
|
6357
6357
|
** parameter, then the resulting string will contain embedded NULs and the
|
|
6358
6358
|
** result of expressions operating on strings with embedded NULs is undefined.
|
|
@@ -6410,7 +6410,7 @@ typedef void (*sqlite3_destructor_type)(void*);
|
|
|
6410
6410
|
** string and preferably a string literal. The sqlite3_result_pointer()
|
|
6411
6411
|
** routine is part of the [pointer passing interface] added for SQLite 3.20.0.
|
|
6412
6412
|
**
|
|
6413
|
-
** If these routines are called from within
|
|
6413
|
+
** If these routines are called from within a different thread
|
|
6414
6414
|
** than the one containing the application-defined function that received
|
|
6415
6415
|
** the [sqlite3_context] pointer, the results are undefined.
|
|
6416
6416
|
*/
|
|
@@ -6816,7 +6816,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
|
|
|
6816
6816
|
** METHOD: sqlite3
|
|
6817
6817
|
**
|
|
6818
6818
|
** ^The sqlite3_db_name(D,N) interface returns a pointer to the schema name
|
|
6819
|
-
** for the N-th database on database connection D, or a NULL pointer
|
|
6819
|
+
** for the N-th database on database connection D, or a NULL pointer if N is
|
|
6820
6820
|
** out of range. An N value of 0 means the main database file. An N of 1 is
|
|
6821
6821
|
** the "temp" schema. Larger values of N correspond to various ATTACH-ed
|
|
6822
6822
|
** databases.
|
|
@@ -6911,7 +6911,7 @@ SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
|
|
|
6911
6911
|
** <dd>The SQLITE_TXN_READ state means that the database is currently
|
|
6912
6912
|
** in a read transaction. Content has been read from the database file
|
|
6913
6913
|
** but nothing in the database file has changed. The transaction state
|
|
6914
|
-
** will advanced to SQLITE_TXN_WRITE if any changes occur and there are
|
|
6914
|
+
** will be advanced to SQLITE_TXN_WRITE if any changes occur and there are
|
|
6915
6915
|
** no other conflicting concurrent write transactions. The transaction
|
|
6916
6916
|
** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or
|
|
6917
6917
|
** [COMMIT].</dd>
|
|
@@ -6920,7 +6920,7 @@ SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
|
|
|
6920
6920
|
** <dd>The SQLITE_TXN_WRITE state means that the database is currently
|
|
6921
6921
|
** in a write transaction. Content has been written to the database file
|
|
6922
6922
|
** but has not yet committed. The transaction state will change to
|
|
6923
|
-
**
|
|
6923
|
+
** SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
|
|
6924
6924
|
*/
|
|
6925
6925
|
#define SQLITE_TXN_NONE 0
|
|
6926
6926
|
#define SQLITE_TXN_READ 1
|
|
@@ -7201,7 +7201,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
|
|
|
7201
7201
|
** CAPI3REF: Impose A Limit On Heap Size
|
|
7202
7202
|
**
|
|
7203
7203
|
** These interfaces impose limits on the amount of heap memory that will be
|
|
7204
|
-
** by all database connections within a single process.
|
|
7204
|
+
** used by all database connections within a single process.
|
|
7205
7205
|
**
|
|
7206
7206
|
** ^The sqlite3_soft_heap_limit64() interface sets and/or queries the
|
|
7207
7207
|
** soft limit on the amount of heap memory that may be allocated by SQLite.
|
|
@@ -7259,7 +7259,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
|
|
|
7259
7259
|
** </ul>)^
|
|
7260
7260
|
**
|
|
7261
7261
|
** The circumstances under which SQLite will enforce the heap limits may
|
|
7262
|
-
**
|
|
7262
|
+
** change in future releases of SQLite.
|
|
7263
7263
|
*/
|
|
7264
7264
|
SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
|
|
7265
7265
|
SQLITE_API sqlite3_int64 sqlite3_hard_heap_limit64(sqlite3_int64 N);
|
|
@@ -7374,8 +7374,8 @@ SQLITE_API int sqlite3_table_column_metadata(
|
|
|
7374
7374
|
** ^The entry point is zProc.
|
|
7375
7375
|
** ^(zProc may be 0, in which case SQLite will try to come up with an
|
|
7376
7376
|
** entry point name on its own. It first tries "sqlite3_extension_init".
|
|
7377
|
-
** If that does not work, it constructs a name "sqlite3_X_init" where
|
|
7378
|
-
** X
|
|
7377
|
+
** If that does not work, it constructs a name "sqlite3_X_init" where
|
|
7378
|
+
** X consists of the lower-case equivalent of all ASCII alphabetic
|
|
7379
7379
|
** characters in the filename from the last "/" to the first following
|
|
7380
7380
|
** "." and omitting any initial "lib".)^
|
|
7381
7381
|
** ^The sqlite3_load_extension() interface returns
|
|
@@ -7446,7 +7446,7 @@ SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
|
|
|
7446
7446
|
** ^(Even though the function prototype shows that xEntryPoint() takes
|
|
7447
7447
|
** no arguments and returns void, SQLite invokes xEntryPoint() with three
|
|
7448
7448
|
** arguments and expects an integer result as if the signature of the
|
|
7449
|
-
** entry point
|
|
7449
|
+
** entry point were as follows:
|
|
7450
7450
|
**
|
|
7451
7451
|
** <blockquote><pre>
|
|
7452
7452
|
** int xEntryPoint(
|
|
@@ -7610,7 +7610,7 @@ struct sqlite3_module {
|
|
|
7610
7610
|
** virtual table and might not be checked again by the byte code.)^ ^(The
|
|
7611
7611
|
** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
|
|
7612
7612
|
** is left in its default setting of false, the constraint will always be
|
|
7613
|
-
** checked separately in byte code. If the omit flag is
|
|
7613
|
+
** checked separately in byte code. If the omit flag is changed to true, then
|
|
7614
7614
|
** the constraint may or may not be checked in byte code. In other words,
|
|
7615
7615
|
** when the omit flag is true there is no guarantee that the constraint will
|
|
7616
7616
|
** not be checked again using byte code.)^
|
|
@@ -7636,7 +7636,7 @@ struct sqlite3_module {
|
|
|
7636
7636
|
** The xBestIndex method may optionally populate the idxFlags field with a
|
|
7637
7637
|
** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
|
|
7638
7638
|
** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
|
|
7639
|
-
** output to show the idxNum
|
|
7639
|
+
** output to show the idxNum as hex instead of as decimal. Another flag is
|
|
7640
7640
|
** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
|
|
7641
7641
|
** return at most one row.
|
|
7642
7642
|
**
|
|
@@ -7777,7 +7777,7 @@ struct sqlite3_index_info {
|
|
|
7777
7777
|
** the implementation of the [virtual table module]. ^The fourth
|
|
7778
7778
|
** parameter is an arbitrary client data pointer that is passed through
|
|
7779
7779
|
** into the [xCreate] and [xConnect] methods of the virtual table module
|
|
7780
|
-
** when a new virtual table is
|
|
7780
|
+
** when a new virtual table is being created or reinitialized.
|
|
7781
7781
|
**
|
|
7782
7782
|
** ^The sqlite3_create_module_v2() interface has a fifth parameter which
|
|
7783
7783
|
** is a pointer to a destructor for the pClientData. ^SQLite will
|
|
@@ -7942,7 +7942,7 @@ typedef struct sqlite3_blob sqlite3_blob;
|
|
|
7942
7942
|
** in *ppBlob. Otherwise an [error code] is returned and, unless the error
|
|
7943
7943
|
** code is SQLITE_MISUSE, *ppBlob is set to NULL.)^ ^This means that, provided
|
|
7944
7944
|
** the API is not misused, it is always safe to call [sqlite3_blob_close()]
|
|
7945
|
-
** on *ppBlob after this function
|
|
7945
|
+
** on *ppBlob after this function returns.
|
|
7946
7946
|
**
|
|
7947
7947
|
** This function fails with SQLITE_ERROR if any of the following are true:
|
|
7948
7948
|
** <ul>
|
|
@@ -8062,7 +8062,7 @@ SQLITE_API int sqlite3_blob_close(sqlite3_blob *);
|
|
|
8062
8062
|
**
|
|
8063
8063
|
** ^Returns the size in bytes of the BLOB accessible via the
|
|
8064
8064
|
** successfully opened [BLOB handle] in its only argument. ^The
|
|
8065
|
-
** incremental blob I/O routines can only read or
|
|
8065
|
+
** incremental blob I/O routines can only read or overwrite existing
|
|
8066
8066
|
** blob content; they cannot change the size of a blob.
|
|
8067
8067
|
**
|
|
8068
8068
|
** This routine only works on a [BLOB handle] which has been created
|
|
@@ -8212,7 +8212,7 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
|
|
|
8212
8212
|
** ^The sqlite3_mutex_alloc() routine allocates a new
|
|
8213
8213
|
** mutex and returns a pointer to it. ^The sqlite3_mutex_alloc()
|
|
8214
8214
|
** routine returns NULL if it is unable to allocate the requested
|
|
8215
|
-
** mutex. The argument to sqlite3_mutex_alloc() must one of these
|
|
8215
|
+
** mutex. The argument to sqlite3_mutex_alloc() must be one of these
|
|
8216
8216
|
** integer constants:
|
|
8217
8217
|
**
|
|
8218
8218
|
** <ul>
|
|
@@ -8445,7 +8445,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
|
|
|
8445
8445
|
** CAPI3REF: Retrieve the mutex for a database connection
|
|
8446
8446
|
** METHOD: sqlite3
|
|
8447
8447
|
**
|
|
8448
|
-
** ^This interface returns a pointer the [sqlite3_mutex] object that
|
|
8448
|
+
** ^This interface returns a pointer to the [sqlite3_mutex] object that
|
|
8449
8449
|
** serializes access to the [database connection] given in the argument
|
|
8450
8450
|
** when the [threading mode] is Serialized.
|
|
8451
8451
|
** ^If the [threading mode] is Single-thread or Multi-thread then this
|
|
@@ -8568,7 +8568,7 @@ SQLITE_API int sqlite3_test_control(int op, ...);
|
|
|
8568
8568
|
** CAPI3REF: SQL Keyword Checking
|
|
8569
8569
|
**
|
|
8570
8570
|
** These routines provide access to the set of SQL language keywords
|
|
8571
|
-
** recognized by SQLite. Applications can
|
|
8571
|
+
** recognized by SQLite. Applications can use these routines to determine
|
|
8572
8572
|
** whether or not a specific identifier needs to be escaped (for example,
|
|
8573
8573
|
** by enclosing in double-quotes) so as not to confuse the parser.
|
|
8574
8574
|
**
|
|
@@ -8736,7 +8736,7 @@ SQLITE_API void sqlite3_str_reset(sqlite3_str*);
|
|
|
8736
8736
|
** content of the dynamic string under construction in X. The value
|
|
8737
8737
|
** returned by [sqlite3_str_value(X)] is managed by the sqlite3_str object X
|
|
8738
8738
|
** and might be freed or altered by any subsequent method on the same
|
|
8739
|
-
** [sqlite3_str] object. Applications must not
|
|
8739
|
+
** [sqlite3_str] object. Applications must not use the pointer returned by
|
|
8740
8740
|
** [sqlite3_str_value(X)] after any subsequent method call on the same
|
|
8741
8741
|
** object. ^Applications may change the content of the string returned
|
|
8742
8742
|
** by [sqlite3_str_value(X)] as long as they do not write into any bytes
|
|
@@ -8822,7 +8822,7 @@ SQLITE_API int sqlite3_status64(
|
|
|
8822
8822
|
** allocation which could not be satisfied by the [SQLITE_CONFIG_PAGECACHE]
|
|
8823
8823
|
** buffer and where forced to overflow to [sqlite3_malloc()]. The
|
|
8824
8824
|
** returned value includes allocations that overflowed because they
|
|
8825
|
-
**
|
|
8825
|
+
** were too large (they were larger than the "sz" parameter to
|
|
8826
8826
|
** [SQLITE_CONFIG_PAGECACHE]) and allocations that overflowed because
|
|
8827
8827
|
** no space was left in the page cache.</dd>)^
|
|
8828
8828
|
**
|
|
@@ -8906,28 +8906,29 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
|
|
|
8906
8906
|
** [[SQLITE_DBSTATUS_LOOKASIDE_HIT]] ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_HIT</dt>
|
|
8907
8907
|
** <dd>This parameter returns the number of malloc attempts that were
|
|
8908
8908
|
** satisfied using lookaside memory. Only the high-water value is meaningful;
|
|
8909
|
-
** the current value is always zero
|
|
8909
|
+
** the current value is always zero.</dd>)^
|
|
8910
8910
|
**
|
|
8911
8911
|
** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE]]
|
|
8912
8912
|
** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE</dt>
|
|
8913
|
-
** <dd>This parameter returns the number malloc attempts that might have
|
|
8913
|
+
** <dd>This parameter returns the number of malloc attempts that might have
|
|
8914
8914
|
** been satisfied using lookaside memory but failed due to the amount of
|
|
8915
8915
|
** memory requested being larger than the lookaside slot size.
|
|
8916
8916
|
** Only the high-water value is meaningful;
|
|
8917
|
-
** the current value is always zero
|
|
8917
|
+
** the current value is always zero.</dd>)^
|
|
8918
8918
|
**
|
|
8919
8919
|
** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL]]
|
|
8920
8920
|
** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL</dt>
|
|
8921
|
-
** <dd>This parameter returns the number malloc attempts that might have
|
|
8921
|
+
** <dd>This parameter returns the number of malloc attempts that might have
|
|
8922
8922
|
** been satisfied using lookaside memory but failed due to all lookaside
|
|
8923
8923
|
** memory already being in use.
|
|
8924
8924
|
** Only the high-water value is meaningful;
|
|
8925
|
-
** the current value is always zero
|
|
8925
|
+
** the current value is always zero.</dd>)^
|
|
8926
8926
|
**
|
|
8927
8927
|
** [[SQLITE_DBSTATUS_CACHE_USED]] ^(<dt>SQLITE_DBSTATUS_CACHE_USED</dt>
|
|
8928
8928
|
** <dd>This parameter returns the approximate number of bytes of heap
|
|
8929
8929
|
** memory used by all pager caches associated with the database connection.)^
|
|
8930
8930
|
** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0.
|
|
8931
|
+
** </dd>
|
|
8931
8932
|
**
|
|
8932
8933
|
** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]]
|
|
8933
8934
|
** ^(<dt>SQLITE_DBSTATUS_CACHE_USED_SHARED</dt>
|
|
@@ -8936,10 +8937,10 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
|
|
|
8936
8937
|
** memory used by that pager cache is divided evenly between the attached
|
|
8937
8938
|
** connections.)^ In other words, if none of the pager caches associated
|
|
8938
8939
|
** with the database connection are shared, this request returns the same
|
|
8939
|
-
** value as DBSTATUS_CACHE_USED. Or, if one or more
|
|
8940
|
+
** value as DBSTATUS_CACHE_USED. Or, if one or more of the pager caches are
|
|
8940
8941
|
** shared, the value returned by this call will be smaller than that returned
|
|
8941
8942
|
** by DBSTATUS_CACHE_USED. ^The highwater mark associated with
|
|
8942
|
-
** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0
|
|
8943
|
+
** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0.</dd>
|
|
8943
8944
|
**
|
|
8944
8945
|
** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(<dt>SQLITE_DBSTATUS_SCHEMA_USED</dt>
|
|
8945
8946
|
** <dd>This parameter returns the approximate number of bytes of heap
|
|
@@ -8949,6 +8950,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
|
|
|
8949
8950
|
** schema memory is shared with other database connections due to
|
|
8950
8951
|
** [shared cache mode] being enabled.
|
|
8951
8952
|
** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0.
|
|
8953
|
+
** </dd>
|
|
8952
8954
|
**
|
|
8953
8955
|
** [[SQLITE_DBSTATUS_STMT_USED]] ^(<dt>SQLITE_DBSTATUS_STMT_USED</dt>
|
|
8954
8956
|
** <dd>This parameter returns the approximate number of bytes of heap
|
|
@@ -8985,7 +8987,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
|
|
|
8985
8987
|
** been written to disk in the middle of a transaction due to the page
|
|
8986
8988
|
** cache overflowing. Transactions are more efficient if they are written
|
|
8987
8989
|
** to disk all at once. When pages spill mid-transaction, that introduces
|
|
8988
|
-
** additional overhead. This parameter can be used help identify
|
|
8990
|
+
** additional overhead. This parameter can be used to help identify
|
|
8989
8991
|
** inefficiencies that can be resolved by increasing the cache size.
|
|
8990
8992
|
** </dd>
|
|
8991
8993
|
**
|
|
@@ -9056,13 +9058,13 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
|
|
|
9056
9058
|
** [[SQLITE_STMTSTATUS_SORT]] <dt>SQLITE_STMTSTATUS_SORT</dt>
|
|
9057
9059
|
** <dd>^This is the number of sort operations that have occurred.
|
|
9058
9060
|
** A non-zero value in this counter may indicate an opportunity to
|
|
9059
|
-
**
|
|
9061
|
+
** improve performance through careful use of indices.</dd>
|
|
9060
9062
|
**
|
|
9061
9063
|
** [[SQLITE_STMTSTATUS_AUTOINDEX]] <dt>SQLITE_STMTSTATUS_AUTOINDEX</dt>
|
|
9062
9064
|
** <dd>^This is the number of rows inserted into transient indices that
|
|
9063
9065
|
** were created automatically in order to help joins run faster.
|
|
9064
9066
|
** A non-zero value in this counter may indicate an opportunity to
|
|
9065
|
-
**
|
|
9067
|
+
** improve performance by adding permanent indices that do not
|
|
9066
9068
|
** need to be reinitialized each time the statement is run.</dd>
|
|
9067
9069
|
**
|
|
9068
9070
|
** [[SQLITE_STMTSTATUS_VM_STEP]] <dt>SQLITE_STMTSTATUS_VM_STEP</dt>
|
|
@@ -9071,19 +9073,19 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
|
|
|
9071
9073
|
** to 2147483647. The number of virtual machine operations can be
|
|
9072
9074
|
** used as a proxy for the total work done by the prepared statement.
|
|
9073
9075
|
** If the number of virtual machine operations exceeds 2147483647
|
|
9074
|
-
** then the value returned by this statement status code is undefined
|
|
9076
|
+
** then the value returned by this statement status code is undefined.</dd>
|
|
9075
9077
|
**
|
|
9076
9078
|
** [[SQLITE_STMTSTATUS_REPREPARE]] <dt>SQLITE_STMTSTATUS_REPREPARE</dt>
|
|
9077
9079
|
** <dd>^This is the number of times that the prepare statement has been
|
|
9078
9080
|
** automatically regenerated due to schema changes or changes to
|
|
9079
|
-
** [bound parameters] that might affect the query plan
|
|
9081
|
+
** [bound parameters] that might affect the query plan.</dd>
|
|
9080
9082
|
**
|
|
9081
9083
|
** [[SQLITE_STMTSTATUS_RUN]] <dt>SQLITE_STMTSTATUS_RUN</dt>
|
|
9082
9084
|
** <dd>^This is the number of times that the prepared statement has
|
|
9083
9085
|
** been run. A single "run" for the purposes of this counter is one
|
|
9084
9086
|
** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()].
|
|
9085
9087
|
** The counter is incremented on the first [sqlite3_step()] call of each
|
|
9086
|
-
** cycle
|
|
9088
|
+
** cycle.</dd>
|
|
9087
9089
|
**
|
|
9088
9090
|
** [[SQLITE_STMTSTATUS_FILTER_MISS]]
|
|
9089
9091
|
** [[SQLITE_STMTSTATUS_FILTER HIT]]
|
|
@@ -9093,7 +9095,7 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
|
|
|
9093
9095
|
** step was bypassed because a Bloom filter returned not-found. The
|
|
9094
9096
|
** corresponding SQLITE_STMTSTATUS_FILTER_MISS value is the number of
|
|
9095
9097
|
** times that the Bloom filter returned a find, and thus the join step
|
|
9096
|
-
** had to be processed as normal
|
|
9098
|
+
** had to be processed as normal.</dd>
|
|
9097
9099
|
**
|
|
9098
9100
|
** [[SQLITE_STMTSTATUS_MEMUSED]] <dt>SQLITE_STMTSTATUS_MEMUSED</dt>
|
|
9099
9101
|
** <dd>^This is the approximate number of bytes of heap memory
|
|
@@ -9198,9 +9200,9 @@ struct sqlite3_pcache_page {
|
|
|
9198
9200
|
** SQLite will typically create one cache instance for each open database file,
|
|
9199
9201
|
** though this is not guaranteed. ^The
|
|
9200
9202
|
** first parameter, szPage, is the size in bytes of the pages that must
|
|
9201
|
-
** be allocated by the cache. ^szPage will always a power of two. ^The
|
|
9203
|
+
** be allocated by the cache. ^szPage will always be a power of two. ^The
|
|
9202
9204
|
** second parameter szExtra is a number of bytes of extra storage
|
|
9203
|
-
** associated with each page cache entry. ^The szExtra parameter will
|
|
9205
|
+
** associated with each page cache entry. ^The szExtra parameter will be
|
|
9204
9206
|
** a number less than 250. SQLite will use the
|
|
9205
9207
|
** extra szExtra bytes on each page to store metadata about the underlying
|
|
9206
9208
|
** database page on disk. The value passed into szExtra depends
|
|
@@ -9208,17 +9210,17 @@ struct sqlite3_pcache_page {
|
|
|
9208
9210
|
** ^The third argument to xCreate(), bPurgeable, is true if the cache being
|
|
9209
9211
|
** created will be used to cache database pages of a file stored on disk, or
|
|
9210
9212
|
** false if it is used for an in-memory database. The cache implementation
|
|
9211
|
-
** does not have to do anything special based
|
|
9213
|
+
** does not have to do anything special based upon the value of bPurgeable;
|
|
9212
9214
|
** it is purely advisory. ^On a cache where bPurgeable is false, SQLite will
|
|
9213
9215
|
** never invoke xUnpin() except to deliberately delete a page.
|
|
9214
9216
|
** ^In other words, calls to xUnpin() on a cache with bPurgeable set to
|
|
9215
9217
|
** false will always have the "discard" flag set to true.
|
|
9216
|
-
** ^Hence, a cache created with bPurgeable false will
|
|
9218
|
+
** ^Hence, a cache created with bPurgeable set to false will
|
|
9217
9219
|
** never contain any unpinned pages.
|
|
9218
9220
|
**
|
|
9219
9221
|
** [[the xCachesize() page cache method]]
|
|
9220
9222
|
** ^(The xCachesize() method may be called at any time by SQLite to set the
|
|
9221
|
-
** suggested maximum cache-size (number of pages stored
|
|
9223
|
+
** suggested maximum cache-size (number of pages stored) for the cache
|
|
9222
9224
|
** instance passed as the first argument. This is the value configured using
|
|
9223
9225
|
** the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable
|
|
9224
9226
|
** parameter, the implementation is not required to do anything with this
|
|
@@ -9245,12 +9247,12 @@ struct sqlite3_pcache_page {
|
|
|
9245
9247
|
** implementation must return a pointer to the page buffer with its content
|
|
9246
9248
|
** intact. If the requested page is not already in the cache, then the
|
|
9247
9249
|
** cache implementation should use the value of the createFlag
|
|
9248
|
-
** parameter to help it
|
|
9250
|
+
** parameter to help it determine what action to take:
|
|
9249
9251
|
**
|
|
9250
9252
|
** <table border=1 width=85% align=center>
|
|
9251
9253
|
** <tr><th> createFlag <th> Behavior when page is not already in cache
|
|
9252
9254
|
** <tr><td> 0 <td> Do not allocate a new page. Return NULL.
|
|
9253
|
-
** <tr><td> 1 <td> Allocate a new page if it easy and convenient to do so.
|
|
9255
|
+
** <tr><td> 1 <td> Allocate a new page if it is easy and convenient to do so.
|
|
9254
9256
|
** Otherwise return NULL.
|
|
9255
9257
|
** <tr><td> 2 <td> Make every effort to allocate a new page. Only return
|
|
9256
9258
|
** NULL if allocating a new page is effectively impossible.
|
|
@@ -9267,7 +9269,7 @@ struct sqlite3_pcache_page {
|
|
|
9267
9269
|
** as its second argument. If the third parameter, discard, is non-zero,
|
|
9268
9270
|
** then the page must be evicted from the cache.
|
|
9269
9271
|
** ^If the discard parameter is
|
|
9270
|
-
** zero, then the page may be discarded or retained at the discretion of
|
|
9272
|
+
** zero, then the page may be discarded or retained at the discretion of the
|
|
9271
9273
|
** page cache implementation. ^The page cache implementation
|
|
9272
9274
|
** may choose to evict unpinned pages at any time.
|
|
9273
9275
|
**
|
|
@@ -9285,7 +9287,7 @@ struct sqlite3_pcache_page {
|
|
|
9285
9287
|
** When SQLite calls the xTruncate() method, the cache must discard all
|
|
9286
9288
|
** existing cache entries with page numbers (keys) greater than or equal
|
|
9287
9289
|
** to the value of the iLimit parameter passed to xTruncate(). If any
|
|
9288
|
-
** of these pages are pinned, they
|
|
9290
|
+
** of these pages are pinned, they become implicitly unpinned, meaning that
|
|
9289
9291
|
** they can be safely discarded.
|
|
9290
9292
|
**
|
|
9291
9293
|
** [[the xDestroy() page cache method]]
|
|
@@ -9465,7 +9467,7 @@ typedef struct sqlite3_backup sqlite3_backup;
|
|
|
9465
9467
|
** external process or via a database connection other than the one being
|
|
9466
9468
|
** used by the backup operation, then the backup will be automatically
|
|
9467
9469
|
** restarted by the next call to sqlite3_backup_step(). ^If the source
|
|
9468
|
-
** database is modified by
|
|
9470
|
+
** database is modified by using the same database connection as is used
|
|
9469
9471
|
** by the backup operation, then the backup database is automatically
|
|
9470
9472
|
** updated at the same time.
|
|
9471
9473
|
**
|
|
@@ -9482,7 +9484,7 @@ typedef struct sqlite3_backup sqlite3_backup;
|
|
|
9482
9484
|
** and may not be used following a call to sqlite3_backup_finish().
|
|
9483
9485
|
**
|
|
9484
9486
|
** ^The value returned by sqlite3_backup_finish is [SQLITE_OK] if no
|
|
9485
|
-
** sqlite3_backup_step() errors occurred, regardless
|
|
9487
|
+
** sqlite3_backup_step() errors occurred, regardless of whether or not
|
|
9486
9488
|
** sqlite3_backup_step() completed.
|
|
9487
9489
|
** ^If an out-of-memory condition or IO error occurred during any prior
|
|
9488
9490
|
** sqlite3_backup_step() call on the same [sqlite3_backup] object, then
|
|
@@ -9584,7 +9586,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
|
|
|
9584
9586
|
** application receives an SQLITE_LOCKED error, it may call the
|
|
9585
9587
|
** sqlite3_unlock_notify() method with the blocked connection handle as
|
|
9586
9588
|
** the first argument to register for a callback that will be invoked
|
|
9587
|
-
** when the blocking
|
|
9589
|
+
** when the blocking connection's current transaction is concluded. ^The
|
|
9588
9590
|
** callback is invoked from within the [sqlite3_step] or [sqlite3_close]
|
|
9589
9591
|
** call that concludes the blocking connection's transaction.
|
|
9590
9592
|
**
|
|
@@ -9604,7 +9606,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
|
|
|
9604
9606
|
** blocked connection already has a registered unlock-notify callback,
|
|
9605
9607
|
** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is
|
|
9606
9608
|
** called with a NULL pointer as its second argument, then any existing
|
|
9607
|
-
** unlock-notify callback is canceled. ^The blocked
|
|
9609
|
+
** unlock-notify callback is canceled. ^The blocked connection's
|
|
9608
9610
|
** unlock-notify callback may also be canceled by closing the blocked
|
|
9609
9611
|
** connection using [sqlite3_close()].
|
|
9610
9612
|
**
|
|
@@ -10002,7 +10004,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
|
|
|
10002
10004
|
** support constraints. In this configuration (which is the default) if
|
|
10003
10005
|
** a call to the [xUpdate] method returns [SQLITE_CONSTRAINT], then the entire
|
|
10004
10006
|
** statement is rolled back as if [ON CONFLICT | OR ABORT] had been
|
|
10005
|
-
** specified as part of the
|
|
10007
|
+
** specified as part of the user's SQL statement, regardless of the actual
|
|
10006
10008
|
** ON CONFLICT mode specified.
|
|
10007
10009
|
**
|
|
10008
10010
|
** If X is non-zero, then the virtual table implementation guarantees
|
|
@@ -10036,7 +10038,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
|
|
|
10036
10038
|
** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt>
|
|
10037
10039
|
** <dd>Calls of the form
|
|
10038
10040
|
** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the
|
|
10039
|
-
**
|
|
10041
|
+
** [xConnect] or [xCreate] methods of a [virtual table] implementation
|
|
10040
10042
|
** identify that virtual table as being safe to use from within triggers
|
|
10041
10043
|
** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the
|
|
10042
10044
|
** virtual table can do no serious harm even if it is controlled by a
|
|
@@ -10204,7 +10206,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
|
|
|
10204
10206
|
** </table>
|
|
10205
10207
|
**
|
|
10206
10208
|
** ^For the purposes of comparing virtual table output values to see if the
|
|
10207
|
-
** values are same value for sorting purposes, two NULL values are considered
|
|
10209
|
+
** values are the same value for sorting purposes, two NULL values are considered
|
|
10208
10210
|
** to be the same. In other words, the comparison operator is "IS"
|
|
10209
10211
|
** (or "IS NOT DISTINCT FROM") and not "==".
|
|
10210
10212
|
**
|
|
@@ -10214,7 +10216,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
|
|
|
10214
10216
|
**
|
|
10215
10217
|
** ^A virtual table implementation is always free to return rows in any order
|
|
10216
10218
|
** it wants, as long as the "orderByConsumed" flag is not set. ^When the
|
|
10217
|
-
**
|
|
10219
|
+
** "orderByConsumed" flag is unset, the query planner will add extra
|
|
10218
10220
|
** [bytecode] to ensure that the final results returned by the SQL query are
|
|
10219
10221
|
** ordered correctly. The use of the "orderByConsumed" flag and the
|
|
10220
10222
|
** sqlite3_vtab_distinct() interface is merely an optimization. ^Careful
|
|
@@ -10311,7 +10313,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
|
|
|
10311
10313
|
** sqlite3_vtab_in_next(X,P) should be one of the parameters to the
|
|
10312
10314
|
** xFilter method which invokes these routines, and specifically
|
|
10313
10315
|
** a parameter that was previously selected for all-at-once IN constraint
|
|
10314
|
-
** processing
|
|
10316
|
+
** processing using the [sqlite3_vtab_in()] interface in the
|
|
10315
10317
|
** [xBestIndex|xBestIndex method]. ^(If the X parameter is not
|
|
10316
10318
|
** an xFilter argument that was selected for all-at-once IN constraint
|
|
10317
10319
|
** processing, then these routines return [SQLITE_ERROR].)^
|
|
@@ -10366,7 +10368,7 @@ SQLITE_API int sqlite3_vtab_in_next(sqlite3_value *pVal, sqlite3_value **ppOut);
|
|
|
10366
10368
|
** and only if *V is set to a value. ^The sqlite3_vtab_rhs_value(P,J,V)
|
|
10367
10369
|
** inteface returns SQLITE_NOTFOUND if the right-hand side of the J-th
|
|
10368
10370
|
** constraint is not available. ^The sqlite3_vtab_rhs_value() interface
|
|
10369
|
-
** can return
|
|
10371
|
+
** can return a result code other than SQLITE_OK or SQLITE_NOTFOUND if
|
|
10370
10372
|
** something goes wrong.
|
|
10371
10373
|
**
|
|
10372
10374
|
** The sqlite3_vtab_rhs_value() interface is usually only successful if
|
|
@@ -10394,8 +10396,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
|
|
|
10394
10396
|
** KEYWORDS: {conflict resolution mode}
|
|
10395
10397
|
**
|
|
10396
10398
|
** These constants are returned by [sqlite3_vtab_on_conflict()] to
|
|
10397
|
-
** inform a [virtual table] implementation
|
|
10398
|
-
**
|
|
10399
|
+
** inform a [virtual table] implementation of the [ON CONFLICT] mode
|
|
10400
|
+
** for the SQL statement being evaluated.
|
|
10399
10401
|
**
|
|
10400
10402
|
** Note that the [SQLITE_IGNORE] constant is also used as a potential
|
|
10401
10403
|
** return value from the [sqlite3_set_authorizer()] callback and that
|
|
@@ -10435,39 +10437,39 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
|
|
|
10435
10437
|
** [[SQLITE_SCANSTAT_EST]] <dt>SQLITE_SCANSTAT_EST</dt>
|
|
10436
10438
|
** <dd>^The "double" variable pointed to by the V parameter will be set to the
|
|
10437
10439
|
** query planner's estimate for the average number of rows output from each
|
|
10438
|
-
** iteration of the X-th loop. If the query planner's
|
|
10440
|
+
** iteration of the X-th loop. If the query planner's estimate was accurate,
|
|
10439
10441
|
** then this value will approximate the quotient NVISIT/NLOOP and the
|
|
10440
10442
|
** product of this value for all prior loops with the same SELECTID will
|
|
10441
|
-
** be the NLOOP value for the current loop
|
|
10443
|
+
** be the NLOOP value for the current loop.</dd>
|
|
10442
10444
|
**
|
|
10443
10445
|
** [[SQLITE_SCANSTAT_NAME]] <dt>SQLITE_SCANSTAT_NAME</dt>
|
|
10444
10446
|
** <dd>^The "const char *" variable pointed to by the V parameter will be set
|
|
10445
10447
|
** to a zero-terminated UTF-8 string containing the name of the index or table
|
|
10446
|
-
** used for the X-th loop
|
|
10448
|
+
** used for the X-th loop.</dd>
|
|
10447
10449
|
**
|
|
10448
10450
|
** [[SQLITE_SCANSTAT_EXPLAIN]] <dt>SQLITE_SCANSTAT_EXPLAIN</dt>
|
|
10449
10451
|
** <dd>^The "const char *" variable pointed to by the V parameter will be set
|
|
10450
10452
|
** to a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN]
|
|
10451
|
-
** description for the X-th loop
|
|
10453
|
+
** description for the X-th loop.</dd>
|
|
10452
10454
|
**
|
|
10453
10455
|
** [[SQLITE_SCANSTAT_SELECTID]] <dt>SQLITE_SCANSTAT_SELECTID</dt>
|
|
10454
10456
|
** <dd>^The "int" variable pointed to by the V parameter will be set to the
|
|
10455
10457
|
** id for the X-th query plan element. The id value is unique within the
|
|
10456
10458
|
** statement. The select-id is the same value as is output in the first
|
|
10457
|
-
** column of an [EXPLAIN QUERY PLAN] query
|
|
10459
|
+
** column of an [EXPLAIN QUERY PLAN] query.</dd>
|
|
10458
10460
|
**
|
|
10459
10461
|
** [[SQLITE_SCANSTAT_PARENTID]] <dt>SQLITE_SCANSTAT_PARENTID</dt>
|
|
10460
10462
|
** <dd>The "int" variable pointed to by the V parameter will be set to the
|
|
10461
|
-
**
|
|
10463
|
+
** id of the parent of the current query element, if applicable, or
|
|
10462
10464
|
** to zero if the query element has no parent. This is the same value as
|
|
10463
|
-
** returned in the second column of an [EXPLAIN QUERY PLAN] query
|
|
10465
|
+
** returned in the second column of an [EXPLAIN QUERY PLAN] query.</dd>
|
|
10464
10466
|
**
|
|
10465
10467
|
** [[SQLITE_SCANSTAT_NCYCLE]] <dt>SQLITE_SCANSTAT_NCYCLE</dt>
|
|
10466
10468
|
** <dd>The sqlite3_int64 output value is set to the number of cycles,
|
|
10467
10469
|
** according to the processor time-stamp counter, that elapsed while the
|
|
10468
10470
|
** query element was being processed. This value is not available for
|
|
10469
10471
|
** all query elements - if it is unavailable the output variable is
|
|
10470
|
-
** set to -1
|
|
10472
|
+
** set to -1.</dd>
|
|
10471
10473
|
** </dl>
|
|
10472
10474
|
*/
|
|
10473
10475
|
#define SQLITE_SCANSTAT_NLOOP 0
|
|
@@ -10508,8 +10510,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
|
|
|
10508
10510
|
** sqlite3_stmt_scanstatus_v2() with a zeroed flags parameter.
|
|
10509
10511
|
**
|
|
10510
10512
|
** Parameter "idx" identifies the specific query element to retrieve statistics
|
|
10511
|
-
** for. Query elements are numbered starting from zero. A value of -1 may
|
|
10512
|
-
**
|
|
10513
|
+
** for. Query elements are numbered starting from zero. A value of -1 may
|
|
10514
|
+
** retrieve statistics for the entire query. ^If idx is out of range
|
|
10513
10515
|
** - less than -1 or greater than or equal to the total number of query
|
|
10514
10516
|
** elements used to implement the statement - a non-zero value is returned and
|
|
10515
10517
|
** the variable that pOut points to is unchanged.
|
|
@@ -10552,7 +10554,7 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
|
|
|
10552
10554
|
** METHOD: sqlite3
|
|
10553
10555
|
**
|
|
10554
10556
|
** ^If a write-transaction is open on [database connection] D when the
|
|
10555
|
-
** [sqlite3_db_cacheflush(D)] interface invoked, any dirty
|
|
10557
|
+
** [sqlite3_db_cacheflush(D)] interface is invoked, any dirty
|
|
10556
10558
|
** pages in the pager-cache that are not currently in use are written out
|
|
10557
10559
|
** to disk. A dirty page may be in use if a database cursor created by an
|
|
10558
10560
|
** active SQL statement is reading from it, or if it is page 1 of a database
|
|
@@ -10666,8 +10668,8 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
|
|
|
10666
10668
|
** triggers; and so forth.
|
|
10667
10669
|
**
|
|
10668
10670
|
** When the [sqlite3_blob_write()] API is used to update a blob column,
|
|
10669
|
-
** the pre-update hook is invoked with SQLITE_DELETE
|
|
10670
|
-
**
|
|
10671
|
+
** the pre-update hook is invoked with SQLITE_DELETE, because
|
|
10672
|
+
** the new values are not yet available. In this case, when a
|
|
10671
10673
|
** callback made with op==SQLITE_DELETE is actually a write using the
|
|
10672
10674
|
** sqlite3_blob_write() API, the [sqlite3_preupdate_blobwrite()] returns
|
|
10673
10675
|
** the index of the column being written. In other cases, where the
|
|
@@ -10920,7 +10922,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
|
|
|
10920
10922
|
** For an ordinary on-disk database file, the serialization is just a
|
|
10921
10923
|
** copy of the disk file. For an in-memory database or a "TEMP" database,
|
|
10922
10924
|
** the serialization is the same sequence of bytes which would be written
|
|
10923
|
-
** to disk if that database
|
|
10925
|
+
** to disk if that database were backed up to disk.
|
|
10924
10926
|
**
|
|
10925
10927
|
** The usual case is that sqlite3_serialize() copies the serialization of
|
|
10926
10928
|
** the database into memory obtained from [sqlite3_malloc64()] and returns
|
|
@@ -10929,7 +10931,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
|
|
|
10929
10931
|
** contains the SQLITE_SERIALIZE_NOCOPY bit, then no memory allocations
|
|
10930
10932
|
** are made, and the sqlite3_serialize() function will return a pointer
|
|
10931
10933
|
** to the contiguous memory representation of the database that SQLite
|
|
10932
|
-
** is currently using for that database, or NULL if
|
|
10934
|
+
** is currently using for that database, or NULL if no such contiguous
|
|
10933
10935
|
** memory representation of the database exists. A contiguous memory
|
|
10934
10936
|
** representation of the database will usually only exist if there has
|
|
10935
10937
|
** been a prior call to [sqlite3_deserialize(D,S,...)] with the same
|
|
@@ -11000,7 +11002,7 @@ SQLITE_API unsigned char *sqlite3_serialize(
|
|
|
11000
11002
|
** database is currently in a read transaction or is involved in a backup
|
|
11001
11003
|
** operation.
|
|
11002
11004
|
**
|
|
11003
|
-
** It is not possible to
|
|
11005
|
+
** It is not possible to deserialize into the TEMP database. If the
|
|
11004
11006
|
** S argument to sqlite3_deserialize(D,S,P,N,M,F) is "temp" then the
|
|
11005
11007
|
** function returns SQLITE_ERROR.
|
|
11006
11008
|
**
|
|
@@ -11022,7 +11024,7 @@ SQLITE_API int sqlite3_deserialize(
|
|
|
11022
11024
|
sqlite3 *db, /* The database connection */
|
|
11023
11025
|
const char *zSchema, /* Which DB to reopen with the deserialization */
|
|
11024
11026
|
unsigned char *pData, /* The serialized database content */
|
|
11025
|
-
sqlite3_int64 szDb, /* Number bytes in the deserialization */
|
|
11027
|
+
sqlite3_int64 szDb, /* Number of bytes in the deserialization */
|
|
11026
11028
|
sqlite3_int64 szBuf, /* Total size of buffer pData[] */
|
|
11027
11029
|
unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */
|
|
11028
11030
|
);
|
|
@@ -11030,7 +11032,7 @@ SQLITE_API int sqlite3_deserialize(
|
|
|
11030
11032
|
/*
|
|
11031
11033
|
** CAPI3REF: Flags for sqlite3_deserialize()
|
|
11032
11034
|
**
|
|
11033
|
-
** The following are allowed values for 6th argument (the F argument) to
|
|
11035
|
+
** The following are allowed values for the 6th argument (the F argument) to
|
|
11034
11036
|
** the [sqlite3_deserialize(D,S,P,N,M,F)] interface.
|
|
11035
11037
|
**
|
|
11036
11038
|
** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization
|