Skip to content

Commit b45b80b

Browse files
committed
Update to sqlite 3.50.4
1 parent 7d187d1 commit b45b80b

File tree

3 files changed

+168
-127
lines changed

3 files changed

+168
-127
lines changed

Sources/CSQLite/include/sqlite3.h

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,9 @@ extern "C" {
146146
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
147147
** [sqlite_version()] and [sqlite_source_id()].
148148
*/
149-
#define SQLITE_VERSION "3.50.2"
150-
#define SQLITE_VERSION_NUMBER 3050002
151-
#define SQLITE_SOURCE_ID "2025-06-28 14:00:48 2af157d77fb1304a74176eaee7fbc7c7e932d946bf25325e9c26c91db19e3079"
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"
152152

153153
/*
154154
** CAPI3REF: Run-Time Library Version Numbers
@@ -9058,13 +9058,13 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
90589058
** [[SQLITE_STMTSTATUS_SORT]] <dt>SQLITE_STMTSTATUS_SORT</dt>
90599059
** <dd>^This is the number of sort operations that have occurred.
90609060
** A non-zero value in this counter may indicate an opportunity to
9061-
** improvement performance through careful use of indices.</dd>
9061+
** improve performance through careful use of indices.</dd>
90629062
**
90639063
** [[SQLITE_STMTSTATUS_AUTOINDEX]] <dt>SQLITE_STMTSTATUS_AUTOINDEX</dt>
90649064
** <dd>^This is the number of rows inserted into transient indices that
90659065
** were created automatically in order to help joins run faster.
90669066
** A non-zero value in this counter may indicate an opportunity to
9067-
** improvement performance by adding permanent indices that do not
9067+
** improve performance by adding permanent indices that do not
90689068
** need to be reinitialized each time the statement is run.</dd>
90699069
**
90709070
** [[SQLITE_STMTSTATUS_VM_STEP]] <dt>SQLITE_STMTSTATUS_VM_STEP</dt>
@@ -9073,19 +9073,19 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
90739073
** to 2147483647. The number of virtual machine operations can be
90749074
** used as a proxy for the total work done by the prepared statement.
90759075
** If the number of virtual machine operations exceeds 2147483647
9076-
** then the value returned by this statement status code is undefined.
9076+
** then the value returned by this statement status code is undefined.</dd>
90779077
**
90789078
** [[SQLITE_STMTSTATUS_REPREPARE]] <dt>SQLITE_STMTSTATUS_REPREPARE</dt>
90799079
** <dd>^This is the number of times that the prepare statement has been
90809080
** automatically regenerated due to schema changes or changes to
9081-
** [bound parameters] that might affect the query plan.
9081+
** [bound parameters] that might affect the query plan.</dd>
90829082
**
90839083
** [[SQLITE_STMTSTATUS_RUN]] <dt>SQLITE_STMTSTATUS_RUN</dt>
90849084
** <dd>^This is the number of times that the prepared statement has
90859085
** been run. A single "run" for the purposes of this counter is one
90869086
** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()].
90879087
** The counter is incremented on the first [sqlite3_step()] call of each
9088-
** cycle.
9088+
** cycle.</dd>
90899089
**
90909090
** [[SQLITE_STMTSTATUS_FILTER_MISS]]
90919091
** [[SQLITE_STMTSTATUS_FILTER HIT]]
@@ -9095,7 +9095,7 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
90959095
** step was bypassed because a Bloom filter returned not-found. The
90969096
** corresponding SQLITE_STMTSTATUS_FILTER_MISS value is the number of
90979097
** times that the Bloom filter returned a find, and thus the join step
9098-
** had to be processed as normal.
9098+
** had to be processed as normal.</dd>
90999099
**
91009100
** [[SQLITE_STMTSTATUS_MEMUSED]] <dt>SQLITE_STMTSTATUS_MEMUSED</dt>
91019101
** <dd>^This is the approximate number of bytes of heap memory
@@ -9200,27 +9200,27 @@ struct sqlite3_pcache_page {
92009200
** SQLite will typically create one cache instance for each open database file,
92019201
** though this is not guaranteed. ^The
92029202
** first parameter, szPage, is the size in bytes of the pages that must
9203-
** 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
92049204
** second parameter szExtra is a number of bytes of extra storage
9205-
** associated with each page cache entry. ^The szExtra parameter will
9205+
** associated with each page cache entry. ^The szExtra parameter will be
92069206
** a number less than 250. SQLite will use the
92079207
** extra szExtra bytes on each page to store metadata about the underlying
92089208
** database page on disk. The value passed into szExtra depends
92099209
** on the SQLite version, the target platform, and how SQLite was compiled.
92109210
** ^The third argument to xCreate(), bPurgeable, is true if the cache being
92119211
** created will be used to cache database pages of a file stored on disk, or
92129212
** false if it is used for an in-memory database. The cache implementation
9213-
** does not have to do anything special based with the value of bPurgeable;
9213+
** does not have to do anything special based upon the value of bPurgeable;
92149214
** it is purely advisory. ^On a cache where bPurgeable is false, SQLite will
92159215
** never invoke xUnpin() except to deliberately delete a page.
92169216
** ^In other words, calls to xUnpin() on a cache with bPurgeable set to
92179217
** false will always have the "discard" flag set to true.
9218-
** ^Hence, a cache created with bPurgeable false will
9218+
** ^Hence, a cache created with bPurgeable set to false will
92199219
** never contain any unpinned pages.
92209220
**
92219221
** [[the xCachesize() page cache method]]
92229222
** ^(The xCachesize() method may be called at any time by SQLite to set the
9223-
** suggested maximum cache-size (number of pages stored by) the cache
9223+
** suggested maximum cache-size (number of pages stored) for the cache
92249224
** instance passed as the first argument. This is the value configured using
92259225
** the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable
92269226
** parameter, the implementation is not required to do anything with this
@@ -9247,12 +9247,12 @@ struct sqlite3_pcache_page {
92479247
** implementation must return a pointer to the page buffer with its content
92489248
** intact. If the requested page is not already in the cache, then the
92499249
** cache implementation should use the value of the createFlag
9250-
** parameter to help it determined what action to take:
9250+
** parameter to help it determine what action to take:
92519251
**
92529252
** <table border=1 width=85% align=center>
92539253
** <tr><th> createFlag <th> Behavior when page is not already in cache
92549254
** <tr><td> 0 <td> Do not allocate a new page. Return NULL.
9255-
** <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.
92569256
** Otherwise return NULL.
92579257
** <tr><td> 2 <td> Make every effort to allocate a new page. Only return
92589258
** NULL if allocating a new page is effectively impossible.
@@ -9269,7 +9269,7 @@ struct sqlite3_pcache_page {
92699269
** as its second argument. If the third parameter, discard, is non-zero,
92709270
** then the page must be evicted from the cache.
92719271
** ^If the discard parameter is
9272-
** 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
92739273
** page cache implementation. ^The page cache implementation
92749274
** may choose to evict unpinned pages at any time.
92759275
**
@@ -9287,7 +9287,7 @@ struct sqlite3_pcache_page {
92879287
** When SQLite calls the xTruncate() method, the cache must discard all
92889288
** existing cache entries with page numbers (keys) greater than or equal
92899289
** to the value of the iLimit parameter passed to xTruncate(). If any
9290-
** of these pages are pinned, they are implicitly unpinned, meaning that
9290+
** of these pages are pinned, they become implicitly unpinned, meaning that
92919291
** they can be safely discarded.
92929292
**
92939293
** [[the xDestroy() page cache method]]
@@ -9586,7 +9586,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
95869586
** application receives an SQLITE_LOCKED error, it may call the
95879587
** sqlite3_unlock_notify() method with the blocked connection handle as
95889588
** the first argument to register for a callback that will be invoked
9589-
** when the blocking connections current transaction is concluded. ^The
9589+
** when the blocking connection's current transaction is concluded. ^The
95909590
** callback is invoked from within the [sqlite3_step] or [sqlite3_close]
95919591
** call that concludes the blocking connection's transaction.
95929592
**
@@ -9606,7 +9606,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
96069606
** blocked connection already has a registered unlock-notify callback,
96079607
** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is
96089608
** called with a NULL pointer as its second argument, then any existing
9609-
** unlock-notify callback is canceled. ^The blocked connections
9609+
** unlock-notify callback is canceled. ^The blocked connection's
96109610
** unlock-notify callback may also be canceled by closing the blocked
96119611
** connection using [sqlite3_close()].
96129612
**
@@ -10004,7 +10004,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
1000410004
** support constraints. In this configuration (which is the default) if
1000510005
** a call to the [xUpdate] method returns [SQLITE_CONSTRAINT], then the entire
1000610006
** statement is rolled back as if [ON CONFLICT | OR ABORT] had been
10007-
** specified as part of the users SQL statement, regardless of the actual
10007+
** specified as part of the user's SQL statement, regardless of the actual
1000810008
** ON CONFLICT mode specified.
1000910009
**
1001010010
** If X is non-zero, then the virtual table implementation guarantees
@@ -10038,7 +10038,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
1003810038
** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt>
1003910039
** <dd>Calls of the form
1004010040
** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the
10041-
** the [xConnect] or [xCreate] methods of a [virtual table] implementation
10041+
** [xConnect] or [xCreate] methods of a [virtual table] implementation
1004210042
** identify that virtual table as being safe to use from within triggers
1004310043
** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the
1004410044
** virtual table can do no serious harm even if it is controlled by a
@@ -10206,7 +10206,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
1020610206
** </table>
1020710207
**
1020810208
** ^For the purposes of comparing virtual table output values to see if the
10209-
** 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
1021010210
** to be the same. In other words, the comparison operator is "IS"
1021110211
** (or "IS NOT DISTINCT FROM") and not "==".
1021210212
**
@@ -10216,7 +10216,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
1021610216
**
1021710217
** ^A virtual table implementation is always free to return rows in any order
1021810218
** it wants, as long as the "orderByConsumed" flag is not set. ^When the
10219-
** the "orderByConsumed" flag is unset, the query planner will add extra
10219+
** "orderByConsumed" flag is unset, the query planner will add extra
1022010220
** [bytecode] to ensure that the final results returned by the SQL query are
1022110221
** ordered correctly. The use of the "orderByConsumed" flag and the
1022210222
** sqlite3_vtab_distinct() interface is merely an optimization. ^Careful
@@ -10313,7 +10313,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
1031310313
** sqlite3_vtab_in_next(X,P) should be one of the parameters to the
1031410314
** xFilter method which invokes these routines, and specifically
1031510315
** a parameter that was previously selected for all-at-once IN constraint
10316-
** processing use the [sqlite3_vtab_in()] interface in the
10316+
** processing using the [sqlite3_vtab_in()] interface in the
1031710317
** [xBestIndex|xBestIndex method]. ^(If the X parameter is not
1031810318
** an xFilter argument that was selected for all-at-once IN constraint
1031910319
** processing, then these routines return [SQLITE_ERROR].)^
@@ -10368,7 +10368,7 @@ SQLITE_API int sqlite3_vtab_in_next(sqlite3_value *pVal, sqlite3_value **ppOut);
1036810368
** and only if *V is set to a value. ^The sqlite3_vtab_rhs_value(P,J,V)
1036910369
** inteface returns SQLITE_NOTFOUND if the right-hand side of the J-th
1037010370
** constraint is not available. ^The sqlite3_vtab_rhs_value() interface
10371-
** can return an result code other than SQLITE_OK or SQLITE_NOTFOUND if
10371+
** can return a result code other than SQLITE_OK or SQLITE_NOTFOUND if
1037210372
** something goes wrong.
1037310373
**
1037410374
** The sqlite3_vtab_rhs_value() interface is usually only successful if
@@ -10396,8 +10396,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
1039610396
** KEYWORDS: {conflict resolution mode}
1039710397
**
1039810398
** These constants are returned by [sqlite3_vtab_on_conflict()] to
10399-
** inform a [virtual table] implementation what the [ON CONFLICT] mode
10400-
** is for the SQL statement being evaluated.
10399+
** inform a [virtual table] implementation of the [ON CONFLICT] mode
10400+
** for the SQL statement being evaluated.
1040110401
**
1040210402
** Note that the [SQLITE_IGNORE] constant is also used as a potential
1040310403
** return value from the [sqlite3_set_authorizer()] callback and that
@@ -10437,39 +10437,39 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
1043710437
** [[SQLITE_SCANSTAT_EST]] <dt>SQLITE_SCANSTAT_EST</dt>
1043810438
** <dd>^The "double" variable pointed to by the V parameter will be set to the
1043910439
** query planner's estimate for the average number of rows output from each
10440-
** iteration of the X-th loop. If the query planner's estimates was accurate,
10440+
** iteration of the X-th loop. If the query planner's estimate was accurate,
1044110441
** then this value will approximate the quotient NVISIT/NLOOP and the
1044210442
** product of this value for all prior loops with the same SELECTID will
10443-
** be the NLOOP value for the current loop.
10443+
** be the NLOOP value for the current loop.</dd>
1044410444
**
1044510445
** [[SQLITE_SCANSTAT_NAME]] <dt>SQLITE_SCANSTAT_NAME</dt>
1044610446
** <dd>^The "const char *" variable pointed to by the V parameter will be set
1044710447
** to a zero-terminated UTF-8 string containing the name of the index or table
10448-
** used for the X-th loop.
10448+
** used for the X-th loop.</dd>
1044910449
**
1045010450
** [[SQLITE_SCANSTAT_EXPLAIN]] <dt>SQLITE_SCANSTAT_EXPLAIN</dt>
1045110451
** <dd>^The "const char *" variable pointed to by the V parameter will be set
1045210452
** to a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN]
10453-
** description for the X-th loop.
10453+
** description for the X-th loop.</dd>
1045410454
**
1045510455
** [[SQLITE_SCANSTAT_SELECTID]] <dt>SQLITE_SCANSTAT_SELECTID</dt>
1045610456
** <dd>^The "int" variable pointed to by the V parameter will be set to the
1045710457
** id for the X-th query plan element. The id value is unique within the
1045810458
** statement. The select-id is the same value as is output in the first
10459-
** column of an [EXPLAIN QUERY PLAN] query.
10459+
** column of an [EXPLAIN QUERY PLAN] query.</dd>
1046010460
**
1046110461
** [[SQLITE_SCANSTAT_PARENTID]] <dt>SQLITE_SCANSTAT_PARENTID</dt>
1046210462
** <dd>The "int" variable pointed to by the V parameter will be set to the
10463-
** the id of the parent of the current query element, if applicable, or
10463+
** id of the parent of the current query element, if applicable, or
1046410464
** to zero if the query element has no parent. This is the same value as
10465-
** returned in the second column of an [EXPLAIN QUERY PLAN] query.
10465+
** returned in the second column of an [EXPLAIN QUERY PLAN] query.</dd>
1046610466
**
1046710467
** [[SQLITE_SCANSTAT_NCYCLE]] <dt>SQLITE_SCANSTAT_NCYCLE</dt>
1046810468
** <dd>The sqlite3_int64 output value is set to the number of cycles,
1046910469
** according to the processor time-stamp counter, that elapsed while the
1047010470
** query element was being processed. This value is not available for
1047110471
** all query elements - if it is unavailable the output variable is
10472-
** set to -1.
10472+
** set to -1.</dd>
1047310473
** </dl>
1047410474
*/
1047510475
#define SQLITE_SCANSTAT_NLOOP 0
@@ -10510,8 +10510,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
1051010510
** sqlite3_stmt_scanstatus_v2() with a zeroed flags parameter.
1051110511
**
1051210512
** Parameter "idx" identifies the specific query element to retrieve statistics
10513-
** for. Query elements are numbered starting from zero. A value of -1 may be
10514-
** to query for statistics regarding the entire query. ^If idx is out of range
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
1051510515
** - less than -1 or greater than or equal to the total number of query
1051610516
** elements used to implement the statement - a non-zero value is returned and
1051710517
** the variable that pOut points to is unchanged.
@@ -10668,8 +10668,8 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
1066810668
** triggers; and so forth.
1066910669
**
1067010670
** When the [sqlite3_blob_write()] API is used to update a blob column,
10671-
** the pre-update hook is invoked with SQLITE_DELETE. This is because the
10672-
** in this case the new values are not available. In this case, when a
10671+
** the pre-update hook is invoked with SQLITE_DELETE, because
10672+
** the new values are not yet available. In this case, when a
1067310673
** callback made with op==SQLITE_DELETE is actually a write using the
1067410674
** sqlite3_blob_write() API, the [sqlite3_preupdate_blobwrite()] returns
1067510675
** the index of the column being written. In other cases, where the
@@ -10922,7 +10922,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
1092210922
** For an ordinary on-disk database file, the serialization is just a
1092310923
** copy of the disk file. For an in-memory database or a "TEMP" database,
1092410924
** the serialization is the same sequence of bytes which would be written
10925-
** to disk if that database where backed up to disk.
10925+
** to disk if that database were backed up to disk.
1092610926
**
1092710927
** The usual case is that sqlite3_serialize() copies the serialization of
1092810928
** the database into memory obtained from [sqlite3_malloc64()] and returns
@@ -10931,7 +10931,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
1093110931
** contains the SQLITE_SERIALIZE_NOCOPY bit, then no memory allocations
1093210932
** are made, and the sqlite3_serialize() function will return a pointer
1093310933
** to the contiguous memory representation of the database that SQLite
10934-
** is currently using for that database, or NULL if the no such contiguous
10934+
** is currently using for that database, or NULL if no such contiguous
1093510935
** memory representation of the database exists. A contiguous memory
1093610936
** representation of the database will usually only exist if there has
1093710937
** been a prior call to [sqlite3_deserialize(D,S,...)] with the same
@@ -11002,7 +11002,7 @@ SQLITE_API unsigned char *sqlite3_serialize(
1100211002
** database is currently in a read transaction or is involved in a backup
1100311003
** operation.
1100411004
**
11005-
** It is not possible to deserialized into the TEMP database. If the
11005+
** It is not possible to deserialize into the TEMP database. If the
1100611006
** S argument to sqlite3_deserialize(D,S,P,N,M,F) is "temp" then the
1100711007
** function returns SQLITE_ERROR.
1100811008
**
@@ -11024,15 +11024,15 @@ SQLITE_API int sqlite3_deserialize(
1102411024
sqlite3 *db, /* The database connection */
1102511025
const char *zSchema, /* Which DB to reopen with the deserialization */
1102611026
unsigned char *pData, /* The serialized database content */
11027-
sqlite3_int64 szDb, /* Number bytes in the deserialization */
11027+
sqlite3_int64 szDb, /* Number of bytes in the deserialization */
1102811028
sqlite3_int64 szBuf, /* Total size of buffer pData[] */
1102911029
unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */
1103011030
);
1103111031

1103211032
/*
1103311033
** CAPI3REF: Flags for sqlite3_deserialize()
1103411034
**
11035-
** 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
1103611036
** the [sqlite3_deserialize(D,S,P,N,M,F)] interface.
1103711037
**
1103811038
** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization

0 commit comments

Comments
 (0)