From 3c867026c084e6e50311ce3cb13feb747de0441c Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 13 Jan 2020 13:33:08 +0000 Subject: [PATCH] Documentation updates. No changes to code. FossilOrigin-Name: cc0e0aa3a7d534b806cdf63200b32ab3b7f0e08dde717f043a36d2f91c8a046c --- manifest | 12 ++++----- manifest.uuid | 2 +- src/sqlite.h.in | 69 +++++++++++++++++++++++++++---------------------- 3 files changed, 45 insertions(+), 38 deletions(-) diff --git a/manifest b/manifest index 194006e18b..e87db48560 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Better\sthan\sremoving\sthe\sincorrect\sassert()\sis\sto\schange\sit\sinto\sa\ntestcase()\stogether\swith\sa\scomment\sindicating\swhere\san\sappropriate\stest\scase\ncan\sbe\sfound,\sand\sthe\sticket\sthat\sprovoked\sthe\schange.\nTicket\s[614b25314c766238] -D 2020-01-12T22:38:17.374 +C Documentation\supdates.\s\sNo\schanges\sto\scode. +D 2020-01-13T13:33:08.672 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -533,7 +533,7 @@ F src/resolve.c 1139e3157c710c6e6f04fe726f4e0d8bdb1ae89a276d3b0ca4975af163141c9c F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93 F src/select.c 924b61cef57033a8ca1ed3dcffd02445a7dd0c837cc849b2e4117251cac831f5 F src/shell.c.in 43d3cfbee97d78ca5782dc53e4c1e22d3cc15c91beff20889dc60551f47eab9f -F src/sqlite.h.in c4713ccfa76dda5a96176d315ef5861d47f8d4815cc192d893b282a7f35669e9 +F src/sqlite.h.in 97c0691ec8fb1e61ae220f9d987644c43ff33302fe720b7da6cae0420b62bde4 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h b0f776a0d042b23b6bcbb6b0943e8a3768c7f0b438a275e7168f0204e223a4db F src/sqliteInt.h 7a29ba700a51eeb925731749a570cf3859f6a58ed94797ecf47508875b0ba279 @@ -1857,7 +1857,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 0e468aa6decc73be307596782a778a739ff1b5dc0eb10fc4bd6776e460f99f8b -R 76358fd3663c08229f0e49e9d0a4f6fc +P 3e3c60d8124672ff72a57dfa2e51276316bcac8c8ae8a5739da358f26924b0fb +R 709f470e25c71e3d846b00e7bb20cc66 U drh -Z e551a6acb253e74cc6216b26e8d80c01 +Z 666e5887aeab5b35d8b57b54fe64a2ad diff --git a/manifest.uuid b/manifest.uuid index 6405becdd2..aec613b957 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3e3c60d8124672ff72a57dfa2e51276316bcac8c8ae8a5739da358f26924b0fb \ No newline at end of file +cc0e0aa3a7d534b806cdf63200b32ab3b7f0e08dde717f043a36d2f91c8a046c \ No newline at end of file diff --git a/src/sqlite.h.in b/src/sqlite.h.in index 0d22b87d43..168d3f46c2 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -2267,21 +2267,23 @@ struct sqlite3_mem_methods { ** ** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]] **
SQLITE_DBCONFIG_TRUSTED_SCHEMA -**
The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells the SQLite to -** assume that database schemas are untainted by malicious content. +**
The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to +** assume that database schemas (the contents of the [sqlite_master] tables) +** are untainted by malicious content. ** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite ** takes additional defensive steps to protect the application from harm -** including, but not limited to, the following: +** including: ** ** This setting defaults to "on" for legacy compatibility, however -** all applications are advised to turn it off if possible. +** all applications are advised to turn it off if possible. This setting +** can also be controlled using the [PRAGMA trusted_schema] statement. **
** ** [[SQLITE_DBCONFIG_LEGACY_FILE_FORMAT]] @@ -5071,24 +5073,6 @@ int sqlite3_create_window_function( ** [CHECK constraints] or [generated columns]. SQLite might also optimize ** deterministic functions by factoring them out of inner loops. ** -** -** [[SQLITE_INNOCUOUS]]
SQLITE_INNOCUOUS
-** The SQLITE_INNOCUOUS flag means that the new function is unlikely -** to cause problems even if misused. An innocuous function should have -** no side effects and consume few resources. The [abs|abs() function] -** is an example of an innocuous function. -** The [load_extension() SQL function] is not innocuous because of its -** side effects. Some heightened security settings -** ([SQLITE_DBCONFIG_TRUSTED_SCHEMA] and [PRAGMA trusted_schema=OFF]) -** disable the use of SQL functions inside views and triggers and in -** schema structures such as [CHECK constraints], [DEFAULT clauses], -** [expression indexes], [partial indexes], and [generated columns] unless -** the function is tagged with SQLITE_INNOCUOUS. Most built-in functions -** are innocuous. Developers are advised to avoid using the -** SQLITE_INNOCUOUS flag for application-defined functions unless the -** function has been carefully audited and found to be free of potentially -** security-adverse side-effects and information-leaks. -**
** ** [[SQLITE_DIRECTONLY]]
SQLITE_DIRECTONLY
** The SQLITE_DIRECTONLY flag means that the function may only be invoked @@ -5100,6 +5084,29 @@ int sqlite3_create_window_function( ** could potentially leak sensitive information. **
** +** [[SQLITE_INNOCUOUS]]
SQLITE_INNOCUOUS
+** The SQLITE_INNOCUOUS flag means that the function is unlikely +** to cause problems even if misused. An innocuous function should have +** no side effects and should not depend on any values other than its +** input parameters. The [abs|abs() function] is an example of an +** innocuous function. +** The [load_extension() SQL function] is not innocuous because of its +** side effects. +**

SQLITE_INNOCUOUS is similar to SQLITE_DETERMINISTIC, but is not +** exactly the same. The [random|random() function] is an example of a +** function that is innocuous but not deterministic. +**

Some heightened security settings +** ([SQLITE_DBCONFIG_TRUSTED_SCHEMA] and [PRAGMA trusted_schema=OFF]) +** disable the use of SQL functions inside views and triggers and in +** schema structures such as [CHECK constraints], [DEFAULT clauses], +** [expression indexes], [partial indexes], and [generated columns] unless +** the function is tagged with SQLITE_INNOCUOUS. Most built-in functions +** are innocuous. Developers are advised to avoid using the +** SQLITE_INNOCUOUS flag for application-defined functions unless the +** function has been carefully audited and found to be free of potentially +** security-adverse side-effects and information-leaks. +**

+** ** [[SQLITE_SUBTYPE]]
SQLITE_SUBTYPE
** The SQLITE_SUBTYPE flag indicates to SQLite that a function may call ** [sqlite3_value_subtype()] to inspect the sub-types of its arguments. @@ -9005,6 +9012,14 @@ int sqlite3_vtab_config(sqlite3*, int op, ...); ** constraint handling. **
** +** [[SQLITE_VTAB_DIRECTONLY]]
SQLITE_VTAB_DIRECTONLY
+**
Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_DIRECTONLY) from within the +** the [xConnect] or [xCreate] methods of a [virtual table] implmentation +** prohibits that virtual table from being used from within triggers and +** views. +**
+** ** [[SQLITE_VTAB_INNOCUOUS]]
SQLITE_VTAB_INNOCUOUS
**
Calls of the form ** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the @@ -9015,14 +9030,6 @@ int sqlite3_vtab_config(sqlite3*, int op, ...); ** malicious hacker. Developers should avoid setting the SQLITE_VTAB_INNOCUOUS ** flag unless absolutely necessary. **
-** -** [[SQLITE_VTAB_DIRECTONLY]]
SQLITE_VTAB_DIRECTONLY
-**
Calls of the form -** [sqlite3_vtab_config](db,SQLITE_VTAB_DIRECTONLY) from within the -** the [xConnect] or [xCreate] methods of a [virtual table] implmentation -** prohibits that virtual table from being used from within triggers and -** views. -**
** */ #define SQLITE_VTAB_CONSTRAINT_SUPPORT 1