forked from cory/tildefriends
sqlite-amalgamation-3420000.zip
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4300 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
parent
10d4ae7dcc
commit
e073ebedd1
966
deps/sqlite/shell.c
vendored
966
deps/sqlite/shell.c
vendored
File diff suppressed because it is too large
Load Diff
6419
deps/sqlite/sqlite3.c
vendored
6419
deps/sqlite/sqlite3.c
vendored
File diff suppressed because it is too large
Load Diff
158
deps/sqlite/sqlite3.h
vendored
158
deps/sqlite/sqlite3.h
vendored
@ -146,9 +146,9 @@ extern "C" {
|
|||||||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||||
** [sqlite_version()] and [sqlite_source_id()].
|
** [sqlite_version()] and [sqlite_source_id()].
|
||||||
*/
|
*/
|
||||||
#define SQLITE_VERSION "3.41.2"
|
#define SQLITE_VERSION "3.42.0"
|
||||||
#define SQLITE_VERSION_NUMBER 3041002
|
#define SQLITE_VERSION_NUMBER 3042000
|
||||||
#define SQLITE_SOURCE_ID "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
|
#define SQLITE_SOURCE_ID "2023-05-16 12:36:15 831d0fb2836b71c9bc51067c49fee4b8f18047814f2ff22d817d25195cf350b0"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Run-Time Library Version Numbers
|
** CAPI3REF: Run-Time Library Version Numbers
|
||||||
@ -1655,20 +1655,23 @@ SQLITE_API int sqlite3_os_end(void);
|
|||||||
** must ensure that no other SQLite interfaces are invoked by other
|
** must ensure that no other SQLite interfaces are invoked by other
|
||||||
** threads while sqlite3_config() is running.</b>
|
** threads while sqlite3_config() is running.</b>
|
||||||
**
|
**
|
||||||
** The sqlite3_config() interface
|
|
||||||
** may only be invoked prior to library initialization using
|
|
||||||
** [sqlite3_initialize()] or after shutdown by [sqlite3_shutdown()].
|
|
||||||
** ^If sqlite3_config() is called after [sqlite3_initialize()] and before
|
|
||||||
** [sqlite3_shutdown()] then it will return SQLITE_MISUSE.
|
|
||||||
** Note, however, that ^sqlite3_config() can be called as part of the
|
|
||||||
** implementation of an application-defined [sqlite3_os_init()].
|
|
||||||
**
|
|
||||||
** The first argument to sqlite3_config() is an integer
|
** The first argument to sqlite3_config() is an integer
|
||||||
** [configuration option] that determines
|
** [configuration option] that determines
|
||||||
** what property of SQLite is to be configured. Subsequent arguments
|
** what property of SQLite is to be configured. Subsequent arguments
|
||||||
** vary depending on the [configuration option]
|
** vary depending on the [configuration option]
|
||||||
** in the first argument.
|
** in the first argument.
|
||||||
**
|
**
|
||||||
|
** For most configuration options, the sqlite3_config() interface
|
||||||
|
** may only be invoked prior to library initialization using
|
||||||
|
** [sqlite3_initialize()] or after shutdown by [sqlite3_shutdown()].
|
||||||
|
** The exceptional configuration options that may be invoked at any time
|
||||||
|
** are called "anytime configuration options".
|
||||||
|
** ^If sqlite3_config() is called after [sqlite3_initialize()] and before
|
||||||
|
** [sqlite3_shutdown()] with a first argument that is not an anytime
|
||||||
|
** configuration option, then the sqlite3_config() call will return SQLITE_MISUSE.
|
||||||
|
** Note, however, that ^sqlite3_config() can be called as part of the
|
||||||
|
** implementation of an application-defined [sqlite3_os_init()].
|
||||||
|
**
|
||||||
** ^When a configuration option is set, sqlite3_config() returns [SQLITE_OK].
|
** ^When a configuration option is set, sqlite3_config() returns [SQLITE_OK].
|
||||||
** ^If the option is unknown or SQLite is unable to set the option
|
** ^If the option is unknown or SQLite is unable to set the option
|
||||||
** then this routine returns a non-zero [error code].
|
** then this routine returns a non-zero [error code].
|
||||||
@ -1776,6 +1779,23 @@ struct sqlite3_mem_methods {
|
|||||||
** These constants are the available integer configuration options that
|
** These constants are the available integer configuration options that
|
||||||
** can be passed as the first argument to the [sqlite3_config()] interface.
|
** can be passed as the first argument to the [sqlite3_config()] interface.
|
||||||
**
|
**
|
||||||
|
** Most of the configuration options for sqlite3_config()
|
||||||
|
** will only work if invoked prior to [sqlite3_initialize()] or after
|
||||||
|
** [sqlite3_shutdown()]. The few exceptions to this rule are called
|
||||||
|
** "anytime configuration options".
|
||||||
|
** ^Calling [sqlite3_config()] with a first argument that is not an
|
||||||
|
** anytime configuration option in between calls to [sqlite3_initialize()] and
|
||||||
|
** [sqlite3_shutdown()] is a no-op that returns SQLITE_MISUSE.
|
||||||
|
**
|
||||||
|
** The set of anytime configuration options can change (by insertions
|
||||||
|
** and/or deletions) from one release of SQLite to the next.
|
||||||
|
** As of SQLite version 3.42.0, the complete set of anytime configuration
|
||||||
|
** options is:
|
||||||
|
** <ul>
|
||||||
|
** <li> SQLITE_CONFIG_LOG
|
||||||
|
** <li> SQLITE_CONFIG_PCACHE_HDRSZ
|
||||||
|
** </ul>
|
||||||
|
**
|
||||||
** New configuration options may be added in future releases of SQLite.
|
** New configuration options may be added in future releases of SQLite.
|
||||||
** Existing configuration options might be discontinued. Applications
|
** Existing configuration options might be discontinued. Applications
|
||||||
** should check the return code from [sqlite3_config()] to make sure that
|
** should check the return code from [sqlite3_config()] to make sure that
|
||||||
@ -2378,7 +2398,7 @@ struct sqlite3_mem_methods {
|
|||||||
** </dd>
|
** </dd>
|
||||||
**
|
**
|
||||||
** [[SQLITE_DBCONFIG_DQS_DML]]
|
** [[SQLITE_DBCONFIG_DQS_DML]]
|
||||||
** <dt>SQLITE_DBCONFIG_DQS_DML</td>
|
** <dt>SQLITE_DBCONFIG_DQS_DML</dt>
|
||||||
** <dd>The SQLITE_DBCONFIG_DQS_DML option activates or deactivates
|
** <dd>The SQLITE_DBCONFIG_DQS_DML option activates or deactivates
|
||||||
** the legacy [double-quoted string literal] misfeature for DML statements
|
** the legacy [double-quoted string literal] misfeature for DML statements
|
||||||
** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The
|
** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The
|
||||||
@ -2387,7 +2407,7 @@ struct sqlite3_mem_methods {
|
|||||||
** </dd>
|
** </dd>
|
||||||
**
|
**
|
||||||
** [[SQLITE_DBCONFIG_DQS_DDL]]
|
** [[SQLITE_DBCONFIG_DQS_DDL]]
|
||||||
** <dt>SQLITE_DBCONFIG_DQS_DDL</td>
|
** <dt>SQLITE_DBCONFIG_DQS_DDL</dt>
|
||||||
** <dd>The SQLITE_DBCONFIG_DQS option activates or deactivates
|
** <dd>The SQLITE_DBCONFIG_DQS option activates or deactivates
|
||||||
** the legacy [double-quoted string literal] misfeature for DDL statements,
|
** the legacy [double-quoted string literal] misfeature for DDL statements,
|
||||||
** such as CREATE TABLE and CREATE INDEX. The
|
** such as CREATE TABLE and CREATE INDEX. The
|
||||||
@ -2396,7 +2416,7 @@ struct sqlite3_mem_methods {
|
|||||||
** </dd>
|
** </dd>
|
||||||
**
|
**
|
||||||
** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]]
|
** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]]
|
||||||
** <dt>SQLITE_DBCONFIG_TRUSTED_SCHEMA</td>
|
** <dt>SQLITE_DBCONFIG_TRUSTED_SCHEMA</dt>
|
||||||
** <dd>The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to
|
** <dd>The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to
|
||||||
** assume that database schemas are untainted by malicious content.
|
** assume that database schemas are untainted by malicious content.
|
||||||
** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite
|
** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite
|
||||||
@ -2416,7 +2436,7 @@ struct sqlite3_mem_methods {
|
|||||||
** </dd>
|
** </dd>
|
||||||
**
|
**
|
||||||
** [[SQLITE_DBCONFIG_LEGACY_FILE_FORMAT]]
|
** [[SQLITE_DBCONFIG_LEGACY_FILE_FORMAT]]
|
||||||
** <dt>SQLITE_DBCONFIG_LEGACY_FILE_FORMAT</td>
|
** <dt>SQLITE_DBCONFIG_LEGACY_FILE_FORMAT</dt>
|
||||||
** <dd>The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates
|
** <dd>The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates
|
||||||
** the legacy file format flag. When activated, this flag causes all newly
|
** the legacy file format flag. When activated, this flag causes all newly
|
||||||
** created database file to have a schema format version number (the 4-byte
|
** created database file to have a schema format version number (the 4-byte
|
||||||
@ -2425,7 +2445,7 @@ struct sqlite3_mem_methods {
|
|||||||
** any SQLite version back to 3.0.0 ([dateof:3.0.0]). Without this setting,
|
** any SQLite version back to 3.0.0 ([dateof:3.0.0]). Without this setting,
|
||||||
** newly created databases are generally not understandable by SQLite versions
|
** newly created databases are generally not understandable by SQLite versions
|
||||||
** prior to 3.3.0 ([dateof:3.3.0]). As these words are written, there
|
** prior to 3.3.0 ([dateof:3.3.0]). As these words are written, there
|
||||||
** is now scarcely any need to generated database files that are compatible
|
** is now scarcely any need to generate database files that are compatible
|
||||||
** all the way back to version 3.0.0, and so this setting is of little
|
** all the way back to version 3.0.0, and so this setting is of little
|
||||||
** practical use, but is provided so that SQLite can continue to claim the
|
** practical use, but is provided so that SQLite can continue to claim the
|
||||||
** ability to generate new database files that are compatible with version
|
** ability to generate new database files that are compatible with version
|
||||||
@ -2436,6 +2456,38 @@ struct sqlite3_mem_methods {
|
|||||||
** not considered a bug since SQLite versions 3.3.0 and earlier do not support
|
** not considered a bug since SQLite versions 3.3.0 and earlier do not support
|
||||||
** either generated columns or decending indexes.
|
** either generated columns or decending indexes.
|
||||||
** </dd>
|
** </dd>
|
||||||
|
**
|
||||||
|
** [[SQLITE_DBCONFIG_STMT_SCANSTATUS]]
|
||||||
|
** <dt>SQLITE_DBCONFIG_STMT_SCANSTATUS</dt>
|
||||||
|
** <dd>The SQLITE_DBCONFIG_STMT_SCANSTATUS option is only useful in
|
||||||
|
** SQLITE_ENABLE_STMT_SCANSTATUS builds. In this case, it sets or clears
|
||||||
|
** a flag that enables collection of the sqlite3_stmt_scanstatus_v2()
|
||||||
|
** statistics. For statistics to be collected, the flag must be set on
|
||||||
|
** the database handle both when the SQL statement is prepared and when it
|
||||||
|
** is stepped. The flag is set (collection of statistics is enabled)
|
||||||
|
** by default. This option takes two arguments: an integer and a pointer to
|
||||||
|
** an integer.. The first argument is 1, 0, or -1 to enable, disable, or
|
||||||
|
** leave unchanged the statement scanstatus option. If the second argument
|
||||||
|
** is not NULL, then the value of the statement scanstatus setting after
|
||||||
|
** processing the first argument is written into the integer that the second
|
||||||
|
** argument points to.
|
||||||
|
** </dd>
|
||||||
|
**
|
||||||
|
** [[SQLITE_DBCONFIG_REVERSE_SCANORDER]]
|
||||||
|
** <dt>SQLITE_DBCONFIG_REVERSE_SCANORDER</dt>
|
||||||
|
** <dd>The SQLITE_DBCONFIG_REVERSE_SCANORDER option changes the default order
|
||||||
|
** in which tables and indexes are scanned so that the scans start at the end
|
||||||
|
** and work toward the beginning rather than starting at the beginning and
|
||||||
|
** working toward the end. Setting SQLITE_DBCONFIG_REVERSE_SCANORDER is the
|
||||||
|
** same as setting [PRAGMA reverse_unordered_selects]. This option takes
|
||||||
|
** two arguments which are an integer and a pointer to an integer. The first
|
||||||
|
** argument is 1, 0, or -1 to enable, disable, or leave unchanged the
|
||||||
|
** reverse scan order flag, respectively. If the second argument is not NULL,
|
||||||
|
** then 0 or 1 is written into the integer that the second argument points to
|
||||||
|
** depending on if the reverse scan order flag is set after processing the
|
||||||
|
** first argument.
|
||||||
|
** </dd>
|
||||||
|
**
|
||||||
** </dl>
|
** </dl>
|
||||||
*/
|
*/
|
||||||
#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
|
#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */
|
||||||
@ -2456,7 +2508,9 @@ struct sqlite3_mem_methods {
|
|||||||
#define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */
|
#define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */
|
||||||
#define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT 1016 /* int int* */
|
#define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT 1016 /* int int* */
|
||||||
#define SQLITE_DBCONFIG_TRUSTED_SCHEMA 1017 /* int int* */
|
#define SQLITE_DBCONFIG_TRUSTED_SCHEMA 1017 /* int int* */
|
||||||
#define SQLITE_DBCONFIG_MAX 1017 /* Largest DBCONFIG */
|
#define SQLITE_DBCONFIG_STMT_SCANSTATUS 1018 /* int int* */
|
||||||
|
#define SQLITE_DBCONFIG_REVERSE_SCANORDER 1019 /* int int* */
|
||||||
|
#define SQLITE_DBCONFIG_MAX 1019 /* Largest DBCONFIG */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Enable Or Disable Extended Result Codes
|
** CAPI3REF: Enable Or Disable Extended Result Codes
|
||||||
@ -6201,6 +6255,13 @@ SQLITE_API void sqlite3_activate_cerod(
|
|||||||
** of the default VFS is not implemented correctly, or not implemented at
|
** of the default VFS is not implemented correctly, or not implemented at
|
||||||
** all, then the behavior of sqlite3_sleep() may deviate from the description
|
** all, then the behavior of sqlite3_sleep() may deviate from the description
|
||||||
** in the previous paragraphs.
|
** in the previous paragraphs.
|
||||||
|
**
|
||||||
|
** If a negative argument is passed to sqlite3_sleep() the results vary by
|
||||||
|
** VFS and operating system. Some system treat a negative argument as an
|
||||||
|
** instruction to sleep forever. Others understand it to mean do not sleep
|
||||||
|
** at all. ^In SQLite version 3.42.0 and later, a negative
|
||||||
|
** argument passed into sqlite3_sleep() is changed to zero before it is relayed
|
||||||
|
** down into the xSleep method of the VFS.
|
||||||
*/
|
*/
|
||||||
SQLITE_API int sqlite3_sleep(int);
|
SQLITE_API int sqlite3_sleep(int);
|
||||||
|
|
||||||
@ -7828,9 +7889,9 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
|
|||||||
** is undefined if the mutex is not currently entered by the
|
** is undefined if the mutex is not currently entered by the
|
||||||
** calling thread or is not currently allocated.
|
** calling thread or is not currently allocated.
|
||||||
**
|
**
|
||||||
** ^If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(), or
|
** ^If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(),
|
||||||
** sqlite3_mutex_leave() is a NULL pointer, then all three routines
|
** sqlite3_mutex_leave(), or sqlite3_mutex_free() is a NULL pointer,
|
||||||
** behave as no-ops.
|
** then any of the four routines behaves as a no-op.
|
||||||
**
|
**
|
||||||
** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()].
|
** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()].
|
||||||
*/
|
*/
|
||||||
@ -9564,18 +9625,28 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
|
|||||||
** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt>
|
** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt>
|
||||||
** <dd>Calls of the form
|
** <dd>Calls of the form
|
||||||
** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the
|
** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the
|
||||||
** the [xConnect] or [xCreate] methods of a [virtual table] implmentation
|
** the [xConnect] or [xCreate] methods of a [virtual table] implementation
|
||||||
** identify that virtual table as being safe to use from within triggers
|
** identify that virtual table as being safe to use from within triggers
|
||||||
** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the
|
** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the
|
||||||
** virtual table can do no serious harm even if it is controlled by a
|
** virtual table can do no serious harm even if it is controlled by a
|
||||||
** malicious hacker. Developers should avoid setting the SQLITE_VTAB_INNOCUOUS
|
** malicious hacker. Developers should avoid setting the SQLITE_VTAB_INNOCUOUS
|
||||||
** flag unless absolutely necessary.
|
** flag unless absolutely necessary.
|
||||||
** </dd>
|
** </dd>
|
||||||
|
**
|
||||||
|
** [[SQLITE_VTAB_USES_ALL_SCHEMAS]]<dt>SQLITE_VTAB_USES_ALL_SCHEMAS</dt>
|
||||||
|
** <dd>Calls of the form
|
||||||
|
** [sqlite3_vtab_config](db,SQLITE_VTAB_USES_ALL_SCHEMA) from within the
|
||||||
|
** the [xConnect] or [xCreate] methods of a [virtual table] implementation
|
||||||
|
** instruct the query planner to begin at least a read transaction on
|
||||||
|
** all schemas ("main", "temp", and any ATTACH-ed databases) whenever the
|
||||||
|
** virtual table is used.
|
||||||
|
** </dd>
|
||||||
** </dl>
|
** </dl>
|
||||||
*/
|
*/
|
||||||
#define SQLITE_VTAB_CONSTRAINT_SUPPORT 1
|
#define SQLITE_VTAB_CONSTRAINT_SUPPORT 1
|
||||||
#define SQLITE_VTAB_INNOCUOUS 2
|
#define SQLITE_VTAB_INNOCUOUS 2
|
||||||
#define SQLITE_VTAB_DIRECTONLY 3
|
#define SQLITE_VTAB_DIRECTONLY 3
|
||||||
|
#define SQLITE_VTAB_USES_ALL_SCHEMAS 4
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Determine The Virtual Table Conflict Policy
|
** CAPI3REF: Determine The Virtual Table Conflict Policy
|
||||||
@ -10750,16 +10821,20 @@ SQLITE_API int sqlite3session_create(
|
|||||||
SQLITE_API void sqlite3session_delete(sqlite3_session *pSession);
|
SQLITE_API void sqlite3session_delete(sqlite3_session *pSession);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPIREF: Conigure a Session Object
|
** CAPI3REF: Configure a Session Object
|
||||||
** METHOD: sqlite3_session
|
** METHOD: sqlite3_session
|
||||||
**
|
**
|
||||||
** This method is used to configure a session object after it has been
|
** This method is used to configure a session object after it has been
|
||||||
** created. At present the only valid value for the second parameter is
|
** created. At present the only valid values for the second parameter are
|
||||||
** [SQLITE_SESSION_OBJCONFIG_SIZE].
|
** [SQLITE_SESSION_OBJCONFIG_SIZE] and [SQLITE_SESSION_OBJCONFIG_ROWID].
|
||||||
**
|
**
|
||||||
** Arguments for sqlite3session_object_config()
|
*/
|
||||||
|
SQLITE_API int sqlite3session_object_config(sqlite3_session*, int op, void *pArg);
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CAPI3REF: Options for sqlite3session_object_config
|
||||||
**
|
**
|
||||||
** The following values may passed as the the 4th parameter to
|
** The following values may passed as the the 2nd parameter to
|
||||||
** sqlite3session_object_config().
|
** sqlite3session_object_config().
|
||||||
**
|
**
|
||||||
** <dt>SQLITE_SESSION_OBJCONFIG_SIZE <dd>
|
** <dt>SQLITE_SESSION_OBJCONFIG_SIZE <dd>
|
||||||
@ -10775,12 +10850,21 @@ SQLITE_API void sqlite3session_delete(sqlite3_session *pSession);
|
|||||||
**
|
**
|
||||||
** It is an error (SQLITE_MISUSE) to attempt to modify this setting after
|
** It is an error (SQLITE_MISUSE) to attempt to modify this setting after
|
||||||
** the first table has been attached to the session object.
|
** the first table has been attached to the session object.
|
||||||
*/
|
**
|
||||||
SQLITE_API int sqlite3session_object_config(sqlite3_session*, int op, void *pArg);
|
** <dt>SQLITE_SESSION_OBJCONFIG_ROWID <dd>
|
||||||
|
** This option is used to set, clear or query the flag that enables
|
||||||
/*
|
** collection of data for tables with no explicit PRIMARY KEY.
|
||||||
|
**
|
||||||
|
** Normally, tables with no explicit PRIMARY KEY are simply ignored
|
||||||
|
** by the sessions module. However, if this flag is set, it behaves
|
||||||
|
** as if such tables have a column "_rowid_ INTEGER PRIMARY KEY" inserted
|
||||||
|
** as their leftmost columns.
|
||||||
|
**
|
||||||
|
** It is an error (SQLITE_MISUSE) to attempt to modify this setting after
|
||||||
|
** the first table has been attached to the session object.
|
||||||
*/
|
*/
|
||||||
#define SQLITE_SESSION_OBJCONFIG_SIZE 1
|
#define SQLITE_SESSION_OBJCONFIG_SIZE 1
|
||||||
|
#define SQLITE_SESSION_OBJCONFIG_ROWID 2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Enable Or Disable A Session Object
|
** CAPI3REF: Enable Or Disable A Session Object
|
||||||
@ -11913,9 +11997,23 @@ SQLITE_API int sqlite3changeset_apply_v2(
|
|||||||
** Invert the changeset before applying it. This is equivalent to inverting
|
** Invert the changeset before applying it. This is equivalent to inverting
|
||||||
** a changeset using sqlite3changeset_invert() before applying it. It is
|
** a changeset using sqlite3changeset_invert() before applying it. It is
|
||||||
** an error to specify this flag with a patchset.
|
** an error to specify this flag with a patchset.
|
||||||
|
**
|
||||||
|
** <dt>SQLITE_CHANGESETAPPLY_IGNORENOOP <dd>
|
||||||
|
** Do not invoke the conflict handler callback for any changes that
|
||||||
|
** would not actually modify the database even if they were applied.
|
||||||
|
** Specifically, this means that the conflict handler is not invoked
|
||||||
|
** for:
|
||||||
|
** <ul>
|
||||||
|
** <li>a delete change if the row being deleted cannot be found,
|
||||||
|
** <li>an update change if the modified fields are already set to
|
||||||
|
** their new values in the conflicting row, or
|
||||||
|
** <li>an insert change if all fields of the conflicting row match
|
||||||
|
** the row being inserted.
|
||||||
|
** </ul>
|
||||||
*/
|
*/
|
||||||
#define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001
|
#define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001
|
||||||
#define SQLITE_CHANGESETAPPLY_INVERT 0x0002
|
#define SQLITE_CHANGESETAPPLY_INVERT 0x0002
|
||||||
|
#define SQLITE_CHANGESETAPPLY_IGNORENOOP 0x0004
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Constants Passed To The Conflict Handler
|
** CAPI3REF: Constants Passed To The Conflict Handler
|
||||||
|
Loading…
Reference in New Issue
Block a user