diff options
author | drh <drh@noemail.net> | 2003-06-04 15:48:33 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2003-06-04 15:48:33 +0000 |
commit | 5e8e1981dcbd418e0a69add3170b5c5fed79ef2e (patch) | |
tree | 97b82e7f68c4d1ffc58a583638a3654e0d6829af /src | |
parent | ca3bdaca190abece19526ed1460536ad3748ab09 (diff) | |
download | sqlite-5e8e1981dcbd418e0a69add3170b5c5fed79ef2e.tar.gz sqlite-5e8e1981dcbd418e0a69add3170b5c5fed79ef2e.zip |
Change the "database_list" pragma to return a third column containing the
filename of the underlying database file. Always use an in-memory TEMP
database with an in-memory main database. (CVS 1003)
FossilOrigin-Name: f39100f5759d0d8b9c71e18d38a148dee4643020
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 5 | ||||
-rw-r--r-- | src/pragma.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c index daa88ce2b..c14860a48 100644 --- a/src/main.c +++ b/src/main.c @@ -14,7 +14,7 @@ ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** -** $Id: main.c,v 1.133 2003/06/02 18:17:33 drh Exp $ +** $Id: main.c,v 1.134 2003/06/04 15:48:33 drh Exp $ */ #include "sqliteInt.h" #include "os.h" @@ -440,6 +440,9 @@ sqlite *sqlite_open(const char *zFilename, int mode, char **pzErrMsg){ } /* Open the backend database driver */ + if( zFilename[0]==':' && strcmp(zFilename,":memory:")==0 ){ + db->temp_store = 2; + } rc = sqliteBtreeFactory(db, zFilename, 0, MAX_PAGES, &db->aDb[0].pBt); if( rc!=SQLITE_OK ){ switch( rc ){ diff --git a/src/pragma.c b/src/pragma.c index 7488c962f..0aaae6968 100644 --- a/src/pragma.c +++ b/src/pragma.c @@ -11,7 +11,7 @@ ************************************************************************* ** This file contains code used to implement the PRAGMA command. ** -** $Id: pragma.c,v 1.8 2003/05/13 08:01:34 jplyon Exp $ +** $Id: pragma.c,v 1.9 2003/06/04 15:48:33 drh Exp $ */ #include "sqliteInt.h" #include <ctype.h> @@ -421,6 +421,7 @@ void sqlitePragma(Parse *pParse, Token *pLeft, Token *pRight, int minusFlag){ static VdbeOp indexListPreface[] = { { OP_ColumnName, 0, 0, "seq"}, { OP_ColumnName, 1, 0, "name"}, + { OP_ColumnName, 2, 0, "file"}, }; sqliteVdbeAddOpList(v, ArraySize(indexListPreface), indexListPreface); @@ -430,7 +431,10 @@ void sqlitePragma(Parse *pParse, Token *pLeft, Token *pRight, int minusFlag){ sqliteVdbeAddOp(v, OP_Integer, i, 0); sqliteVdbeAddOp(v, OP_String, 0, 0); sqliteVdbeChangeP3(v, -1, db->aDb[i].zName, P3_STATIC); - sqliteVdbeAddOp(v, OP_Callback, 2, 0); + sqliteVdbeAddOp(v, OP_String, 0, 0); + sqliteVdbeChangeP3(v, -1, sqliteBtreeGetFilename(db->aDb[i].pBt), + P3_STATIC); + sqliteVdbeAddOp(v, OP_Callback, 3, 0); } }else /* |