]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Omit the sqlite3VdbeCode() routine. Use sqlite3NameFromToken() more to
authordrh <drh@noemail.net>
Sat, 19 Jun 2004 14:49:12 +0000 (14:49 +0000)
committerdrh <drh@noemail.net>
Sat, 19 Jun 2004 14:49:12 +0000 (14:49 +0000)
reduce the amount of code. (CVS 1639)

FossilOrigin-Name: 99d0436e0ee1c917b2b7bbf005f05288b535648a

manifest
manifest.uuid
src/attach.c
src/build.c
src/expr.c
src/pragma.c
src/select.c
src/sqliteInt.h
src/trigger.c
src/vdbe.h
src/vdbeaux.c

index a70df75f7b4dddf61f77fd9780295f494100d81f..08b7dffdb6153ff0d72c57e41ff2da8271ed283a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C file\sspaceanal.tcl\swas\sinitially\sadded\son\sbranch\sversion_2.\s(CVS\s1638)
-D 2004-06-19T11:57:40
+C Omit\sthe\ssqlite3VdbeCode()\sroutine.\s\sUse\ssqlite3NameFromToken()\smore\sto\nreduce\sthe\samount\sof\scode.\s(CVS\s1639)
+D 2004-06-19T14:49:12
 F Makefile.in d69d53c543518c1572ee0a8e8723d7e00bdb2266
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -24,15 +24,15 @@ F spec.template a38492f1c1dd349fc24cb0565e08afc53045304b
 F sqlite.1 83f4a9d37bdf2b7ef079a82d54eaf2e3509ee6ea
 F sqlite.pc.in 30552343140c53304c2a658c080fbe810cd09ca2
 F sqlite3.def c4bc3f10bccded91d06328c4b2b742ace4d3ed9f
-F src/attach.c 293da1e8e3ea6e9244bb3d744da930606fbb4ab0
+F src/attach.c 78ca379f2db3701cca20055cdd802c6bd3b49870
 F src/auth.c 204e1e9c45e64315589bc8b62cba5d9de29b6a3c
 F src/btree.c 0cf8a52a57a7eb13d50719114ee1fa353e89d7d3
 F src/btree.h 32f96abef464cf8765b23ca669acfe90d191fcc5
-F src/build.c d7827169529c76cb86760bc1bc06a931c4ff6c8c
+F src/build.c c843ef3d4440b591e154d0e78c664e213236db68
 F src/date.c b3e8b2bef1e3f2ce24e5b057203036defb18c3f1
 F src/delete.c a5191011b7429dff939df631b8bdcc1714b8d7aa
 F src/encode.c a876af473d1d636faa3dca51c7571f2e007eea37
-F src/expr.c 01cdf6a632ff66acfff667932c41bb79d18d5077
+F src/expr.c 9ae0e55a230802da35a55fd6e87533cca0301af9
 F src/func.c b7a8b55200d34bf01fe2a52462db27399f291777
 F src/hash.c 440c2f8cb373ee1b4e13a0988489c7cd95d55b6f
 F src/hash.h 762d95f1e567664d1eafc1687de755626be962fb
@@ -51,13 +51,13 @@ F src/os_win.h 004eec47b1780fcaf07420ddc2072294b698d48c
 F src/pager.c d627c5e46084b0c757a16cec2c17adcc8046f8ee
 F src/pager.h bc58d32a9dee464f7268fb68652c130a4216e438
 F src/parse.y 097438674976355a10cf177bd97326c548820b86
-F src/pragma.c 42de2b327d17af5167de66744a731f8dae8bbe96
+F src/pragma.c 424d812d7411a83816f0d7c41170a5d6e13b3824
 F src/printf.c 823b6a5cbedb6971a9e62f5d83204fe9b0be7c1b
 F src/random.c eff68e3f257e05e81eae6c4d50a51eb88beb4ff3
-F src/select.c 91570af7f13d1c5584f3b711676e1226ee12194e
+F src/select.c 9aa82bbc63983a304bc51d4a7c259e759f92c8dc
 F src/shell.c 24b641700c9d90f361fcfa4f432c5b4aff704e6d
 F src/sqlite.h.in c34414b9f5330f875e26a69fe685e38ca45f11b9
-F src/sqliteInt.h 6c141ab926097c9671e22641fbb70e24c58b883c
+F src/sqliteInt.h 6a34196b2fc203b738ed3596c5ffef1d0748cc95
 F src/table.c af14284fa36c8d41f6829e3f2819dce07d3e2de2
 F src/tclsqlite.c ddef9b18271fb46344d3d35446bd7c001465a69a
 F src/test1.c ee426e026ad9223483e7a84bb68849fc6e9f542e
@@ -66,16 +66,16 @@ F src/test3.c 7247090d15a5a43823079b6fd8dad1ed3cccdedf
 F src/test4.c a921a69821fd30209589228e64f94e9f715b6fe2
 F src/test5.c 1b7c275b2929dbd034a567255d2aca339410d1d6
 F src/tokenize.c 900374b6b37f04748bcd48c2d29a41c251542935
-F src/trigger.c b05699cf40e99a330649eabfb1cece05ff73e469
+F src/trigger.c fb38c34d933f32dbb6c31b48935f33d868cc7658
 F src/update.c f9a03233577e0c3d57234d1957963875fc941da2
 F src/utf.c 3a2596013e4b9582d075ca742de7f067ff7dee95
 F src/util.c 1b3743413e11cae51a899dc03fa9b829a3a1f160
 F src/vacuum.c fcb930215a3f6c50087300782555f61ad11dd80c
 F src/vdbe.c 324ad6157f9bd0a770be70a4e7dca2cb0d27bd82
-F src/vdbe.h 46f74444a213129bc4b5ce40124dd8ed613b0cde
+F src/vdbe.h 9ad64674c4c7acd6744174cab5d34013413ef0d3
 F src/vdbeInt.h 54af2e00301cde7573b86ea8a9b29a2152e762f7
 F src/vdbeapi.c 1601fb2d015fc88ce3dd6a6a50cf44b6419fdbbf
-F src/vdbeaux.c 82074da25adb94aabd80a407b32f91fa9389baca
+F src/vdbeaux.c cf9caac1163ea384e49b11cb0d405082eef8741d
 F src/vdbemem.c 9359c53386e070fea9f5403cab0c6f0cfe36496b
 F src/where.c 6507074d8ce3f78e7a4cd33f667f11e62020553e
 F test/all.test 569a92a8ee88f5300c057cc4a8f50fbbc69a3242
@@ -225,7 +225,7 @@ F www/tclsqlite.tcl 19191cf2a1010eaeff74c51d83fd5f5a4d899075
 F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
 F www/version3.tcl af528563442e3039928f9018327a18157e53a44f
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P a5c98a272ec30971a9aa9ba2a6e2dec1a4dd8c18
-R 5f8f7f04d9aeffdc923f82538c2bcc15
+P 936e60d7b122079de23db301a55c6e8510c82e18
+R ed730593128daa92468fa18fd3a57762
 U drh
-Z 27045e58200021e41670a7eb9cdb0650
+Z f5520e1d232faa01844b8961883e0286
index 5b2d2c9b02607eb7a17da1be5a0939e49f9bb46c..58055be5250add73f0c4eaedcb8a5e1234a8573a 100644 (file)
@@ -1 +1 @@
-936e60d7b122079de23db301a55c6e8510c82e18
\ No newline at end of file
+99d0436e0ee1c917b2b7bbf005f05288b535648a
\ No newline at end of file
index 407f0c34e1837442a5e2d8937f48984219ea854f..509db05a74aa97890c2e85a101adbd71d83e5c8e 100644 (file)
@@ -11,7 +11,7 @@
 *************************************************************************
 ** This file contains code used to implement the ATTACH and DETACH commands.
 **
-** $Id: attach.c,v 1.15 2004/06/19 09:08:16 danielk1977 Exp $
+** $Id: attach.c,v 1.16 2004/06/19 14:49:12 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -47,10 +47,8 @@ void sqlite3Attach(Parse *pParse, Token *pFilename, Token *pDbname, Token *pKey)
     return;
   }
 
-  zFile = 0;
-  sqlite3SetNString(&zFile, pFilename->z, pFilename->n, 0);
+  zFile = sqlite3NameFromToken(pFilename);;
   if( zFile==0 ) return;
-  sqlite3Dequote(zFile);
 #ifndef SQLITE_OMIT_AUTHORIZATION
   if( sqlite3AuthCheck(pParse, SQLITE_ATTACH, zFile, 0, 0)!=SQLITE_OK ){
     sqliteFree(zFile);
@@ -58,10 +56,8 @@ void sqlite3Attach(Parse *pParse, Token *pFilename, Token *pDbname, Token *pKey)
   }
 #endif /* SQLITE_OMIT_AUTHORIZATION */
 
-  zName = 0;
-  sqlite3SetNString(&zName, pDbname->z, pDbname->n, 0);
+  zName = sqlite3NameFromToken(pDbname);
   if( zName==0 ) return;
-  sqlite3Dequote(zName);
   for(i=0; i<db->nDb; i++){
     if( db->aDb[i].zName && sqlite3StrICmp(db->aDb[i].zName, zName)==0 ){
       sqlite3ErrorMsg(pParse, "database %z is already in use", zName);
@@ -311,6 +307,3 @@ int sqlite3FixTriggerStep(
   }
   return 0;
 }
-
-
-
index 3c082699cd59641f51e88dc07ca0304a7b7c2940..f24130263a564c2ddabb43eb473b5601351e4595 100644 (file)
@@ -23,7 +23,7 @@
 **     ROLLBACK
 **     PRAGMA
 **
-** $Id: build.c,v 1.224 2004/06/19 09:35:36 danielk1977 Exp $
+** $Id: build.c,v 1.225 2004/06/19 14:49:12 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -414,14 +414,23 @@ static void sqliteUnlinkAndDeleteTable(sqlite *db, Table *p){
 }
 
 /*
-** Construct the name of a user table or index from a token.
+** Given a token, return a string that consists of the text of that
+** token with any quotations removed.  Space to hold the returned string
+** is obtained from sqliteMalloc() and must be freed by the calling
+** function.
 **
-** Space to hold the name is obtained from sqliteMalloc() and must
-** be freed by the calling function.
+** Tokens are really just pointers into the original SQL text and so
+** are not \000 terminated and are not persistent.  The returned string
+** is \000 terminated and is persistent.
 */
-char *sqlite3TableNameFromToken(Token *pName){
-  char *zName = sqliteStrNDup(pName->z, pName->n);
-  sqlite3Dequote(zName);
+char *sqlite3NameFromToken(Token *pName){
+  char *zName;
+  if( pName ){
+    zName = sqliteStrNDup(pName->z, pName->n);
+    sqlite3Dequote(zName);
+  }else{
+    zName = 0;
+  }
   return zName;
 }
 
@@ -554,7 +563,7 @@ void sqlite3StartTable(
   if( isTemp ) iDb = 1;
 
   pParse->sNameToken = *pName;
-  zName = sqlite3TableNameFromToken(pName);
+  zName = sqlite3NameFromToken(pName);
   if( zName==0 ) return;
   if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){
     sqliteFree(zName);
@@ -683,12 +692,11 @@ void sqlite3StartTable(
 void sqlite3AddColumn(Parse *pParse, Token *pName){
   Table *p;
   int i;
-  char *z = 0;
+  char *z;
   Column *pCol;
   if( (p = pParse->pNewTable)==0 ) return;
-  sqlite3SetNString(&z, pName->z, pName->n, 0);
+  z = sqlite3NameFromToken(pName);
   if( z==0 ) return;
-  sqlite3Dequote(z);
   for(i=0; i<p->nCol; i++){
     if( sqlite3StrICmp(z, p->aCol[i].zName)==0 ){
       sqlite3ErrorMsg(pParse, "duplicate column name: %s", z);
@@ -1573,7 +1581,7 @@ static void sqliteViewResetAll(sqlite *db, int idx){
 Table *sqlite3TableFromToken(Parse *pParse, Token *pTok){
   char *zName;
   Table *pTab;
-  zName = sqlite3TableNameFromToken(pTok);
+  zName = sqlite3NameFromToken(pTok);
   if( zName==0 ) return 0;
   pTab = sqlite3FindTable(pParse->db, zName, 0);
   sqliteFree(zName);
@@ -1946,7 +1954,7 @@ void sqlite3CreateIndex(
   ** own name.
   */
   if( pName ){
-    zName = sqlite3TableNameFromToken(pName);
+    zName = sqlite3NameFromToken(pName);
     if( zName==0 ) goto exit_create_index;
     if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){
       goto exit_create_index;
@@ -2148,10 +2156,8 @@ void sqlite3CreateIndex(
     sqlite3VdbeOp3(v, OP_CreateIndex, 0, iDb,(char*)&pIndex->tnum,P3_POINTER);
     pIndex->tnum = 0;
     if( pTblName ){
-      sqlite3VdbeCode(v,
-          OP_Dup,       0,      0,
-          OP_Integer,   iDb,    0,
-      0);
+      sqlite3VdbeAddOp(v, OP_Dup, 0, 0);
+      sqlite3VdbeAddOp(v, OP_Integer, iDb, 0);
       sqlite3VdbeOp3(v, OP_OpenWrite, 1, 0,
                      (char*)&pIndex->keyInfo, P3_KEYINFO);
     }
@@ -2329,16 +2335,7 @@ IdList *sqlite3IdListAppend(IdList *pList, Token *pToken){
     pList->a = a;
   }
   memset(&pList->a[pList->nId], 0, sizeof(pList->a[0]));
-  if( pToken ){
-    char **pz = &pList->a[pList->nId].zName;
-    sqlite3SetNString(pz, pToken->z, pToken->n, 0);
-    if( *pz==0 ){
-      sqlite3IdListDelete(pList);
-      return 0;
-    }else{
-      sqlite3Dequote(*pz);
-    }
-  }
+  pList->a[pList->nId].zName = sqlite3NameFromToken(pToken);
   pList->nId++;
   return pList;
 }
@@ -2369,6 +2366,7 @@ IdList *sqlite3IdListAppend(IdList *pList, Token *pToken){
 ** Then C is the table name and B is the database name.
 */
 SrcList *sqlite3SrcListAppend(SrcList *pList, Token *pTable, Token *pDatabase){
+  struct SrcList_item *pItem;
   if( pList==0 ){
     pList = sqliteMalloc( sizeof(SrcList) );
     if( pList==0 ) return 0;
@@ -2385,7 +2383,8 @@ SrcList *sqlite3SrcListAppend(SrcList *pList, Token *pTable, Token *pDatabase){
     }
     pList = pNew;
   }
-  memset(&pList->a[pList->nSrc], 0, sizeof(pList->a[0]));
+  pItem = &pList->a[pList->nSrc];
+  memset(pItem, 0, sizeof(pList->a[0]));
   if( pDatabase && pDatabase->z==0 ){
     pDatabase = 0;
   }
@@ -2394,27 +2393,9 @@ SrcList *sqlite3SrcListAppend(SrcList *pList, Token *pTable, Token *pDatabase){
     pDatabase = pTable;
     pTable = pTemp;
   }
-  if( pTable ){
-    char **pz = &pList->a[pList->nSrc].zName;
-    sqlite3SetNString(pz, pTable->z, pTable->n, 0);
-    if( *pz==0 ){
-      sqlite3SrcListDelete(pList);
-      return 0;
-    }else{
-      sqlite3Dequote(*pz);
-    }
-  }
-  if( pDatabase ){
-    char **pz = &pList->a[pList->nSrc].zDatabase;
-    sqlite3SetNString(pz, pDatabase->z, pDatabase->n, 0);
-    if( *pz==0 ){
-      sqlite3SrcListDelete(pList);
-      return 0;
-    }else{
-      sqlite3Dequote(*pz);
-    }
-  }
-  pList->a[pList->nSrc].iCursor = -1;
+  pItem->zName = sqlite3NameFromToken(pTable);
+  pItem->zDatabase = sqlite3NameFromToken(pDatabase);
+  pItem->iCursor = -1;
   pList->nSrc++;
   return pList;
 }
@@ -2436,9 +2417,7 @@ void sqlite3SrcListAssignCursors(Parse *pParse, SrcList *pList){
 */
 void sqlite3SrcListAddAlias(SrcList *pList, Token *pToken){
   if( pList && pList->nSrc>0 ){
-    int i = pList->nSrc - 1;
-    sqlite3SetNString(&pList->a[i].zAlias, pToken->z, pToken->n, 0);
-    sqlite3Dequote(pList->a[i].zAlias);
+    pList->a[pList->nSrc-1].zAlias = sqlite3NameFromToken(pToken);
   }
 }
 
@@ -2633,4 +2612,3 @@ sqlite3_value *sqlite3GetTransientValue(sqlite *db){
   }
   return db->pValue;
 }
-
index 39978d068e163eaddf0dac8e986404cb9066acc6..471b7745c9507717a55cc94cdfadfeac6d33fed1 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.144 2004/06/17 07:53:03 danielk1977 Exp $
+** $Id: expr.c,v 1.145 2004/06/19 14:49:12 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -421,10 +421,7 @@ ExprList *sqlite3ExprListAppend(ExprList *pList, Expr *pExpr, Token *pName){
     struct ExprList_item *pItem = &pList->a[pList->nExpr++];
     memset(pItem, 0, sizeof(*pItem));
     pItem->pExpr = pExpr;
-    if( pName ){
-      sqlite3SetNString(&pItem->zName, pName->z, pName->n, 0);
-      sqlite3Dequote(pItem->zName);
-    }
+    pItem->zName = sqlite3NameFromToken(pName);
   }
   return pList;
 }
@@ -575,21 +572,9 @@ static int lookupName(
   sqlite *db = pParse->db;  /* The database */
 
   assert( pColumnToken && pColumnToken->z ); /* The Z in X.Y.Z cannot be NULL */
-  if( pDbToken && pDbToken->z ){
-    zDb = sqliteStrNDup(pDbToken->z, pDbToken->n);
-    sqlite3Dequote(zDb);
-  }else{
-    zDb = 0;
-  }
-  if( pTableToken && pTableToken->z ){
-    zTab = sqliteStrNDup(pTableToken->z, pTableToken->n);
-    sqlite3Dequote(zTab);
-  }else{
-    assert( zDb==0 );
-    zTab = 0;
-  }
-  zCol = sqliteStrNDup(pColumnToken->z, pColumnToken->n);
-  sqlite3Dequote(zCol);
+  zDb = sqlite3NameFromToken(pDbToken);
+  zTab = sqlite3NameFromToken(pTableToken);
+  zCol = sqlite3NameFromToken(pColumnToken);
   if( sqlite3_malloc_failed ){
     return 1;  /* Leak memory (zDb and zTab) if malloc fails */
   }
@@ -1856,4 +1841,3 @@ FuncDef *sqlite3FindFunction(
   }
   return 0;
 }
-
index 4b5be3edcb4a850a0c86ee2655c7092aeee98ce5..78fafbf12e2550726c53cd16e4d1dd5b79d6fd82 100644 (file)
@@ -11,7 +11,7 @@
 *************************************************************************
 ** This file contains code used to implement the PRAGMA command.
 **
-** $Id: pragma.c,v 1.48 2004/06/18 23:21:47 dougcurrie Exp $
+** $Id: pragma.c,v 1.49 2004/06/19 14:49:12 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -139,8 +139,8 @@ static int flagPragma(Parse *pParse, const char *zLeft, const char *zRight){
       if( strcmp(zLeft,zRight)==0 && (v = sqlite3GetVdbe(pParse))!=0 ){
         sqlite3VdbeSetNumCols(v, 1);
         sqlite3VdbeSetColName(v, 0, aPragma[i].zName, P3_STATIC);
-        sqlite3VdbeCode(v, OP_Integer, (db->flags & aPragma[i].mask)!=0, 0,
-                          OP_Callback, 1, 0, 0);
+        sqlite3VdbeAddOp(v, OP_Integer, (db->flags & aPragma[i].mask)!=0, 0);
+        sqlite3VdbeAddOp(v, OP_Callback, 1, 0);
       }else if( getBoolean(zRight) ){
         db->flags |= aPragma[i].mask;
       }else{
@@ -170,14 +170,12 @@ void sqlite3Pragma(Parse *pParse, Token *pLeft, Token *pRight, int minusFlag){
   Vdbe *v = sqlite3GetVdbe(pParse);
   if( v==0 ) return;
 
-  zLeft = sqliteStrNDup(pLeft->z, pLeft->n);
-  sqlite3Dequote(zLeft);
+  zLeft = sqlite3NameFromToken(pLeft);
   if( minusFlag ){
     zRight = 0;
     sqlite3SetNString(&zRight, "-", 1, pRight->z, pRight->n, 0);
   }else{
-    zRight = sqliteStrNDup(pRight->z, pRight->n);
-    sqlite3Dequote(zRight);
+    zRight = sqlite3NameFromToken(pRight);
   }
   if( sqlite3AuthCheck(pParse, SQLITE_PRAGMA, zLeft, zRight, 0) ){
     goto pragma_out;
index 27e7f119343924570787b774cc01f7a1d1c205a1..dcfe096eb4b646295f8341a9d8cff3eeec5d5ff1 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.192 2004/06/17 07:53:03 danielk1977 Exp $
+** $Id: select.c,v 1.193 2004/06/19 14:49:12 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -1125,9 +1125,8 @@ static int matchOrderbyToColumn(
       if( pEList->a[j].zName && (pE->op==TK_ID || pE->op==TK_STRING) ){
         char *zName, *zLabel;
         zName = pEList->a[j].zName;
-        assert( pE->token.z );
-        zLabel = sqliteStrNDup(pE->token.z, pE->token.n);
-        sqlite3Dequote(zLabel);
+        zLabel = sqlite3NameFromToken(&pE->token);
+        assert( zLabel!=0 );
         if( sqlite3StrICmp(zName, zLabel)==0 ){ 
           iCol = j;
         }
index bc09a75a2ee4cf1ea56d2e2cbdec19db5af883f1..18d91d2dbd9acef0c8dcef6d2c12f6dd6d141168 100644 (file)
@@ -11,7 +11,7 @@
 *************************************************************************
 ** Internal interface definitions for SQLite.
 **
-** @(#) $Id: sqliteInt.h,v 1.292 2004/06/19 09:35:37 danielk1977 Exp $
+** @(#) $Id: sqliteInt.h,v 1.293 2004/06/19 14:49:12 drh Exp $
 */
 #include "config.h"
 #include "sqlite3.h"
@@ -1302,7 +1302,7 @@ void sqlite3UnlinkAndDeleteIndex(sqlite*,Index*);
 void sqlite3Vacuum(Parse*, Token*);
 int sqlite3RunVacuum(char**, sqlite*);
 int sqlite3GlobCompare(const unsigned char*,const unsigned char*);
-char *sqlite3TableNameFromToken(Token*);
+char *sqlite3NameFromToken(Token*);
 int sqlite3ExprCheck(Parse*, Expr*, int, int*);
 int sqlite3ExprType(Expr*);
 int sqlite3ExprCompare(Expr*, Expr*);
index ddb7b97f5c115d6c8a61bb5f092a09d4888e532e..23c43b764d027ade6d8fb56bf66169d41fe8449c 100644 (file)
@@ -100,7 +100,7 @@ void sqlite3BeginTrigger(
 
   /* Check that the trigger name is not reserved and that no trigger of the
   ** specified name exists */
-  zName = sqlite3TableNameFromToken(pName);
+  zName = sqlite3NameFromToken(pName);
   if( !zName || SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){
     goto trigger_cleanup;
   }
index 1f5f8108d83b8b67a6e49134918fe3959e17b685..6abe89a6e236ba258ac7eedc1ee6f419a6a78911 100644 (file)
@@ -15,7 +15,7 @@
 ** or VDBE.  The VDBE implements an abstract machine that runs a
 ** simple program to access and modify the underlying database.
 **
-** $Id: vdbe.h,v 1.85 2004/06/05 10:22:18 danielk1977 Exp $
+** $Id: vdbe.h,v 1.86 2004/06/19 14:49:12 drh Exp $
 */
 #ifndef _SQLITE_VDBE_H_
 #define _SQLITE_VDBE_H_
@@ -104,7 +104,6 @@ Vdbe *sqlite3VdbeCreate(sqlite*);
 void sqlite3VdbeCreateCallback(Vdbe*, int*);
 int sqlite3VdbeAddOp(Vdbe*,int,int,int);
 int sqlite3VdbeOp3(Vdbe*,int,int,int,const char *zP3,int);
-int sqlite3VdbeCode(Vdbe*,...);
 int sqlite3VdbeAddOpList(Vdbe*, int nOp, VdbeOpList const *aOp);
 void sqlite3VdbeChangeP1(Vdbe*, int addr, int P1);
 void sqlite3VdbeChangeP2(Vdbe*, int addr, int P2);
index dfdbfde46f99be508cd8d4bc66d62caa4dd9ab07..a4df0af0800789e391d1be04bf8e22f57227852c 100644 (file)
@@ -115,26 +115,6 @@ int sqlite3VdbeOp3(Vdbe *p, int op, int p1, int p2, const char *zP3,int p3type){
   return addr;
 }
 
-/*
-** Add multiple opcodes.  The list is terminated by an opcode of 0.
-*/
-int sqlite3VdbeCode(Vdbe *p, ...){
-  int addr;
-  va_list ap;
-  int opcode, p1, p2;
-  va_start(ap, p);
-  addr = p->nOp;
-  while( (opcode = va_arg(ap,int))!=0 ){
-    p1 = va_arg(ap,int);
-    p2 = va_arg(ap,int);
-    sqlite3VdbeAddOp(p, opcode, p1, p2);
-  }
-  va_end(ap);
-  return addr;
-}
-
-
-
 /*
 ** Create a new symbolic label for an instruction that has yet to be
 ** coded.  The symbolic label is really just a negative number.  The