1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-21 09:00:59 +03:00

Only allow shadow table to be written from within a recursive SQL call.

Omit the SQLITE_PREPARE_SHADOW flag.  Some tests are failing because the
tests depend on being able to write to shadow tables.

FossilOrigin-Name: d890c6582524677666e6f5b5817331dec332ade16b2f744cbb8a3c7dd9b63e21
This commit is contained in:
drh
2018-11-06 14:03:07 +00:00
parent 5a65470300
commit fc25721c9e
11 changed files with 25 additions and 43 deletions

View File

@@ -3642,19 +3642,10 @@ int sqlite3_limit(sqlite3*, int id, int newVal);
** normalize a SQL statement are unspecified and subject to change.
** At a minimum, literal values will be replaced with suitable
** placeholders.
**
** [[SQLITE_PREPARE_SHADOW]] ^(<dt>SQLITE_PREPARE_SHADOW</dt>
** <dd>When the SQLITE_PREPARE_SHADOW flag is set, writes to shadow
** tables are allowed. Shadow tables are ordinary tables associated
** with some virtual tables that serve as the storage for the virtual
** table. Shadow tables are normally read-only. Virtual table
** implementations use this flag so that they can write to their own
** shadow tables.
** </dl>
*/
#define SQLITE_PREPARE_PERSISTENT 0x01
#define SQLITE_PREPARE_NORMALIZE 0x02
#define SQLITE_PREPARE_SHADOW 0x04
/*
** CAPI3REF: Compiling An SQL Statement