mirror of
				https://github.com/Telecominfraproject/wlan-cloud-lib-poco.git
				synced 2025-10-30 18:17:50 +00:00 
			
		
		
		
	Upgraded bundled SQLite to version 3.28.0
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -123,9 +123,9 @@ extern "C" { | ||||
| ** [sqlite3_libversion_number()], [sqlite3_sourceid()], | ||||
| ** [sqlite_version()] and [sqlite_source_id()]. | ||||
| */ | ||||
| #define SQLITE_VERSION        "3.26.0" | ||||
| #define SQLITE_VERSION_NUMBER 3026000 | ||||
| #define SQLITE_SOURCE_ID      "2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9" | ||||
| #define SQLITE_VERSION        "3.28.0" | ||||
| #define SQLITE_VERSION_NUMBER 3028000 | ||||
| #define SQLITE_SOURCE_ID      "2019-04-16 19:49:53 884b4b7e502b4e991677b53971277adfaf0a04a284f8e483e2553d0f83156b50" | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Run-Time Library Version Numbers | ||||
| @@ -189,6 +189,9 @@ SQLITE_API int sqlite3_libversion_number(void); | ||||
| #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS | ||||
| SQLITE_API int sqlite3_compileoption_used(const char *zOptName); | ||||
| SQLITE_API const char *sqlite3_compileoption_get(int N); | ||||
| #else | ||||
| # define sqlite3_compileoption_used(X) 0 | ||||
| # define sqlite3_compileoption_get(X)  ((void*)0) | ||||
| #endif | ||||
|  | ||||
| /* | ||||
| @@ -823,6 +826,15 @@ struct sqlite3_io_methods { | ||||
| ** file space based on this hint in order to help writes to the database | ||||
| ** file run faster. | ||||
| ** | ||||
| ** <li>[[SQLITE_FCNTL_SIZE_LIMIT]] | ||||
| ** The [SQLITE_FCNTL_SIZE_LIMIT] opcode is used by in-memory VFS that | ||||
| ** implements [sqlite3_deserialize()] to set an upper bound on the size | ||||
| ** of the in-memory database.  The argument is a pointer to a [sqlite3_int64]. | ||||
| ** If the integer pointed to is negative, then it is filled in with the | ||||
| ** current limit.  Otherwise the limit is set to the larger of the value | ||||
| ** of the integer pointed to and the current database size.  The integer | ||||
| ** pointed to is set to the new limit. | ||||
| ** | ||||
| ** <li>[[SQLITE_FCNTL_CHUNK_SIZE]] | ||||
| ** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS | ||||
| ** extends and truncates the database file in chunks of a size specified | ||||
| @@ -1131,6 +1143,7 @@ struct sqlite3_io_methods { | ||||
| #define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE  33 | ||||
| #define SQLITE_FCNTL_LOCK_TIMEOUT           34 | ||||
| #define SQLITE_FCNTL_DATA_VERSION           35 | ||||
| #define SQLITE_FCNTL_SIZE_LIMIT             36 | ||||
|  | ||||
| /* deprecated names */ | ||||
| #define SQLITE_GET_LOCKPROXYFILE      SQLITE_FCNTL_GET_LOCKPROXYFILE | ||||
| @@ -1972,6 +1985,17 @@ struct sqlite3_mem_methods { | ||||
| ** negative value for this option restores the default behaviour. | ||||
| ** This option is only available if SQLite is compiled with the | ||||
| ** [SQLITE_ENABLE_SORTER_REFERENCES] compile-time option. | ||||
| ** | ||||
| ** [[SQLITE_CONFIG_MEMDB_MAXSIZE]] | ||||
| ** <dt>SQLITE_CONFIG_MEMDB_MAXSIZE | ||||
| ** <dd>The SQLITE_CONFIG_MEMDB_MAXSIZE option accepts a single parameter | ||||
| ** [sqlite3_int64] parameter which is the default maximum size for an in-memory | ||||
| ** database created using [sqlite3_deserialize()].  This default maximum | ||||
| ** size can be adjusted up or down for individual databases using the | ||||
| ** [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control].  If this | ||||
| ** configuration setting is never used, then the default maximum is determined | ||||
| ** by the [SQLITE_MEMDB_DEFAULT_MAXSIZE] compile-time option.  If that | ||||
| ** compile-time option is not set, then the default maximum is 1073741824. | ||||
| ** </dl> | ||||
| */ | ||||
| #define SQLITE_CONFIG_SINGLETHREAD  1  /* nil */ | ||||
| @@ -2002,6 +2026,7 @@ struct sqlite3_mem_methods { | ||||
| #define SQLITE_CONFIG_STMTJRNL_SPILL      26  /* int nByte */ | ||||
| #define SQLITE_CONFIG_SMALL_MALLOC        27  /* boolean */ | ||||
| #define SQLITE_CONFIG_SORTERREF_SIZE      28  /* int nByte */ | ||||
| #define SQLITE_CONFIG_MEMDB_MAXSIZE       29  /* sqlite3_int64 */ | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Database Connection Configuration Options | ||||
| @@ -2064,8 +2089,8 @@ struct sqlite3_mem_methods { | ||||
| ** | ||||
| ** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]] | ||||
| ** <dt>SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</dt> | ||||
| ** <dd> ^This option is used to enable or disable the two-argument | ||||
| ** version of the [fts3_tokenizer()] function which is part of the | ||||
| ** <dd> ^This option is used to enable or disable the | ||||
| ** [fts3_tokenizer()] function which is part of the | ||||
| ** [FTS3] full-text search engine extension. | ||||
| ** There should be two additional arguments. | ||||
| ** The first argument is an integer which is 0 to disable fts3_tokenizer() or | ||||
| @@ -2177,6 +2202,17 @@ struct sqlite3_mem_methods { | ||||
| ** <li> Direct writes to [shadow tables]. | ||||
| ** </ul> | ||||
| ** </dd> | ||||
| ** | ||||
| ** [[SQLITE_DBCONFIG_WRITABLE_SCHEMA]] <dt>SQLITE_DBCONFIG_WRITABLE_SCHEMA</dt> | ||||
| ** <dd>The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the | ||||
| ** "writable_schema" flag. This has the same effect and is logically equivalent | ||||
| ** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF]. | ||||
| ** The first argument to this setting is an integer which is 0 to disable  | ||||
| ** the writable_schema, positive to enable writable_schema, or negative to | ||||
| ** leave the setting unchanged. The second parameter is a pointer to an | ||||
| ** integer into which is written 0 or 1 to indicate whether the writable_schema | ||||
| ** is enabled or disabled following this call. | ||||
| ** </dd> | ||||
| ** </dl> | ||||
| */ | ||||
| #define SQLITE_DBCONFIG_MAINDBNAME            1000 /* const char* */ | ||||
| @@ -2190,7 +2226,8 @@ struct sqlite3_mem_methods { | ||||
| #define SQLITE_DBCONFIG_TRIGGER_EQP           1008 /* int int* */ | ||||
| #define SQLITE_DBCONFIG_RESET_DATABASE        1009 /* int int* */ | ||||
| #define SQLITE_DBCONFIG_DEFENSIVE             1010 /* int int* */ | ||||
| #define SQLITE_DBCONFIG_MAX                   1010 /* Largest DBCONFIG */ | ||||
| #define SQLITE_DBCONFIG_WRITABLE_SCHEMA       1011 /* int int* */ | ||||
| #define SQLITE_DBCONFIG_MAX                   1011 /* Largest DBCONFIG */ | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Enable Or Disable Extended Result Codes | ||||
| @@ -2347,7 +2384,7 @@ SQLITE_API int sqlite3_changes(sqlite3*); | ||||
| ** not. ^Changes to a view that are intercepted by INSTEAD OF triggers  | ||||
| ** are not counted. | ||||
| ** | ||||
| ** This the [sqlite3_total_changes(D)] interface only reports the number | ||||
| ** The [sqlite3_total_changes(D)] interface only reports the number | ||||
| ** of rows that changed due to SQL statement run against database | ||||
| ** connection D.  Any changes by other database connections are ignored. | ||||
| ** To detect changes against a database file from other database | ||||
| @@ -2991,9 +3028,9 @@ SQLITE_API int sqlite3_set_authorizer( | ||||
| ** time is in units of nanoseconds, however the current implementation | ||||
| ** is only capable of millisecond resolution so the six least significant | ||||
| ** digits in the time are meaningless.  Future versions of SQLite | ||||
| ** might provide greater resolution on the profiler callback.  The | ||||
| ** sqlite3_profile() function is considered experimental and is | ||||
| ** subject to change in future versions of SQLite. | ||||
| ** might provide greater resolution on the profiler callback.  Invoking | ||||
| ** either [sqlite3_trace()] or [sqlite3_trace_v2()] will cancel the | ||||
| ** profile callback. | ||||
| */ | ||||
| SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*, | ||||
|    void(*xTrace)(void*,const char*), void*); | ||||
| @@ -3407,6 +3444,8 @@ SQLITE_API int sqlite3_open_v2( | ||||
| ** is not a database file pathname pointer that SQLite passed into the xOpen | ||||
| ** VFS method, then the behavior of this routine is undefined and probably | ||||
| ** undesirable. | ||||
| ** | ||||
| ** See the [URI filename] documentation for additional information. | ||||
| */ | ||||
| SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam); | ||||
| SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); | ||||
| @@ -3629,18 +3668,23 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); | ||||
| ** deplete the limited store of lookaside memory. Future versions of | ||||
| ** SQLite may act on this hint differently. | ||||
| ** | ||||
| ** [[SQLITE_PREPARE_NORMALIZE]] ^(<dt>SQLITE_PREPARE_NORMALIZE</dt> | ||||
| ** <dd>The SQLITE_PREPARE_NORMALIZE flag indicates that a normalized | ||||
| ** representation of the SQL statement should be calculated and then | ||||
| ** associated with the prepared statement, which can be obtained via | ||||
| ** the [sqlite3_normalized_sql()] interface.)^  The semantics used to | ||||
| ** normalize a SQL statement are unspecified and subject to change. | ||||
| ** At a minimum, literal values will be replaced with suitable | ||||
| ** placeholders. | ||||
| ** [[SQLITE_PREPARE_NORMALIZE]] <dt>SQLITE_PREPARE_NORMALIZE</dt> | ||||
| ** <dd>The SQLITE_PREPARE_NORMALIZE flag is a no-op. This flag used | ||||
| ** to be required for any prepared statement that wanted to use the | ||||
| ** [sqlite3_normalized_sql()] interface.  However, the | ||||
| ** [sqlite3_normalized_sql()] interface is now available to all | ||||
| ** prepared statements, regardless of whether or not they use this | ||||
| ** flag. | ||||
| ** | ||||
| ** [[SQLITE_PREPARE_NO_VTAB]] <dt>SQLITE_PREPARE_NO_VTAB</dt> | ||||
| ** <dd>The SQLITE_PREPARE_NO_VTAB flag causes the SQL compiler | ||||
| ** to return an error (error code SQLITE_ERROR) if the statement uses | ||||
| ** any virtual tables. | ||||
| ** </dl> | ||||
| */ | ||||
| #define SQLITE_PREPARE_PERSISTENT              0x01 | ||||
| #define SQLITE_PREPARE_NORMALIZE               0x02 | ||||
| #define SQLITE_PREPARE_NO_VTAB                 0x04 | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Compiling An SQL Statement | ||||
| @@ -3865,6 +3909,18 @@ SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt); | ||||
| */ | ||||
| SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Query The EXPLAIN Setting For A Prepared Statement | ||||
| ** METHOD: sqlite3_stmt | ||||
| ** | ||||
| ** ^The sqlite3_stmt_isexplain(S) interface returns 1 if the | ||||
| ** prepared statement S is an EXPLAIN statement, or 2 if the | ||||
| ** statement S is an EXPLAIN QUERY PLAN. | ||||
| ** ^The sqlite3_stmt_isexplain(S) interface returns 0 if S is | ||||
| ** an ordinary statement or a NULL pointer. | ||||
| */ | ||||
| SQLITE_API int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt); | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Determine If A Prepared Statement Has Been Reset | ||||
| ** METHOD: sqlite3_stmt | ||||
| @@ -4004,7 +4060,9 @@ typedef struct sqlite3_context sqlite3_context; | ||||
| ** ^The fifth argument to the BLOB and string binding interfaces | ||||
| ** is a destructor used to dispose of the BLOB or | ||||
| ** string after SQLite has finished with it.  ^The destructor is called | ||||
| ** to dispose of the BLOB or string even if the call to bind API fails. | ||||
| ** to dispose of the BLOB or string even if the call to the bind API fails, | ||||
| ** except the destructor is not called if the third parameter is a NULL | ||||
| ** pointer or the fourth parameter is negative. | ||||
| ** ^If the fifth argument is | ||||
| ** the special value [SQLITE_STATIC], then SQLite assumes that the | ||||
| ** information is in static, unmanaged space and does not need to be freed. | ||||
| @@ -4921,6 +4979,8 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 | ||||
| ** <tr><td><b>sqlite3_value_nochange  </b> | ||||
| ** <td>→  <td>True if the column is unchanged in an UPDATE | ||||
| ** against a virtual table. | ||||
| ** <tr><td><b>sqlite3_value_frombind  </b> | ||||
| ** <td>→  <td>True if value originated from a [bound parameter] | ||||
| ** </table></blockquote> | ||||
| ** | ||||
| ** <b>Details:</b> | ||||
| @@ -4982,6 +5042,11 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 | ||||
| ** than within an [xUpdate] method call for an UPDATE statement, then | ||||
| ** the return value is arbitrary and meaningless. | ||||
| ** | ||||
| ** ^The sqlite3_value_frombind(X) interface returns non-zero if the | ||||
| ** value X originated from one of the [sqlite3_bind_int|sqlite3_bind()] | ||||
| ** interfaces.  ^If X comes from an SQL literal value, or a table column, | ||||
| ** and expression, then sqlite3_value_frombind(X) returns zero. | ||||
| ** | ||||
| ** Please pay particular attention to the fact that the pointer returned | ||||
| ** from [sqlite3_value_blob()], [sqlite3_value_text()], or | ||||
| ** [sqlite3_value_text16()] can be invalidated by a subsequent call to | ||||
| @@ -5027,6 +5092,7 @@ SQLITE_API int sqlite3_value_bytes16(sqlite3_value*); | ||||
| SQLITE_API int sqlite3_value_type(sqlite3_value*); | ||||
| SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); | ||||
| SQLITE_API int sqlite3_value_nochange(sqlite3_value*); | ||||
| SQLITE_API int sqlite3_value_frombind(sqlite3_value*); | ||||
|  | ||||
| /* | ||||
| ** CAPI3REF: Finding The Subtype Of SQL Values | ||||
| @@ -5762,7 +5828,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*); | ||||
| ** associated with database N of connection D.  ^The main database file | ||||
| ** has the name "main".  If there is no attached database N on the database | ||||
| ** connection D, or if database N is a temporary or in-memory database, then | ||||
| ** a NULL pointer is returned. | ||||
| ** this function will return either a NULL pointer or an empty string. | ||||
| ** | ||||
| ** ^The filename returned by this function is the output of the | ||||
| ** xFullPathname method of the [VFS].  ^In other words, the filename | ||||
| @@ -9996,7 +10062,7 @@ SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); | ||||
| ** sqlite3changeset_next() is called on the iterator or until the  | ||||
| ** conflict-handler function returns. If pnCol is not NULL, then *pnCol is  | ||||
| ** set to the number of columns in the table affected by the change. If | ||||
| ** pbIncorrect is not NULL, then *pbIndirect is set to true (1) if the change | ||||
| ** pbIndirect is not NULL, then *pbIndirect is set to true (1) if the change | ||||
| ** is an indirect change, or false (0) otherwise. See the documentation for | ||||
| ** [sqlite3session_indirect()] for a description of direct and indirect | ||||
| ** changes. Finally, if pOp is not NULL, then *pOp is set to one of  | ||||
| @@ -10863,7 +10929,7 @@ SQLITE_API int sqlite3rebaser_configure( | ||||
| ** in size. This function allocates and populates a buffer with a copy | ||||
| ** of the changeset rebased rebased according to the configuration of the | ||||
| ** rebaser object passed as the first argument. If successful, (*ppOut) | ||||
| ** is set to point to the new buffer containing the rebased changset and  | ||||
| ** is set to point to the new buffer containing the rebased changeset and  | ||||
| ** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the | ||||
| ** responsibility of the caller to eventually free the new buffer using | ||||
| ** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut) | ||||
| @@ -11230,12 +11296,8 @@ struct Fts5PhraseIter { | ||||
| ** | ||||
| **   Usually, output parameter *piPhrase is set to the phrase number, *piCol | ||||
| **   to the column in which it occurs and *piOff the token offset of the | ||||
| **   first token of the phrase. The exception is if the table was created | ||||
| **   with the offsets=0 option specified. In this case *piOff is always | ||||
| **   set to -1. | ||||
| ** | ||||
| **   Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM)  | ||||
| **   if an error occurs. | ||||
| **   first token of the phrase. Returns SQLITE_OK if successful, or an error | ||||
| **   code (i.e. SQLITE_NOMEM) if an error occurs. | ||||
| ** | ||||
| **   This API can be quite slow if used with an FTS5 table created with the | ||||
| **   "detail=none" or "detail=column" option.  | ||||
| @@ -11276,7 +11338,7 @@ struct Fts5PhraseIter { | ||||
| **   Save the pointer passed as the second argument as the extension functions  | ||||
| **   "auxiliary data". The pointer may then be retrieved by the current or any | ||||
| **   future invocation of the same fts5 extension function made as part of | ||||
| **   of the same MATCH query using the xGetAuxdata() API. | ||||
| **   the same MATCH query using the xGetAuxdata() API. | ||||
| ** | ||||
| **   Each extension function is allocated a single auxiliary data slot for | ||||
| **   each FTS query (MATCH expression). If the extension function is invoked  | ||||
| @@ -11291,7 +11353,7 @@ struct Fts5PhraseIter { | ||||
| **   The xDelete callback, if one is specified, is also invoked on the | ||||
| **   auxiliary data pointer after the FTS5 query has finished. | ||||
| ** | ||||
| **   If an error (e.g. an OOM condition) occurs within this function, an | ||||
| **   If an error (e.g. an OOM condition) occurs within this function, | ||||
| **   the auxiliary data is set to NULL and an error code returned. If the | ||||
| **   xDelete parameter was not NULL, it is invoked on the auxiliary data | ||||
| **   pointer before returning. | ||||
| @@ -11524,11 +11586,11 @@ struct Fts5ExtensionApi { | ||||
| **            the tokenizer substitutes "first" for "1st" and the query works | ||||
| **            as expected. | ||||
| ** | ||||
| **       <li> By adding multiple synonyms for a single term to the FTS index. | ||||
| **            In this case, when tokenizing query text, the tokenizer may  | ||||
| **            provide multiple synonyms for a single term within the document. | ||||
| **            FTS5 then queries the index for each synonym individually. For | ||||
| **            example, faced with the query: | ||||
| **       <li> By querying the index for all synonyms of each query term | ||||
| **            separately. In this case, when tokenizing query text, the | ||||
| **            tokenizer may provide multiple synonyms for a single term  | ||||
| **            within the document. FTS5 then queries the index for each  | ||||
| **            synonym individually. For example, faced with the query: | ||||
| ** | ||||
| **   <codeblock> | ||||
| **     ... MATCH 'first place'</codeblock> | ||||
| @@ -11552,7 +11614,7 @@ struct Fts5ExtensionApi { | ||||
| **            "place". | ||||
| ** | ||||
| **            This way, even if the tokenizer does not provide synonyms | ||||
| **            when tokenizing query text (it should not - to do would be | ||||
| **            when tokenizing query text (it should not - to do so would be | ||||
| **            inefficient), it doesn't matter if the user queries for  | ||||
| **            'first + place' or '1st + place', as there are entries in the | ||||
| **            FTS index corresponding to both forms of the first token. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Günter Obiltschnig
					Günter Obiltschnig