mirror of
				https://github.com/isar/rusqlite.git
				synced 2025-10-30 21:38:57 +08:00 
			
		
		
		
	Merge pull request #856 from gwenn/3.34.0
Upgrade SQLite bundled version to 3.34.0
This commit is contained in:
		| @@ -124,7 +124,7 @@ bencher = "0.1" | ||||
|  | ||||
| [dependencies.libsqlite3-sys] | ||||
| path = "libsqlite3-sys" | ||||
| version = "0.20.1" | ||||
| version = "0.21.0" | ||||
|  | ||||
| [[test]] | ||||
| name = "config_log" | ||||
|   | ||||
| @@ -119,8 +119,8 @@ You can adjust this behavior in a number of ways: | ||||
| * If you use the `bundled` feature, `libsqlite3-sys` will use the | ||||
|   [cc](https://crates.io/crates/cc) crate to compile SQLite from source and | ||||
|   link against that. This source is embedded in the `libsqlite3-sys` crate and | ||||
|   is currently SQLite 3.33.0 (as of `rusqlite` 0.24.1 / `libsqlite3-sys` | ||||
|   0.20.0).  This is probably the simplest solution to any build problems. You can enable this by adding the following in your `Cargo.toml` file: | ||||
|   is currently SQLite 3.34.0 (as of `rusqlite` 0.24.1 / `libsqlite3-sys` | ||||
|   0.21.0).  This is probably the simplest solution to any build problems. You can enable this by adding the following in your `Cargo.toml` file: | ||||
|   ```toml | ||||
|   [dependencies.rusqlite] | ||||
|   version = "0.24.2" | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| [package] | ||||
| name = "libsqlite3-sys" | ||||
| version = "0.20.1" | ||||
| version = "0.21.0" | ||||
| authors = ["The rusqlite developers"] | ||||
| edition = "2018" | ||||
| repository = "https://github.com/rusqlite/rusqlite" | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| /* automatically generated by rust-bindgen 0.54.1 */ | ||||
| /* automatically generated by rust-bindgen 0.56.0 */ | ||||
|  | ||||
| pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.33.0\0"; | ||||
| pub const SQLITE_VERSION_NUMBER: i32 = 3033000; | ||||
| pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.34.0\0"; | ||||
| pub const SQLITE_VERSION_NUMBER: i32 = 3034000; | ||||
| pub const SQLITE_SOURCE_ID: &'static [u8; 85usize] = | ||||
|     b"2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f\0"; | ||||
|     b"2020-12-01 16:14:00 a26b6597e3ae272231b96f9982c3bcc17ddec2f2b6eb4df06a224b91089fed5b\0"; | ||||
| pub const SQLITE_OK: i32 = 0; | ||||
| pub const SQLITE_ERROR: i32 = 1; | ||||
| pub const SQLITE_INTERNAL: i32 = 2; | ||||
| @@ -70,6 +70,7 @@ pub const SQLITE_IOERR_BEGIN_ATOMIC: i32 = 7434; | ||||
| pub const SQLITE_IOERR_COMMIT_ATOMIC: i32 = 7690; | ||||
| pub const SQLITE_IOERR_ROLLBACK_ATOMIC: i32 = 7946; | ||||
| pub const SQLITE_IOERR_DATA: i32 = 8202; | ||||
| pub const SQLITE_IOERR_CORRUPTFS: i32 = 8458; | ||||
| pub const SQLITE_LOCKED_SHAREDCACHE: i32 = 262; | ||||
| pub const SQLITE_LOCKED_VTAB: i32 = 518; | ||||
| pub const SQLITE_BUSY_RECOVERY: i32 = 261; | ||||
| @@ -322,6 +323,9 @@ pub const SQLITE_SUBTYPE: i32 = 1048576; | ||||
| pub const SQLITE_INNOCUOUS: i32 = 2097152; | ||||
| pub const SQLITE_WIN32_DATA_DIRECTORY_TYPE: i32 = 1; | ||||
| pub const SQLITE_WIN32_TEMP_DIRECTORY_TYPE: i32 = 2; | ||||
| pub const SQLITE_TXN_NONE: i32 = 0; | ||||
| pub const SQLITE_TXN_READ: i32 = 1; | ||||
| pub const SQLITE_TXN_WRITE: i32 = 2; | ||||
| pub const SQLITE_INDEX_SCAN_UNIQUE: i32 = 1; | ||||
| pub const SQLITE_INDEX_CONSTRAINT_EQ: i32 = 2; | ||||
| pub const SQLITE_INDEX_CONSTRAINT_GT: i32 = 4; | ||||
| @@ -383,7 +387,8 @@ pub const SQLITE_TESTCTRL_PARSER_COVERAGE: i32 = 26; | ||||
| pub const SQLITE_TESTCTRL_RESULT_INTREAL: i32 = 27; | ||||
| pub const SQLITE_TESTCTRL_PRNG_SEED: i32 = 28; | ||||
| pub const SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: i32 = 29; | ||||
| pub const SQLITE_TESTCTRL_LAST: i32 = 29; | ||||
| pub const SQLITE_TESTCTRL_SEEK_COUNT: i32 = 30; | ||||
| pub const SQLITE_TESTCTRL_LAST: i32 = 30; | ||||
| pub const SQLITE_STATUS_MEMORY_USED: i32 = 0; | ||||
| pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1; | ||||
| pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2; | ||||
| @@ -2417,6 +2422,12 @@ extern "C" { | ||||
|         zDbName: *const ::std::os::raw::c_char, | ||||
|     ) -> ::std::os::raw::c_int; | ||||
| } | ||||
| extern "C" { | ||||
|     pub fn sqlite3_txn_state( | ||||
|         arg1: *mut sqlite3, | ||||
|         zSchema: *const ::std::os::raw::c_char, | ||||
|     ) -> ::std::os::raw::c_int; | ||||
| } | ||||
| extern "C" { | ||||
|     pub fn sqlite3_next_stmt(pDb: *mut sqlite3, pStmt: *mut sqlite3_stmt) -> *mut sqlite3_stmt; | ||||
| } | ||||
|   | ||||
							
								
								
									
										2677
									
								
								libsqlite3-sys/sqlite3/sqlite3.c
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2677
									
								
								libsqlite3-sys/sqlite3/sqlite3.c
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										79
									
								
								libsqlite3-sys/sqlite3/sqlite3.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										79
									
								
								libsqlite3-sys/sqlite3/sqlite3.h
									
									
									
									
										vendored
									
									
								
							| @@ -123,9 +123,9 @@ extern "C" { | ||||
| ** [sqlite3_libversion_number()], [sqlite3_sourceid()], | ||||
| ** [sqlite_version()] and [sqlite_source_id()]. | ||||
| */ | ||||
| #define SQLITE_VERSION        "3.33.0" | ||||
| #define SQLITE_VERSION_NUMBER 3033000 | ||||
| #define SQLITE_SOURCE_ID      "2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f" | ||||
| #define SQLITE_VERSION        "3.34.0" | ||||
| #define SQLITE_VERSION_NUMBER 3034000 | ||||
| #define SQLITE_SOURCE_ID      "2020-12-01 16:14:00 a26b6597e3ae272231b96f9982c3bcc17ddec2f2b6eb4df06a224b91089fed5b" | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Run-Time Library Version Numbers | ||||
| @@ -504,6 +504,7 @@ SQLITE_API int sqlite3_exec( | ||||
| #define SQLITE_IOERR_COMMIT_ATOMIC     (SQLITE_IOERR | (30<<8)) | ||||
| #define SQLITE_IOERR_ROLLBACK_ATOMIC   (SQLITE_IOERR | (31<<8)) | ||||
| #define SQLITE_IOERR_DATA              (SQLITE_IOERR | (32<<8)) | ||||
| #define SQLITE_IOERR_CORRUPTFS         (SQLITE_IOERR | (33<<8)) | ||||
| #define SQLITE_LOCKED_SHAREDCACHE      (SQLITE_LOCKED |  (1<<8)) | ||||
| #define SQLITE_LOCKED_VTAB             (SQLITE_LOCKED |  (2<<8)) | ||||
| #define SQLITE_BUSY_RECOVERY           (SQLITE_BUSY   |  (1<<8)) | ||||
| @@ -6186,6 +6187,57 @@ SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName); | ||||
| */ | ||||
| SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName); | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Determine the transaction state of a database | ||||
| ** METHOD: sqlite3 | ||||
| ** | ||||
| ** ^The sqlite3_txn_state(D,S) interface returns the current | ||||
| ** [transaction state] of schema S in database connection D.  ^If S is NULL, | ||||
| ** then the highest transaction state of any schema on database connection D | ||||
| ** is returned.  Transaction states are (in order of lowest to highest): | ||||
| ** <ol> | ||||
| ** <li value="0"> SQLITE_TXN_NONE | ||||
| ** <li value="1"> SQLITE_TXN_READ | ||||
| ** <li value="2"> SQLITE_TXN_WRITE | ||||
| ** </ol> | ||||
| ** ^If the S argument to sqlite3_txn_state(D,S) is not the name of | ||||
| ** a valid schema, then -1 is returned. | ||||
| */ | ||||
| SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema); | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Allowed return values from [sqlite3_txn_state()] | ||||
| ** KEYWORDS: {transaction state} | ||||
| ** | ||||
| ** These constants define the current transaction state of a database file. | ||||
| ** ^The [sqlite3_txn_state(D,S)] interface returns one of these | ||||
| ** constants in order to describe the transaction state of schema S | ||||
| ** in [database connection] D. | ||||
| ** | ||||
| ** <dl> | ||||
| ** [[SQLITE_TXN_NONE]] <dt>SQLITE_TXN_NONE</dt> | ||||
| ** <dd>The SQLITE_TXN_NONE state means that no transaction is currently | ||||
| ** pending.</dd> | ||||
| ** | ||||
| ** [[SQLITE_TXN_READ]] <dt>SQLITE_TXN_READ</dt> | ||||
| ** <dd>The SQLITE_TXN_READ state means that the database is currently | ||||
| ** in a read transaction.  Content has been read from the database file | ||||
| ** but nothing in the database file has changed.  The transaction state | ||||
| ** will advanced to SQLITE_TXN_WRITE if any changes occur and there are | ||||
| ** no other conflicting concurrent write transactions.  The transaction | ||||
| ** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or | ||||
| ** [COMMIT].</dd> | ||||
| ** | ||||
| ** [[SQLITE_TXN_WRITE]] <dt>SQLITE_TXN_WRITE</dt> | ||||
| ** <dd>The SQLITE_TXN_WRITE state means that the database is currently | ||||
| ** in a write transaction.  Content has been written to the database file | ||||
| ** but has not yet committed.  The transaction state will change to | ||||
| ** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd> | ||||
| */ | ||||
| #define SQLITE_TXN_NONE  0 | ||||
| #define SQLITE_TXN_READ  1 | ||||
| #define SQLITE_TXN_WRITE 2 | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Find the next prepared statement | ||||
| ** METHOD: sqlite3 | ||||
| @@ -7712,7 +7764,8 @@ SQLITE_API int sqlite3_test_control(int op, ...); | ||||
| #define SQLITE_TESTCTRL_RESULT_INTREAL          27 | ||||
| #define SQLITE_TESTCTRL_PRNG_SEED               28 | ||||
| #define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS     29 | ||||
| #define SQLITE_TESTCTRL_LAST                    29  /* Largest TESTCTRL */ | ||||
| #define SQLITE_TESTCTRL_SEEK_COUNT              30 | ||||
| #define SQLITE_TESTCTRL_LAST                    30  /* Largest TESTCTRL */ | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: SQL Keyword Checking | ||||
| @@ -9192,10 +9245,11 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *); | ||||
| ** CAPI3REF: Determine If Virtual Table Column Access Is For UPDATE | ||||
| ** | ||||
| ** If the sqlite3_vtab_nochange(X) routine is called within the [xColumn] | ||||
| ** method of a [virtual table], then it returns true if and only if the | ||||
| ** method of a [virtual table], then it might return true if the | ||||
| ** column is being fetched as part of an UPDATE operation during which the | ||||
| ** column value will not change.  Applications might use this to substitute | ||||
| ** a return value that is less expensive to compute and that the corresponding | ||||
| ** column value will not change.  The virtual table implementation can use | ||||
| ** this hint as permission to substitute a return value that is less | ||||
| ** expensive to compute and that the corresponding | ||||
| ** [xUpdate] method understands as a "no-change" value. | ||||
| ** | ||||
| ** If the [xColumn] method calls sqlite3_vtab_nochange() and finds that | ||||
| @@ -9204,6 +9258,12 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *); | ||||
| ** any of the [sqlite3_result_int|sqlite3_result_xxxxx() interfaces]. | ||||
| ** In that case, [sqlite3_value_nochange(X)] will return true for the | ||||
| ** same column in the [xUpdate] method. | ||||
| ** | ||||
| ** The sqlite3_vtab_nochange() routine is an optimization.  Virtual table | ||||
| ** implementations should continue to give a correct answer even if the | ||||
| ** sqlite3_vtab_nochange() interface were to always return false.  In the | ||||
| ** current implementation, the sqlite3_vtab_nochange() interface does always | ||||
| ** returns false for the enhanced [UPDATE FROM] statement. | ||||
| */ | ||||
| SQLITE_API int sqlite3_vtab_nochange(sqlite3_context*); | ||||
|  | ||||
| @@ -9345,6 +9405,7 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Flush caches to disk mid-transaction | ||||
| ** METHOD: sqlite3 | ||||
| ** | ||||
| ** ^If a write-transaction is open on [database connection] D when the | ||||
| ** [sqlite3_db_cacheflush(D)] interface invoked, any dirty | ||||
| @@ -9377,6 +9438,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: The pre-update hook. | ||||
| ** METHOD: sqlite3 | ||||
| ** | ||||
| ** ^These interfaces are only available if SQLite is compiled using the | ||||
| ** [SQLITE_ENABLE_PREUPDATE_HOOK] compile-time option. | ||||
| @@ -9417,7 +9479,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); | ||||
| ** seventh parameter is the final rowid value of the row being inserted | ||||
| ** or updated. The value of the seventh parameter passed to the callback | ||||
| ** function is not defined for operations on WITHOUT ROWID tables, or for | ||||
| ** INSERT operations on rowid tables. | ||||
| ** DELETE operations on rowid tables. | ||||
| ** | ||||
| ** The [sqlite3_preupdate_old()], [sqlite3_preupdate_new()], | ||||
| ** [sqlite3_preupdate_count()], and [sqlite3_preupdate_depth()] interfaces | ||||
| @@ -9479,6 +9541,7 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Low-level system error code | ||||
| ** METHOD: sqlite3 | ||||
| ** | ||||
| ** ^Attempt to return the underlying operating system error code or error | ||||
| ** number that caused the most recent I/O error or failure to open a file. | ||||
|   | ||||
							
								
								
									
										4
									
								
								libsqlite3-sys/sqlite3/sqlite3ext.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								libsqlite3-sys/sqlite3/sqlite3ext.h
									
									
									
									
										vendored
									
									
								
							| @@ -335,6 +335,8 @@ struct sqlite3_api_routines { | ||||
|                            int,const char**); | ||||
|   void (*free_filename)(char*); | ||||
|   sqlite3_file *(*database_file_object)(const char*); | ||||
|   /* Version 3.34.0 and later */ | ||||
|   int (*txn_state)(sqlite3*,const char*); | ||||
| }; | ||||
|  | ||||
| /* | ||||
| @@ -639,6 +641,8 @@ typedef int (*sqlite3_loadext_entry)( | ||||
| #define sqlite3_create_filename        sqlite3_api->create_filename | ||||
| #define sqlite3_free_filename          sqlite3_api->free_filename | ||||
| #define sqlite3_database_file_object   sqlite3_api->database_file_object | ||||
| /* Version 3.34.0 and later */ | ||||
| #define sqlite3_txn_state              sqlite3_api->txn_state | ||||
| #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ | ||||
|  | ||||
| #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) | ||||
|   | ||||
| @@ -6,7 +6,7 @@ cd "$SCRIPT_DIR" || { echo "fatal error"; exit 1; } | ||||
| export SQLITE3_LIB_DIR=$SCRIPT_DIR/sqlite3 | ||||
|  | ||||
| # Download and extract amalgamation | ||||
| SQLITE=sqlite-amalgamation-3330000 | ||||
| SQLITE=sqlite-amalgamation-3340000 | ||||
| curl -O https://sqlite.org/2020/$SQLITE.zip | ||||
| unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.c" > "$SQLITE3_LIB_DIR/sqlite3.c" | ||||
| unzip -p "$SQLITE.zip" "$SQLITE/sqlite3.h" > "$SQLITE3_LIB_DIR/sqlite3.h" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user