]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Simplifications to the VdbeCursor object.
authordrh <drh@noemail.net>
Wed, 20 Nov 2013 02:53:58 +0000 (02:53 +0000)
committerdrh <drh@noemail.net>
Wed, 20 Nov 2013 02:53:58 +0000 (02:53 +0000)
FossilOrigin-Name: 5562cd343d8f69242e06a51a7f1aef7ee7d78eec

manifest
manifest.uuid
src/expr.c
src/vdbe.c
src/vdbeInt.h

index 63b26c9cc05b9cc2ba33143c47676226daa790e8..0b494c9b3bd1ed3ff37fc3f7bd8ec4d48ea1c0b0 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Performance\simprovement\sfor\sthe\sOP_MustBeInt\sopcode\sin\sthe\sVDBE.
-D 2013-11-20T00:59:02.349
+C Simplifications\sto\sthe\sVdbeCursor\sobject.
+D 2013-11-20T02:53:58.741
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 8a07bebafbfda0eb67728f4bd15a36201662d1a1
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -175,7 +175,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
 F src/ctime.c ea4b7f3623a0fcb1146e7f245d7410033e86859c
 F src/date.c 593c744b2623971e45affd0bde347631bdfa4625
 F src/delete.c 909936019ccb8d0f4a10d0d10ad607c38ee62cbe
-F src/expr.c 1a295d8b0a2ba08919ad9300ebf7b67988ff4030
+F src/expr.c d81090a3f3bb0845fa6c6795d221ec23ef107737
 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
 F src/fkey.c 2ab0f5384b70594468ef3ac5c7ed8ca24bfd17d5
 F src/func.c 96caa9dfd1febf9a4b720de4c43ccfb392a52b73
@@ -280,9 +280,9 @@ F src/update.c c05a0ee658f1a149e0960dfd110f3b8bd846bcb0
 F src/utf.c 6fc6c88d50448c469c5c196acf21617a24f90269
 F src/util.c 2fa6c821d28bbdbeec1b2a7b091a281c9ef8f918
 F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179
-F src/vdbe.c 9e2b906528de10d62c33e7c4f1ac50f96d43b4ed
+F src/vdbe.c da810a2b71f26e23d597e3b966166db8f1117fad
 F src/vdbe.h c06f0813f853566457ce9cfb1a4a4bc39a5da644
-F src/vdbeInt.h 62eb680327011f3a4b0336642b0ca9d6ecc6eb91
+F src/vdbeInt.h 4044cd2e9dc1aef3e15fc68f80cbdf2446eff369
 F src/vdbeapi.c 93a22a9ba2abe292d5c2cf304d7eb2e894dde0ed
 F src/vdbeaux.c 91f9e1fb59561fa7ba312b518b6123982c912d6c
 F src/vdbeblob.c d883398f7260725147dbf5b40c2b61332aee47f9
@@ -1140,7 +1140,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P 6cc023bb29be51847fbbfab95c24fc89993ccdba
-R ea2b846df6a1b7af99928ae17f1103b5
+P 96a65388e75fed96e2e73ef65726f6db88cc5ccd
+R ca796b6fcdb020d784b4cd61fedf5893
 U drh
-Z 854085182559c61795f3e3e96d9d7a82
+Z 97e722e14aa88f975fca1769e7e16ee6
index 3983daa60726d59c44c09b811a76842b2e6c544c..27fbbf3bcd58700169f414be38bbcf841b8aa7f6 100644 (file)
@@ -1 +1 @@
-96a65388e75fed96e2e73ef65726f6db88cc5ccd
\ No newline at end of file
+5562cd343d8f69242e06a51a7f1aef7ee7d78eec
\ No newline at end of file
index 048146b375169bb056759fca21b28b793a0eb61a..ce541ed8ab16744a152418783ca463b2057ce721 100644 (file)
@@ -1193,7 +1193,7 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
     /* Consider functions to be constant if all their arguments are constant
     ** and pWalker->u.i==2 */
     case TK_FUNCTION:
-      if( pWalker->u.i==2 ) return 0;
+      if( pWalker->u.i==2 ) return WRC_Continue;
       /* Fall through */
     case TK_ID:
     case TK_COLUMN:
index 21d0dfaab26dd7644a383bb9e4c76e4e0a7ce332..bee9a4efe358ed94f6d61c5faba012a03df8cded 100644 (file)
@@ -4504,7 +4504,6 @@ case OP_Rewind: {        /* jump */
     pCrsr = pC->pCursor;
     assert( pCrsr );
     rc = sqlite3BtreeFirst(pCrsr, &res);
-    pC->atFirst = res==0 ?1:0;
     pC->deferredMoveto = 0;
     pC->cacheStatus = CACHE_STALE;
     pC->rowidIsValid = 0;
index 4f63189f5e097fbd08098c9c8821099c418a13ac..d5cad65ecd1de0e68dcd8a02f1535828512685ee 100644 (file)
@@ -61,12 +61,10 @@ struct VdbeCursor {
   BtCursor *pCursor;    /* The cursor structure of the backend */
   Btree *pBt;           /* Separate file holding temporary table */
   KeyInfo *pKeyInfo;    /* Info about index keys needed by index cursors */
-  int iDb;              /* Index of cursor database in db->aDb[] (or -1) */
   int pseudoTableReg;   /* Register holding pseudotable content. */
-  int nField;           /* Number of fields in the header */
-  Bool zeroed;          /* True if zeroed out and ready for reuse */
+  i16 nField;           /* Number of fields in the header */
+  i8 iDb;               /* Index of cursor database in db->aDb[] (or -1) */
   Bool rowidIsValid;    /* True if lastRowid is valid */
-  Bool atFirst;         /* True if pointing to first entry */
   Bool useRandomRowid;  /* Generate new record numbers semi-randomly */
   Bool nullRow;         /* True if pointing to a row with no data */
   Bool deferredMoveto;  /* A call to sqlite3BtreeMoveto() is needed */
@@ -79,7 +77,7 @@ struct VdbeCursor {
   const sqlite3_module *pModule;     /* Module for cursor pVtabCursor */
   i64 seqCount;         /* Sequence counter */
   i64 movetoTarget;     /* Argument to the deferred sqlite3BtreeMoveto() */
-  i64 lastRowid;        /* Last rowid from a Next or NextIdx operation */
+  i64 lastRowid;        /* Rowid being deleted by OP_Delete */
   VdbeSorter *pSorter;  /* Sorter object for OP_SorterOpen cursors */
 
   /* Result of last sqlite3BtreeMoveto() done by an OP_NotExists */