diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dbpage.c | 1 | ||||
-rw-r--r-- | src/dbstat.c | 1 | ||||
-rw-r--r-- | src/pragma.c | 2 | ||||
-rw-r--r-- | src/pragma.h | 9 |
4 files changed, 11 insertions, 2 deletions
diff --git a/src/dbpage.c b/src/dbpage.c index 27c962d14..c4f0b539e 100644 --- a/src/dbpage.c +++ b/src/dbpage.c @@ -73,6 +73,7 @@ static int dbpageConnect( DbpageTable *pTab = 0; int rc = SQLITE_OK; + sqlite3_vtab_config(db, SQLITE_VTAB_DIRECTONLY); rc = sqlite3_declare_vtab(db, "CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)"); if( rc==SQLITE_OK ){ diff --git a/src/dbstat.c b/src/dbstat.c index d0ce82e8c..2fea48ce8 100644 --- a/src/dbstat.c +++ b/src/dbstat.c @@ -167,6 +167,7 @@ static int statConnect( }else{ iDb = 0; } + sqlite3_vtab_config(db, SQLITE_VTAB_DIRECTONLY); rc = sqlite3_declare_vtab(db, zDbstatSchema); if( rc==SQLITE_OK ){ pTab = (StatTable *)sqlite3_malloc64(sizeof(StatTable)); diff --git a/src/pragma.c b/src/pragma.c index 2c127ed5a..f577fd2b5 100644 --- a/src/pragma.c +++ b/src/pragma.c @@ -1107,7 +1107,7 @@ void sqlite3Pragma( #endif if( sqlite3GetBoolean(zRight, 0) ){ - db->flags |= mask; + db->flags |= (mask & ~(SQLITE_TrustedSchema)); }else{ db->flags &= ~mask; if( mask==SQLITE_DeferFKs ) db->nDeferredImmCons = 0; diff --git a/src/pragma.h b/src/pragma.h index 449180ba1..3edf5c1c3 100644 --- a/src/pragma.h +++ b/src/pragma.h @@ -617,6 +617,13 @@ static const PragmaName aPragmaName[] = { /* ePragFlg: */ PragFlg_Result0, /* ColNames: */ 0, 0, /* iArg: */ 0 }, +#if !defined(SQLITE_OMIT_FLAG_PRAGMAS) + {/* zName: */ "trusted_schema", + /* ePragTyp: */ PragTyp_FLAG, + /* ePragFlg: */ PragFlg_Result0|PragFlg_NoColumns1, + /* ColNames: */ 0, 0, + /* iArg: */ SQLITE_TrustedSchema }, +#endif #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS) {/* zName: */ "user_version", /* ePragTyp: */ PragTyp_HEADER_VALUE, @@ -673,4 +680,4 @@ static const PragmaName aPragmaName[] = { /* iArg: */ SQLITE_WriteSchema|SQLITE_NoSchemaError }, #endif }; -/* Number of pragmas: 65 on by default, 81 total. */ +/* Number of pragmas: 66 on by default, 82 total. */ |