]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change the "database_list" pragma to return a third column containing the
authordrh <drh@noemail.net>
Wed, 4 Jun 2003 15:48:33 +0000 (15:48 +0000)
committerdrh <drh@noemail.net>
Wed, 4 Jun 2003 15:48:33 +0000 (15:48 +0000)
filename of the underlying database file.  Always use an in-memory TEMP
database with an in-memory main database. (CVS 1003)

FossilOrigin-Name: f39100f5759d0d8b9c71e18d38a148dee4643020

manifest
manifest.uuid
src/main.c
src/pragma.c

index 7fa1c264c50cddc636c59869e4e78cb0e2bbec45..096fc728294b167c01dc78038f85476d3007c52c 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Version\s2.8.3\s(CVS\s1002)
-D 2003-06-04T12:44:27
+C Change\sthe\s"database_list"\spragma\sto\sreturn\sa\sthird\scolumn\scontaining\sthe\nfilename\sof\sthe\sunderlying\sdatabase\sfile.\s\sAlways\suse\san\sin-memory\sTEMP\ndatabase\swith\san\sin-memory\smain\sdatabase.\s(CVS\s1003)
+D 2003-06-04T15:48:33
 F Makefile.in 1ff85c27d4350c74118341024e8a4fb2a04a3a43
 F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -33,14 +33,14 @@ F src/func.c 33bbce6acaf9578ac99aa1f689968ccaf2ce43a2
 F src/hash.c 058f077c1f36f266581aa16f907a3903abf64aa3
 F src/hash.h cd0433998bc1a3759d244e1637fe5a3c13b53bf8
 F src/insert.c 6a61c6d1ef17396d0e87e555806653fddab0b084
-F src/main.c 945f9b6855007b28a6c910584d1ca5adff92d821
+F src/main.c c785a3d4675b26cde2d69015aa1090d69ff0da43
 F src/md5.c fe4f9c9c6f71dfc26af8da63e4d04489b1430565
 F src/os.c 080238f03015057879cdf53bc4af9e497f2ba724
 F src/os.h 9e5bbddff123187295e3d00d49af06192cd1cd49
 F src/pager.c 51fdfda63e2d8c01fff8f7fe0c49f2636d5b1321
 F src/pager.h 5da62c83443f26b1792cfd72c96c422f91aadd31
 F src/parse.y 917250e5d86bdee752355e6617ea2e8ee12438bf
-F src/pragma.c ec64704e61286948f39157617f1ce2f506dd1b74
+F src/pragma.c f439a6157fe7c8d66dc2c6bfde2abaf23e770e1d
 F src/printf.c fc5fdef6e92ad205005263661fe9716f55a49f3e
 F src/random.c 19e8e00fe0df32a742f115773f57651be327cabe
 F src/select.c 76b3a5cda76421cfe82d6a96c72308c2518cb2f9
@@ -165,7 +165,7 @@ F www/speed.tcl cb4c10a722614aea76d2c51f32ee43400d5951be
 F www/sqlite.tcl 4bd1729e320f5fa9125f0022b281fbe839192125
 F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
 F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P c96f5bf0d7b75c8091f78dc2b9e3937949642ce5
-R e31e8c7cdbafc68dc5929b52631fff51
+P 433570e3e6caa52b9e480a22529dde6385a3c7d3
+R cb2900943d7c0b51209a7805a653dfeb
 U drh
-Z aee5f3bfe272c0c6eeead46ab85c86d4
+Z 3de7c4883d1691228d569396e6e62416
index 34b4b2e9ffbc58f12b4b8c3a29311cc3b8f89612..3f8ded9d09cde0b47f7c815c841c6196aefdccf7 100644 (file)
@@ -1 +1 @@
-433570e3e6caa52b9e480a22529dde6385a3c7d3
\ No newline at end of file
+f39100f5759d0d8b9c71e18d38a148dee4643020
\ No newline at end of file
index daa88ce2b9585607e07842b418672a8957f07420..c14860a48da6c346681dfade15f0c431a92ff30a 100644 (file)
@@ -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 ){
index 7488c962f28f91c59759f9035c291cc0450f2f0c..0aaae6968ebd15625a4b67312ae92f3235053769 100644 (file)
@@ -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
   /*