aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2003-06-04 15:48:33 +0000
committerdrh <drh@noemail.net>2003-06-04 15:48:33 +0000
commit5e8e1981dcbd418e0a69add3170b5c5fed79ef2e (patch)
tree97b82e7f68c4d1ffc58a583638a3654e0d6829af /src
parentca3bdaca190abece19526ed1460536ad3748ab09 (diff)
downloadsqlite-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.c5
-rw-r--r--src/pragma.c8
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
/*