1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-14 00:22:38 +03:00

Expire pragma statements when reset, even if they were not run to completion.

FossilOrigin-Name: 78351d289bba83e536b64666c566b7bfc57351da
This commit is contained in:
drh
2010-02-25 14:47:01 +00:00
parent 5e767c5793
commit 4611d925a9
6 changed files with 24 additions and 19 deletions

View File

@@ -285,6 +285,7 @@ void sqlite3Pragma(
Db *pDb;
Vdbe *v = pParse->pVdbe = sqlite3VdbeCreate(db);
if( v==0 ) return;
sqlite3VdbeRunOnlyOnce(v);
pParse->nMem = 2;
/* Interpret the [database.] part of the pragma statement. iDb is the
@@ -1462,12 +1463,6 @@ void sqlite3Pragma(
{/* Empty ELSE clause */}
/* Code an OP_Expire at the end of each PRAGMA program to cause
** the VDBE implementing the pragma to expire. Most (all?) pragmas
** are only valid for a single execution.
*/
sqlite3VdbeAddOp2(v, OP_Expire, 1, 0);
/*
** Reset the safety level, in case the fullfsync flag or synchronous
** setting changed.