]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change the name of the OpenTemp opcode to OpenVirtual which is more
authordrh <drh@noemail.net>
Fri, 8 Jul 2005 17:13:46 +0000 (17:13 +0000)
committerdrh <drh@noemail.net>
Fri, 8 Jul 2005 17:13:46 +0000 (17:13 +0000)
descriptive of what it does. (CVS 2541)

FossilOrigin-Name: 3bb9ce5f20d0a6bc19df31df9b8e82044c3e6004

manifest
manifest.uuid
src/expr.c
src/insert.c
src/select.c
src/sqliteInt.h
src/vdbe.c
src/where.c
test/insert.test
test/select6.test
test/view.test

index c340befca10e4aa48548407d2e0595e754babc8a..218ec3dcf8ae8e0f42d6adbbd7829b6704852303 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\sEP_OptOnly\sflag\son\sexpressions\sfor\sWHERE\sclause\nterms\sthat\sare\sadded\sby\sthe\soptimizer\sbut\sshould\snot\sbe\scoded.\s(CVS\s2540)
-D 2005-07-08T14:14:23
+C Change\sthe\sname\sof\sthe\sOpenTemp\sopcode\sto\sOpenVirtual\swhich\sis\smore\ndescriptive\sof\swhat\sit\sdoes.\s(CVS\s2541)
+D 2005-07-08T17:13:47
 F Makefile.in 3c10cd7bc3ecbd60fe4d5a5c0f59bfa7fb217a66
 F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -38,11 +38,11 @@ F src/callback.c 0910b611e0c158f107ee3ff86f8a371654971e2b
 F src/date.c 7444b0900a28da77e57e3337a636873cff0ae940
 F src/delete.c 250d436a68fe371b4ab403d1c0f6fdc9a6860c39
 F src/experimental.c 50c1e3b34f752f4ac10c36f287db095c2b61766d
-F src/expr.c fdc8b82babbb266eeded4a314fd2f1d315133797
+F src/expr.c daf3515d33467090741d98227577356c108ea33f
 F src/func.c e6637354fe3a66dfac063a49109f277cde9ce87d
 F src/hash.c 2b1b13f7400e179631c83a1be0c664608c8f021f
 F src/hash.h 1b0c445e1c89ff2aaad9b4605ba61375af001e84
-F src/insert.c d61752504f8a67e28a3bd45288051a587ba899cd
+F src/insert.c c4533240451b73ead88098b5d819cb70fa0880bd
 F src/legacy.c d58ea507bce885298a2c8c3cbb0f4bff5d47830b
 F src/main.c 7d0293d9520688d47092ff48c1ed5254cd3c4474
 F src/md5.c 7ae1c39044b95de2f62e066f47bb1deb880a1070
@@ -61,10 +61,10 @@ F src/pragma.c dea86dad2f0e872b29632ae9fba526e539a4ddd8
 F src/prepare.c d53602d2f8e097225ae7c76ec764ae68f759ba47
 F src/printf.c 3d20b21cfecadacecac3fb7274e746cb81d3d357
 F src/random.c 90adff4e73a3b249eb4f1fc2a6ff9cf78c7233a4
-F src/select.c 28b752e58955c7920711fbdbfdcd369a2bd09448
+F src/select.c c611471052773b94af771693686bd5bcdbbb0dba
 F src/shell.c 25b3217d7c64e6497225439d261a253a23efff26
 F src/sqlite.h.in e06d5774e9cfa5962376ae988300a9f114a3e3d7
-F src/sqliteInt.h b7b2f7fc2c24bcfcedd2c0981a685860f16eb90b
+F src/sqliteInt.h f1804025f8ff45825ae2a2efa01c0be8a95738e8
 F src/table.c 25b3ff2b39b7d87e8d4a5da0713d68dfc06cbee9
 F src/tclsqlite.c cccaf6b78c290d824cf8ea089b8b27377e545830
 F src/test1.c 83ead44dead55033adff61ce69a1e2fc3e72935e
@@ -78,14 +78,14 @@ F src/update.c 49a9c618c3ba1ca57038d9ce41f14e958442fe58
 F src/utf.c bda5eb85039ef16f2d17004c1e18c96e1ab0a80c
 F src/util.c 1acbe299cbe51f45176ac1e48ded9bea206c3c23
 F src/vacuum.c 829d9e1a6d7c094b80e0899686670932eafd768c
-F src/vdbe.c 87dda3fc214e4828641dd53527777f1b7d37b85f
+F src/vdbe.c 971e08e91848e0afcdf5c7312c7f10b5fc6e7cd4
 F src/vdbe.h 75e466d84d362b0c4498978a9d6b1e6bd32ecf3b
 F src/vdbeInt.h 9be9a6c43d38124bd03cc5cf05715605b1789fd9
 F src/vdbeapi.c 7f392f0792d1258c958083d7de9eae7c3530c9a6
 F src/vdbeaux.c 3732a86566a6be4da4c606e9334baf3fd98667af
 F src/vdbefifo.c b8805850afe13b43f1de78d58088cb5d66f88e1e
 F src/vdbemem.c da8e8d6f29dd1323f782f000d7cd120027c9ff03
-F src/where.c e9c0c19052742d74783bdc8dba07ab42609debb7
+F src/where.c 6326f643534a2585a3bbbfe490a39dc4fa1115a5
 F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42
 F test/all.test 7f0988442ab811dfa41793b5b550f5828ce316f3
 F test/alter.test 9d6837a3d946b73df692b7cef2a7644d2e2f6bc6
@@ -141,7 +141,7 @@ F test/in.test ed134f8d477a6280297ced1646de83cccf8f196d
 F test/index.test 51e01a0928b4b61228917ddd8c6c0e2466547f6f
 F test/index2.test 9ad98243fd7fe833795a9cc662f371f0eed4ff4f
 F test/index3.test 72bd07b508022db688ec536c460345d24a3912e3
-F test/insert.test f48889e7ffb9fca18734751b47dfc53503fa8298
+F test/insert.test b0a89e1568fe9890758f8f2b43b68e840e8f1a1a
 F test/insert2.test 792ad079f59c7e14cf9397712725224e2112c838
 F test/insert3.test c67f0240b1c17e71fa2ed8bb6de064928f549f95
 F test/interrupt.test 170f87c2819f0e56c76e0a754949ea103d05009c
@@ -191,7 +191,7 @@ F test/select2.test 01b9cbc06e5ed662ce0289aa5f47314d54541e82
 F test/select3.test 44dccad96a1b9940bb8c6f982d4d218dcd262760
 F test/select4.test c239f516aa31f42f2ef7c6d7cd01105f08f934ca
 F test/select5.test 2d414f712bff8e590091e08f9b7287600731be00
-F test/select6.test 6e5a1a70a788cdbe515d1252dd0917d7e9d1d71e
+F test/select6.test 6559d16ad16edb7d6864f7e74a3d204d0af72486
 F test/select7.test 1bf795b948c133a15a2a5e99d3270e652ec58ce6
 F test/sort.test 312eade533cb3c7667110ccfa6e818db1078fd6c
 F test/subquery.test 0e37f0f032799c28aa8fcc0dc04ee28a78e5ce8b
@@ -221,7 +221,7 @@ F test/utf16.test 5fb019e09601774743858ef7380b6c02103ff120
 F test/vacuum.test 5d4857ae2afc9c20d0edb8acc58bdc8d630126a9
 F test/vacuum2.test 5d77e98c458bcdbeecc6327de5107179ba1aa095
 F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102
-F test/view.test e24553116e482a94e9cd22a4eea4909b1c6ed1c6
+F test/view.test 3c79232a2ee45918c62a0cf90411525899404a76
 F test/where.test 9de2426d0b8296b3aa7801cef5f81daf51f8e516
 F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b
 F tool/lemon.c c88936c67f6411608db8fa4254d254f509fa40f6
@@ -285,7 +285,7 @@ F www/tclsqlite.tcl 425be741b8ae664f55cb1ef2371aab0a75109cf9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
 F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b
-P b72bff81f9937378417a0af0610d8558279b67a7
-R c4fc77478fdb3a3d8e789b5f5aefe0b7
+P f4a66ed04dfd8714746b766b4859682ea18e328f
+R 7dbd5cf11e082700c07694668805a635
 U drh
-Z bbe2b8533b9721f74ae254c674c04a75
+Z 2074933014582e5567aec0bab96430cb
index 53516219b5da4ccd54dae709ba923d8f5c6f4880..9b1de654ac449a1ff074636845eccb5e744130a5 100644 (file)
@@ -1 +1 @@
-f4a66ed04dfd8714746b766b4859682ea18e328f
\ No newline at end of file
+3bb9ce5f20d0a6bc19df31df9b8e82044c3e6004
\ No newline at end of file
index 26985fa71a0394582b6a5cab10148bb73a689572..2303a7a16af08931343609d8dc3c1b69cae1985d 100644 (file)
@@ -12,7 +12,7 @@
 ** This file contains routines used for analyzing expressions and
 ** for generating VDBE code that evaluates expressions in SQLite.
 **
-** $Id: expr.c,v 1.209 2005/06/30 17:04:21 drh Exp $
+** $Id: expr.c,v 1.210 2005/07/08 17:13:47 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -530,7 +530,7 @@ Select *sqlite3SelectDup(Select *p){
   pNew->pOffset = sqlite3ExprDup(p->pOffset);
   pNew->iLimit = -1;
   pNew->iOffset = -1;
-  pNew->ppOpenTemp = 0;
+  pNew->ppOpenVirtual = 0;
   pNew->isResolved = p->isResolved;
   pNew->isAgg = p->isAgg;
   return pNew;
@@ -1263,7 +1263,7 @@ void sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){
     case TK_IN: {
       char affinity;
       KeyInfo keyInfo;
-      int addr;        /* Address of OP_OpenTemp instruction */
+      int addr;        /* Address of OP_OpenVirtual instruction */
 
       affinity = sqlite3ExprAffinity(pExpr->pLeft);
 
@@ -1281,7 +1281,7 @@ void sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){
       ** is used.
       */
       pExpr->iTable = pParse->nTab++;
-      addr = sqlite3VdbeAddOp(v, OP_OpenTemp, pExpr->iTable, 0);
+      addr = sqlite3VdbeAddOp(v, OP_OpenVirtual, pExpr->iTable, 0);
       memset(&keyInfo, 0, sizeof(keyInfo));
       keyInfo.nField = 1;
       sqlite3VdbeAddOp(v, OP_SetNumColumns, pExpr->iTable, 1);
index e336f6cf93b5aa0c36d072d09e630cf7b767dcbd..b236a10a268e6c8de4caeae3a02e006aac61f332 100644 (file)
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle INSERT statements in SQLite.
 **
-** $Id: insert.c,v 1.140 2005/06/24 03:53:06 drh Exp $
+** $Id: insert.c,v 1.141 2005/07/08 17:13:47 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -373,7 +373,7 @@ void sqlite3Insert(
       ** back up and execute the SELECT code above.
       */
       sqlite3VdbeChangeP2(v, iInitCode, sqlite3VdbeCurrentAddr(v));
-      sqlite3VdbeAddOp(v, OP_OpenTemp, srcTab, 0);
+      sqlite3VdbeAddOp(v, OP_OpenVirtual, srcTab, 0);
       sqlite3VdbeAddOp(v, OP_SetNumColumns, srcTab, nColumn);
       sqlite3VdbeAddOp(v, OP_Goto, 0, iSelectLoop);
       sqlite3VdbeResolveLabel(v, iCleanup);
index 8588235ed31931252f759f74604e37be261addf8..dd094451d8dbef0c0d6257609e49245471561044 100644 (file)
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle SELECT statements in SQLite.
 **
-** $Id: select.c,v 1.252 2005/06/12 21:35:52 drh Exp $
+** $Id: select.c,v 1.253 2005/07/08 17:13:47 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -1322,9 +1322,9 @@ static void computeLimitRegisters(Parse *pParse, Select *p){
 ** DISTINCT, UNION, INTERSECT and EXCEPT select statements (but not 
 ** UNION ALL).
 **
-** The value returned is the address of the OP_OpenTemp instruction.
+** The value returned is the address of the OP_OpenVirtual instruction.
 */
-static int openTempIndex(Parse *pParse, Select *p, int iTab){
+static int openVirtualIndex(Parse *pParse, Select *p, int iTab){
   KeyInfo *pKeyInfo;
   int nColumn;
   sqlite3 *db = pParse->db;
@@ -1346,18 +1346,18 @@ static int openTempIndex(Parse *pParse, Select *p, int iTab){
       pKeyInfo->aColl[i] = db->pDfltColl;
     }
   }
-  addr = sqlite3VdbeOp3(v, OP_OpenTemp, iTab, 0, 
+  addr = sqlite3VdbeOp3(v, OP_OpenVirtual, iTab, 0, 
       (char*)pKeyInfo, P3_KEYINFO_HANDOFF);
   return addr;
 }
 
 #ifndef SQLITE_OMIT_COMPOUND_SELECT
 /*
-** Add the address "addr" to the set of all OpenTemp opcode addresses
-** that are being accumulated in p->ppOpenTemp.
+** Add the address "addr" to the set of all OpenVirtual opcode addresses
+** that are being accumulated in p->ppOpenVirtual.
 */
-static int multiSelectOpenTempAddr(Select *p, int addr){
-  IdList *pList = *p->ppOpenTemp = sqlite3IdListAppend(*p->ppOpenTemp, 0);
+static int multiSelectOpenVirtualAddr(Select *p, int addr){
+  IdList *pList = *p->ppOpenVirtual = sqlite3IdListAppend(*p->ppOpenVirtual, 0);
   if( pList==0 ){
     return SQLITE_NOMEM;
   }
@@ -1430,7 +1430,7 @@ static int multiSelect(
   int rc = SQLITE_OK;   /* Success code from a subroutine */
   Select *pPrior;       /* Another SELECT immediately to our left */
   Vdbe *v;              /* Generate code to this VDBE */
-  IdList *pOpenTemp = 0;/* OP_OpenTemp opcodes that need a KeyInfo */
+  IdList *pOpenVirtual = 0;/* OP_OpenVirtual opcodes that need a KeyInfo */
   int aAddr[5];         /* Addresses of SetNumColumns operators */
   int nAddr = 0;        /* Number used */
   int nCol;             /* Number of columns in the result set */
@@ -1465,21 +1465,21 @@ static int multiSelect(
   }
 
   /* If *p this is the right-most select statement, then initialize
-  ** p->ppOpenTemp to point to pOpenTemp.  If *p is not the right most
-  ** statement then p->ppOpenTemp will have already been initialized
-  ** by a prior call to this same procedure.  Pass along the pOpenTemp
+  ** p->ppOpenVirtual to point to pOpenVirtual.  If *p is not the right most
+  ** statement then p->ppOpenVirtual will have already been initialized
+  ** by a prior call to this same procedure.  Pass along the pOpenVirtual
   ** pointer to pPrior, the next statement to our left.
   */
-  if( p->ppOpenTemp==0 ){
-    p->ppOpenTemp = &pOpenTemp;
+  if( p->ppOpenVirtual==0 ){
+    p->ppOpenVirtual = &pOpenVirtual;
   }
-  pPrior->ppOpenTemp = p->ppOpenTemp;
+  pPrior->ppOpenVirtual = p->ppOpenVirtual;
 
   /* Create the destination temporary table if necessary
   */
   if( eDest==SRT_TempTable ){
     assert( p->pEList );
-    sqlite3VdbeAddOp(v, OP_OpenTemp, iParm, 0);
+    sqlite3VdbeAddOp(v, OP_OpenVirtual, iParm, 0);
     assert( nAddr==0 );
     aAddr[nAddr++] = sqlite3VdbeAddOp(v, OP_SetNumColumns, iParm, 0);
     eDest = SRT_Table;
@@ -1536,9 +1536,9 @@ static int multiSelect(
           rc = 1;
           goto multi_select_end;
         }
-        addr = sqlite3VdbeAddOp(v, OP_OpenTemp, unionTab, 0);
+        addr = sqlite3VdbeAddOp(v, OP_OpenVirtual, unionTab, 0);
         if( p->op!=TK_ALL ){
-          rc = multiSelectOpenTempAddr(p, addr);
+          rc = multiSelectOpenVirtualAddr(p, addr);
           if( rc!=SQLITE_OK ){
             goto multi_select_end;
           }
@@ -1628,8 +1628,8 @@ static int multiSelect(
         goto multi_select_end;
       }
 
-      addr = sqlite3VdbeAddOp(v, OP_OpenTemp, tab1, 0);
-      rc = multiSelectOpenTempAddr(p, addr);
+      addr = sqlite3VdbeAddOp(v, OP_OpenVirtual, tab1, 0);
+      rc = multiSelectOpenVirtualAddr(p, addr);
       if( rc!=SQLITE_OK ){
         goto multi_select_end;
       }
@@ -1646,8 +1646,8 @@ static int multiSelect(
 
       /* Code the current SELECT into temporary table "tab2"
       */
-      addr = sqlite3VdbeAddOp(v, OP_OpenTemp, tab2, 0);
-      rc = multiSelectOpenTempAddr(p, addr);
+      addr = sqlite3VdbeAddOp(v, OP_OpenVirtual, tab2, 0);
+      rc = multiSelectOpenVirtualAddr(p, addr);
       if( rc!=SQLITE_OK ){
         goto multi_select_end;
       }
@@ -1725,11 +1725,11 @@ static int multiSelect(
   ** SELECT might also skip this part if it has no ORDER BY clause and
   ** no temp tables are required.
   */
-  if( p->pOrderBy || (pOpenTemp && pOpenTemp->nId>0) ){
+  if( p->pOrderBy || (pOpenVirtual && pOpenVirtual->nId>0) ){
     int i;                        /* Loop counter */
     KeyInfo *pKeyInfo;            /* Collating sequence for the result set */
 
-    assert( p->ppOpenTemp == &pOpenTemp );
+    assert( p->ppOpenVirtual == &pOpenVirtual );
     pKeyInfo = sqliteMalloc(sizeof(*pKeyInfo)+nCol*sizeof(CollSeq*));
     if( !pKeyInfo ){
       rc = SQLITE_NOMEM;
@@ -1746,9 +1746,9 @@ static int multiSelect(
       }
     }
 
-    for(i=0; pOpenTemp && i<pOpenTemp->nId; i++){
+    for(i=0; pOpenVirtual && i<pOpenVirtual->nId; i++){
       int p3type = (i==0?P3_KEYINFO_HANDOFF:P3_KEYINFO);
-      int addr = pOpenTemp->a[i].idx;
+      int addr = pOpenVirtual->a[i].idx;
       sqlite3VdbeChangeP3(v, addr, (char *)pKeyInfo, p3type);
     }
 
@@ -1768,17 +1768,17 @@ static int multiSelect(
       generateSortTail(pParse, p, v, p->pEList->nExpr, eDest, iParm);
     }
 
-    if( !pOpenTemp ){
+    if( !pOpenVirtual ){
       /* This happens for UNION ALL ... ORDER BY */
       sqliteFree(pKeyInfo);
     }
   }
 
 multi_select_end:
-  if( pOpenTemp ){
-    sqlite3IdListDelete(pOpenTemp);
+  if( pOpenVirtual ){
+    sqlite3IdListDelete(pOpenVirtual);
   }
-  p->ppOpenTemp = 0;
+  p->ppOpenVirtual = 0;
   return rc;
 }
 #endif /* SQLITE_OMIT_COMPOUND_SELECT */
@@ -2183,7 +2183,7 @@ static int simpleMinMaxQuery(Parse *pParse, Select *p, int eDest, int iParm){
   /* If the output is destined for a temporary table, open that table.
   */
   if( eDest==SRT_TempTable ){
-    sqlite3VdbeAddOp(v, OP_OpenTemp, iParm, 0);
+    sqlite3VdbeAddOp(v, OP_OpenVirtual, iParm, 0);
     sqlite3VdbeAddOp(v, OP_SetNumColumns, iParm, 1);
   }
 
@@ -2653,7 +2653,7 @@ int sqlite3Select(
   /* If the output is destined for a temporary table, open that table.
   */
   if( eDest==SRT_TempTable ){
-    sqlite3VdbeAddOp(v, OP_OpenTemp, iParm, 0);
+    sqlite3VdbeAddOp(v, OP_OpenVirtual, iParm, 0);
     sqlite3VdbeAddOp(v, OP_SetNumColumns, iParm, pEList->nExpr);
   }
 
@@ -2737,7 +2737,7 @@ int sqlite3Select(
   */
   if( isDistinct ){
     distinct = pParse->nTab++;
-    openTempIndex(pParse, p, distinct);
+    openVirtualIndex(pParse, p, distinct);
   }else{
     distinct = -1;
   }
index 0b2c0ea9f0ba9726a3785e2aea475dec9cc4d074..b0ee332ff0089e7acfba890f36aa940e2647ec0b 100644 (file)
@@ -11,7 +11,7 @@
 *************************************************************************
 ** Internal interface definitions for SQLite.
 **
-** @(#) $Id: sqliteInt.h,v 1.391 2005/07/08 14:14:23 drh Exp $
+** @(#) $Id: sqliteInt.h,v 1.392 2005/07/08 17:13:47 drh Exp $
 */
 #ifndef _SQLITEINT_H_
 #define _SQLITEINT_H_
@@ -1036,7 +1036,7 @@ struct Select {
   Expr *pLimit;          /* LIMIT expression. NULL means not used. */
   Expr *pOffset;         /* OFFSET expression. NULL means not used. */
   int iLimit, iOffset;   /* Memory registers holding LIMIT & OFFSET counters */
-  IdList **ppOpenTemp;   /* OP_OpenTemp addresses used by multi-selects */
+  IdList **ppOpenVirtual;/* OP_OpenVirtual addresses used by multi-selects */
   u8 isResolved;         /* True once sqlite3SelectResolve() has run. */
   u8 isAgg;              /* True if this is an aggregate query */
 };
index 3a176cad8847d29623e4e580de16fdb97519d90f..ae4a3b42821dca28e0711b6bd8228d0e9dcc6f5c 100644 (file)
@@ -43,7 +43,7 @@
 ** in this file for details.  If in doubt, do not deviate from existing
 ** commenting and indentation practices when changing or adding code.
 **
-** $Id: vdbe.c,v 1.473 2005/07/08 13:08:00 drh Exp $
+** $Id: vdbe.c,v 1.474 2005/07/08 17:13:47 drh Exp $
 */
 #include "sqliteInt.h"
 #include "os.h"
@@ -2596,25 +2596,18 @@ case OP_OpenWrite: {       /* no-push */
   break;
 }
 
-/* Opcode: OpenTemp P1 * P3
+/* Opcode: OpenVirtual P1 * P3
 **
-** Open a new cursor to a transient table.
-** The transient cursor is always opened read/write even if 
-** the main database is read-only.  The transient table is deleted
-** automatically when the cursor is closed.
+** Open a new cursor to a transient or virtual table.
+** The cursor is always opened read/write even if 
+** the main database is read-only.  The transient or virtual
+** table is deleted automatically when the cursor is closed.
 **
 ** The cursor points to a BTree table if P3==0 and to a BTree index
 ** if P3 is not 0.  If P3 is not NULL, it points to a KeyInfo structure
 ** that defines the format of keys in the index.
-**
-** This opcode is used for tables that exist for the duration of a single
-** SQL statement only.  Tables created using CREATE TEMPORARY TABLE
-** are opened using OP_OpenRead or OP_OpenWrite.  "Temporary" in the
-** context of this opcode means for the duration of a single SQL statement
-** whereas "Temporary" in the context of CREATE TABLE means for the duration
-** of the connection to the database.  Same word; different meanings.
 */
-case OP_OpenTemp: {       /* no-push */
+case OP_OpenVirtual: {       /* no-push */
   int i = pOp->p1;
   Cursor *pCx;
   assert( i>=0 );
index 75cc412cea7ac6c2dea4e67c0cacd4e4bad5504d..14f39190049cb833de6fd905455980f3878b6bc4 100644 (file)
@@ -16,7 +16,7 @@
 ** so is applicable.  Because this module is responsible for selecting
 ** indices, you might also think of this module as the "query optimizer".
 **
-** $Id: where.c,v 1.141 2005/07/08 14:14:23 drh Exp $
+** $Id: where.c,v 1.142 2005/07/08 17:13:47 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -507,7 +507,7 @@ static void codeEqualityTerm(
 }
 
 /*
-** The number of bits in a Bitmask
+** The number of bits in a Bitmask.  "BMS" means "BitMask Size".
 */
 #define BMS  (sizeof(Bitmask)*8-1)
 
index 8b5052025f16f7cc1403c8da9c47c6ac8e1bcbfd..ae7ed919efa5411e46ff76247801c7889ccf3293 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this file is testing the INSERT statement.
 #
-# $Id: insert.test,v 1.26 2005/05/29 14:23:13 danielk1977 Exp $
+# $Id: insert.test,v 1.27 2005/07/08 17:13:47 drh Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -247,7 +247,7 @@ ifcapable tempdb {
       set x [execsql {
         EXPLAIN INSERT INTO t4 SELECT x+2 FROM t4;
       }]
-      expr {[lsearch $x OpenTemp]>0}
+      expr {[lsearch $x OpenVirtual]>0}
     } {1}
   }
   
index acb9fb92bb9c3d7147bc8b58f948d5075982916e..fced37f3bde4fdb8caa5af3d735319aa39092701 100644 (file)
@@ -12,7 +12,7 @@
 # focus of this file is testing SELECT statements that contain
 # subqueries in their FROM clause.
 #
-# $Id: select6.test,v 1.17 2005/01/29 08:32:46 danielk1977 Exp $
+# $Id: select6.test,v 1.18 2005/07/08 17:13:47 drh Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -381,7 +381,7 @@ ifcapable {!explain} {
 # sqliteFlattenSubquery() routine in select.c is doing its job.
 #
 proc is_flat {sql} {
-  return [expr 0>[lsearch [execsql "EXPLAIN $sql"] OpenTemp]]
+  return [expr 0>[lsearch [execsql "EXPLAIN $sql"] OpenVirtual]]
 }
 
 # Check that the flattener works correctly for deeply nested subqueries
index 129ebdaf4c6df5eb5951b4a6222919097939acb5..9c13ad54a3ded43226daa794d459e46996528729 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this file is testing VIEW statements.
 #
-# $Id: view.test,v 1.25 2005/06/06 15:32:08 drh Exp $
+# $Id: view.test,v 1.26 2005/07/08 17:13:47 drh Exp $
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
@@ -219,7 +219,7 @@ ifcapable {explain} {
 do_test view-5.3 {
   lsearch [execsql {
     EXPLAIN SELECT * FROM v5;
-  }] OpenTemp
+  }] OpenVirtual
 } {-1}
 do_test view-5.4 {
   execsql {
@@ -229,7 +229,7 @@ do_test view-5.4 {
 do_test view-5.5 {
   lsearch [execsql {
     EXPLAIN SELECT * FROM v5 AS a, t2 AS b WHERE a.w=b.y;
-  }] OpenTemp
+  }] OpenVirtual
 } {-1}
 do_test view-5.6 {
   execsql {
@@ -239,7 +239,7 @@ do_test view-5.6 {
 do_test view-5.7 {
   lsearch [execsql {
     EXPLAIN SELECT * FROM t2 AS b, v5 AS a WHERE a.w=b.y;
-  }] OpenTemp
+  }] OpenVirtual
 } {-1}
 do_test view-5.8 {
   execsql {
@@ -249,7 +249,7 @@ do_test view-5.8 {
 do_test view-5.9 {
   lsearch [execsql {
     EXPLAIN SELECT * FROM t1 AS a, v5 AS b, t2 AS c WHERE a.x=b.v AND b.w=c.y;
-  }] OpenTemp
+  }] OpenVirtual
 } {-1}
 } ;# endif explain