]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change the names of the PushList and PopList opcodes to ListPush and ListPop
authordrh <drh@noemail.net>
Thu, 23 May 2002 22:07:02 +0000 (22:07 +0000)
committerdrh <drh@noemail.net>
Thu, 23 May 2002 22:07:02 +0000 (22:07 +0000)
so that they will appear together with the other List opcodes in the
documentation. (CVS 583)

FossilOrigin-Name: c53b0b9283c5c34def87d58b03fd979d03dc0890

manifest
manifest.uuid
src/trigger.c
src/update.c
src/vdbe.c
src/vdbe.h

index 31c51c0543115926c0c523c4a979268938ee011d..4e56023c5fc1749d9e42c54af1041b2c170a29ca 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sfor\sticket\s#50.\s(CVS\s582)
-D 2002-05-23T13:15:37
+C Change\sthe\snames\sof\sthe\sPushList\sand\sPopList\sopcodes\sto\sListPush\sand\sListPop\nso\sthat\sthey\swill\sappear\stogether\swith\sthe\sother\sList\sopcodes\sin\sthe\ndocumentation.\s(CVS\s583)
+D 2002-05-23T22:07:03
 F Makefile.in 6291a33b87d2a395aafd7646ee1ed562c6f2c28c
 F Makefile.template 4e11752e0b5c7a043ca50af4296ec562857ba495
 F README a4c0ba11354ef6ba0776b400d057c59da47a4cc0
@@ -49,11 +49,11 @@ F src/test2.c 669cc22781c6461a273416ec1a7414d25c081730
 F src/test3.c 4e52fff8b01f08bd202f7633feda5639b7ba2b5e
 F src/threadtest.c 81f0598e0f031c1bd506af337fdc1b7e8dff263f
 F src/tokenize.c 5892a8eb8f0063718f5bec1a1b24f4c6029eba9b
-F src/trigger.c a5e6694f2cc6f1b3c10b954b9bc904548f3599fc
-F src/update.c 82ada80cdfa489a30e91dba7f29f75a20f61c8a2
+F src/trigger.c a7990d424af58d809501a393f72c12d4b039eb63
+F src/update.c 1f8f7fde797bd607fe0afb4f96a6ad83c9e8ab7b
 F src/util.c 707c30f8c13cddace7c08556ac450c0b786660b3
-F src/vdbe.c 67fbceb6fa2a0ab020b65c007430272a66771ae1
-F src/vdbe.h 126a651ba26f05de075dcc6da5466244a31af6b8
+F src/vdbe.c 6c2eae8a1d03f41aa51e40772aebf581cf62d5b8
+F src/vdbe.h def669b9f2728589aabcb5db756429db02465c9a
 F src/where.c 293985b6cf8391c3dcef9efcac4654884370513a
 F test/all.test e4d3821eeba751829b419cd47814bd20af4286d1
 F test/bigrow.test 8ab252dba108f12ad64e337b0f2ff31a807ac578
@@ -134,7 +134,7 @@ F www/speed.tcl da8afcc1d3ccc5696cfb388a68982bc3d9f7f00f
 F www/sqlite.tcl 8b5884354cb615049aed83039f8dfe1552a44279
 F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
 F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P 4d27ee411902a197cd72416ca9da9197d3f87f13
-R 42134e515c91a3561726205cb5ceae33
+P 82b74a494ac7c751a13e67dcfa7fffb1b98ec808
+R 3e1a04e4d6e0a4fb68b8a11229bc1cc1
 U drh
-Z 5548f4db8a2e3ece93a6ef0eb59cb03c
+Z 8e8caac647d0d1fcfa3e14c75f0d3c35
index 72f38d72c6ad8d5d76a533a6f594df277f0d93eb..b1fee1cf7cd937e01b0506fba4b5e02d8524f267 100644 (file)
@@ -1 +1 @@
-82b74a494ac7c751a13e67dcfa7fffb1b98ec808
\ No newline at end of file
+c53b0b9283c5c34def87d58b03fd979d03dc0890
\ No newline at end of file
index 81a750686962f5ffab4fc20496b4f46b7a8e8204..aedf08873bd3d78019fc8d94ad8e4ca0e62912cc 100644 (file)
@@ -479,11 +479,11 @@ static int codeTriggerProgram(
        break;
       }
       case TK_UPDATE: {
-        sqliteVdbeAddOp(pParse->pVdbe, OP_PushList, 0, 0);
+        sqliteVdbeAddOp(pParse->pVdbe, OP_ListPush, 0, 0);
         sqliteUpdate(pParse, &pTriggerStep->target, 
         sqliteExprListDup(pTriggerStep->pExprList), 
         sqliteExprDup(pTriggerStep->pWhere), orconf);
-        sqliteVdbeAddOp(pParse->pVdbe, OP_PopList, 0, 0);
+        sqliteVdbeAddOp(pParse->pVdbe, OP_ListPop, 0, 0);
         break;
       }
       case TK_INSERT: {
@@ -494,10 +494,10 @@ static int codeTriggerProgram(
         break;
       }
       case TK_DELETE: {
-        sqliteVdbeAddOp(pParse->pVdbe, OP_PushList, 0, 0);
+        sqliteVdbeAddOp(pParse->pVdbe, OP_ListPush, 0, 0);
         sqliteDeleteFrom(pParse, &pTriggerStep->target, 
            sqliteExprDup(pTriggerStep->pWhere));
-        sqliteVdbeAddOp(pParse->pVdbe, OP_PopList, 0, 0);
+        sqliteVdbeAddOp(pParse->pVdbe, OP_ListPop, 0, 0);
         break;
       }
       default:
index 89dbd11047e6a9ea8baf3cb2c18977551bf6b62b..177cdd6f34eec9636aa0111ee9aa176a947b7d1f 100644 (file)
@@ -12,7 +12,7 @@
 ** This file contains C code routines that are called by the parser
 ** to handle UPDATE statements.
 **
-** $Id: update.c,v 1.41 2002/05/23 12:50:19 drh Exp $
+** $Id: update.c,v 1.42 2002/05/23 22:07:03 drh Exp $
 */
 #include "sqliteInt.h"
 
@@ -282,7 +282,6 @@ void sqliteUpdate(
   ** So make the cursor point at the old record.
   */
   if( !row_triggers_exist ){
-    int ii;
     sqliteVdbeAddOp(v, OP_ListRewind, 0, 0);
     addr = sqliteVdbeAddOp(v, OP_ListRead, 0, 0);
     sqliteVdbeAddOp(v, OP_Dup, 0, 0);
index 399369d994743c475bf287224883cda07196cd44..3fcd443c163731eb5438693e75ac4f1e059c9113 100644 (file)
@@ -30,7 +30,7 @@
 ** But other routines are also provided to help in building up
 ** a program instruction by instruction.
 **
-** $Id: vdbe.c,v 1.145 2002/05/23 02:09:04 drh Exp $
+** $Id: vdbe.c,v 1.146 2002/05/23 22:07:03 drh Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -250,7 +250,7 @@ struct Vdbe {
   int iLimit;         /* Limit on the number of callbacks remaining */
   int iOffset;        /* Offset before beginning to do callbacks */
   int keylistStackDepth;  /* The size of the "keylist" stack */
-  Keylist **keylistStack; /* The stack used by opcodes PushList & PopList */
+  Keylist **keylistStack; /* The stack used by opcodes ListPush & ListPop */
 };
 
 /*
@@ -1060,11 +1060,12 @@ static char *zOpName[] = { 0,
   "Clear",             "CreateIndex",       "CreateTable",       "IntegrityCk",
   "IdxPut",            "IdxDelete",         "IdxRecno",          "IdxGT",
   "IdxGE",             "MemLoad",           "MemStore",          "ListWrite",
-  "ListRewind",        "ListRead",          "ListReset",         "SortPut",
-  "SortMakeRec",       "SortMakeKey",       "Sort",              "SortNext",
-  "SortCallback",      "SortReset",         "FileOpen",          "FileRead",
-  "FileColumn",        "AggReset",          "AggFocus",          "AggNext",
-  "AggSet",            "AggGet",            "AggFunc",           "AggInit",
+  "ListRewind",        "ListRead",          "ListReset",         "ListPush",
+  "ListPop",           "SortPut",           "SortMakeRec",       "SortMakeKey",
+  "Sort",              "SortNext",          "SortCallback",      "SortReset",
+  "FileOpen",          "FileRead",          "FileColumn",        "AggReset",
+  "AggFocus",          "AggNext",           "AggSet",            "AggGet",
+  "AggFunc",           "AggInit",           "AggPush",           "AggPop",
   "SetInsert",         "SetFound",          "SetNotFound",       "MakeRecord",
   "MakeKey",           "MakeIdxKey",        "IncrKey",           "Goto",
   "If",                "Halt",              "ColumnCount",       "ColumnName",
@@ -1077,7 +1078,7 @@ static char *zOpName[] = { 0,
   "Le",                "Gt",                "Ge",                "IsNull",
   "NotNull",           "Negative",          "And",               "Or",
   "Not",               "Concat",            "Noop",              "Function",
-  "Limit",             "PushList",          "PopList",           
+  "Limit",           
 };
 
 /*
@@ -3820,6 +3821,39 @@ case OP_ListReset: {
   break;
 }
 
+/* Opcode: ListPush * * * 
+**
+** Save the current Vdbe list such that it can be restored by a PopList 
+** opcode. The list is empty after this is executed.
+*/
+case OP_ListPush: {
+  p->keylistStackDepth++;
+  assert(p->keylistStackDepth > 0);
+  p->keylistStack = sqliteRealloc(p->keylistStack, 
+          sizeof(Keylist *) * p->keylistStackDepth);
+  p->keylistStack[p->keylistStackDepth - 1] = p->pList;
+  p->pList = 0;
+  break;
+}
+
+/* Opcode: ListPop * * * 
+**
+** Restore the Vdbe list to the state it was in when PushList was last
+** executed.
+*/
+case OP_ListPop: {
+  assert(p->keylistStackDepth > 0);
+  p->keylistStackDepth--;
+  KeylistFree(p->pList);
+  p->pList = p->keylistStack[p->keylistStackDepth];
+  p->keylistStack[p->keylistStackDepth] = 0;
+  if( p->keylistStackDepth == 0 ){
+    sqliteFree(p->keylistStack);
+    p->keylistStack = 0;
+  }
+  break;
+}
+
 /* Opcode: SortPut * * *
 **
 ** The TOS is the key and the NOS is the data.  Pop both from the stack
@@ -4554,39 +4588,6 @@ case OP_SetFound: {
   break;
 }
 
-/* Opcode: PushList * * * 
-**
-** Save the current Vdbe list such that it can be restored by a PopList 
-** opcode. The list is empty after this is executed.
-*/
-case OP_PushList: {
-  p->keylistStackDepth++;
-  assert(p->keylistStackDepth > 0);
-  p->keylistStack = sqliteRealloc(p->keylistStack, 
-          sizeof(Keylist *) * p->keylistStackDepth);
-  p->keylistStack[p->keylistStackDepth - 1] = p->pList;
-  p->pList = 0;
-  break;
-}
-
-/* Opcode: PopList * * * 
-**
-** Restore the Vdbe list to the state it was in when PushList was last
-** executed.
-*/
-case OP_PopList: {
-  assert(p->keylistStackDepth > 0);
-  p->keylistStackDepth--;
-  KeylistFree(p->pList);
-  p->pList = p->keylistStack[p->keylistStackDepth];
-  p->keylistStack[p->keylistStackDepth] = 0;
-  if( p->keylistStackDepth == 0 ){
-    sqliteFree(p->keylistStack);
-    p->keylistStack = 0;
-  }
-  break;
-}
-
 /* Opcode: SetNotFound P1 P2 *
 **
 ** Pop the stack once and compare the value popped off with the
index 1260ce755e505f656163998b3436080b1c335806..23410437e8ce77e682bfaaeacc0dab28fb95b247 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.51 2002/05/15 08:30:14 danielk1977 Exp $
+** $Id: vdbe.h,v 1.52 2002/05/23 22:07:03 drh Exp $
 */
 #ifndef _SQLITE_VDBE_H_
 #define _SQLITE_VDBE_H_
@@ -121,87 +121,89 @@ typedef struct VdbeOp VdbeOp;
 #define OP_ListRewind         45
 #define OP_ListRead           46
 #define OP_ListReset          47
-
-#define OP_SortPut            48
-#define OP_SortMakeRec        49
-#define OP_SortMakeKey        50
-#define OP_Sort               51
-#define OP_SortNext           52
-#define OP_SortCallback       53
-#define OP_SortReset          54
-
-#define OP_FileOpen           55
-#define OP_FileRead           56
-#define OP_FileColumn         57
-
-#define OP_AggReset           58
-#define OP_AggFocus           59
-#define OP_AggNext            60
-#define OP_AggSet             61
-#define OP_AggGet             62
-#define OP_AggFunc            63
-#define OP_AggInit            64
-
-#define OP_SetInsert          65
-#define OP_SetFound           66
-#define OP_SetNotFound        67
-
-#define OP_MakeRecord         68
-#define OP_MakeKey            69
-#define OP_MakeIdxKey         70
-#define OP_IncrKey            71
-
-#define OP_Goto               72
-#define OP_If                 73
-#define OP_Halt               74
-
-#define OP_ColumnCount        75
-#define OP_ColumnName         76
-#define OP_Callback           77
-#define OP_NullCallback       78
-
-#define OP_Integer            79
-#define OP_String             80
-#define OP_Pop                81
-#define OP_Dup                82
-#define OP_Pull               83
-#define OP_Push               84
-#define OP_MustBeInt          85
-
-#define OP_Add                86
-#define OP_AddImm             87
-#define OP_Subtract           88
-#define OP_Multiply           89
-#define OP_Divide             90
-#define OP_Remainder          91
-#define OP_BitAnd             92
-#define OP_BitOr              93
-#define OP_BitNot             94
-#define OP_ShiftLeft          95
-#define OP_ShiftRight         96
-#define OP_AbsValue           97
-#define OP_Eq                 98
-#define OP_Ne                 99
-#define OP_Lt                100
-#define OP_Le                101
-#define OP_Gt                102
-#define OP_Ge                103
-#define OP_IsNull            104
-#define OP_NotNull           105
-#define OP_Negative          106
-#define OP_And               107
-#define OP_Or                108
-#define OP_Not               109
-#define OP_Concat            110
-#define OP_Noop              111
-#define OP_Function          112
-
-#define OP_Limit             113
-
-#define OP_PushList          114
-#define OP_PopList           115
-
-#define OP_MAX               115
+#define OP_ListPush           48
+#define OP_ListPop            49
+
+#define OP_SortPut            50
+#define OP_SortMakeRec        51
+#define OP_SortMakeKey        52
+#define OP_Sort               53
+#define OP_SortNext           54
+#define OP_SortCallback       55
+#define OP_SortReset          56
+
+#define OP_FileOpen           57
+#define OP_FileRead           58
+#define OP_FileColumn         59
+
+#define OP_AggReset           60
+#define OP_AggFocus           61
+#define OP_AggNext            62
+#define OP_AggSet             63
+#define OP_AggGet             64
+#define OP_AggFunc            65
+#define OP_AggInit            66
+#define OP_AggPush            67
+#define OP_AggPop             68
+
+#define OP_SetInsert          69
+#define OP_SetFound           70
+#define OP_SetNotFound        71
+
+#define OP_MakeRecord         72
+#define OP_MakeKey            73
+#define OP_MakeIdxKey         74
+#define OP_IncrKey            75
+
+#define OP_Goto               76
+#define OP_If                 77
+#define OP_Halt               78
+
+#define OP_ColumnCount        79
+#define OP_ColumnName         80
+#define OP_Callback           81
+#define OP_NullCallback       82
+
+#define OP_Integer            83
+#define OP_String             84
+#define OP_Pop                85
+#define OP_Dup                86
+#define OP_Pull               87
+#define OP_Push               88
+#define OP_MustBeInt          89
+
+#define OP_Add                90
+#define OP_AddImm             91
+#define OP_Subtract           92
+#define OP_Multiply           93
+#define OP_Divide             94
+#define OP_Remainder          95
+#define OP_BitAnd             96
+#define OP_BitOr              97
+#define OP_BitNot             98
+#define OP_ShiftLeft          99
+#define OP_ShiftRight        100
+#define OP_AbsValue          101
+#define OP_Eq                102
+#define OP_Ne                103
+#define OP_Lt                104
+#define OP_Le                105
+#define OP_Gt                106
+#define OP_Ge                107
+#define OP_IsNull            108
+#define OP_NotNull           109
+#define OP_Negative          110
+#define OP_And               111
+#define OP_Or                112
+#define OP_Not               113
+#define OP_Concat            114
+#define OP_Noop              115
+#define OP_Function          116
+
+#define OP_Limit             117
+
+
+#define OP_MAX               117
 
 /*
 ** Prototypes for the VDBE interface.  See comments on the implementation