]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove redundant branches in window function processing.
authordrh <drh@noemail.net>
Mon, 9 Jul 2018 17:33:24 +0000 (17:33 +0000)
committerdrh <drh@noemail.net>
Mon, 9 Jul 2018 17:33:24 +0000 (17:33 +0000)
FossilOrigin-Name: 8fdaf3f37e5ddac9b7337a50f32f5d2bcdd64780797f08cfd3fccfa95819edfe

manifest
manifest.uuid
src/window.c

index fe17540e273498b97038bdf144e30d1131f1df47..8f6a1df8ab7818f96b11b11af8269c13155b027f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Simplification\sto\sthe\sgrammar\srules\sfor\swindow\sfunctions.\s\sFix\sa\smemory\nleak\sthat\scan\sfollow\san\sOOM\swhile\sparsing\sa\scomma-separated\slist\sof\nwindow\sdefinitions.
-D 2018-07-09T16:24:00.700
+C Remove\sredundant\sbranches\sin\swindow\sfunction\sprocessing.
+D 2018-07-09T17:33:24.008
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in 0a3a6c81e6fcb969ff9106e882f0a08547014ba463cb6beca4c4efaecc924ee6
@@ -584,7 +584,7 @@ F src/where.c 0bcbf9e191ca07f9ea2008aa80e70ded46bcdffd26560c83397da501f00aece6
 F src/whereInt.h b90ef9b9707ef750eab2a7a080c48fb4900315033274689def32d0cf5a81ebe4
 F src/wherecode.c 3317f2b083a66d3e65a03edf316ade4ccb0a99c9956273282ebb579b95d4ba96
 F src/whereexpr.c 571618c67a3eb5ce0f1158c2792c1aee9b4a4a264392fc4fb1b35467f80abf9a
-F src/window.c a3f2de2ff893e0f972d0fbc5addc5a5ab97ab900946001ce652aaded9e15eb65
+F src/window.c 0d5d4bcddd2dacc75eeb191435cdf6b202859ab4e00da60b49473ecf82b310da
 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
 F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
 F test/affinity3.test 6a101af2fc945ce2912f6fe54dd646018551710d
@@ -1745,7 +1745,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 1a06e57a0b4279fa580c7ff4f152645f005794aaf86eeabf694637b7da11f763
-R 68b331bbe992415b47d75f345acd25ff
+P a568f9c9db594f3b194c6e870305c9d6f2392ce6bc8ac00e9688883e97560fff
+R 55bae4604c5513fb06a00809b7cc10a6
 U drh
-Z 9b6563bb4ca3160cec686f0fd2ef1fbc
+Z b302b6013a3d58ac4dd777d20fb83c53
index 9cc1b0d9e18baa70bc33defa5e972ae963a5f933..c50aedcdefa1c5cd62b20d0146dc6214d44e289e 100644 (file)
@@ -1 +1 @@
-a568f9c9db594f3b194c6e870305c9d6f2392ce6bc8ac00e9688883e97560fff
\ No newline at end of file
+8fdaf3f37e5ddac9b7337a50f32f5d2bcdd64780797f08cfd3fccfa95819edfe
\ No newline at end of file
index 816ccc2b065760d22cd96fce6bd08815ebf24396..7a3831f978ccb54f43f6f0802daced898f017e10 100644 (file)
@@ -1596,7 +1596,8 @@ static void windowCodeRowExprStep(
   **   }
   **   regEnd = regEnd - regStart;
   */
-  if( pMWin->pEnd && pMWin->pStart && pMWin->eStart==TK_FOLLOWING ){
+  if( pMWin->pEnd && pMWin->eStart==TK_FOLLOWING ){
+    assert( pMWin->pStart!=0 );
     assert( pMWin->eEnd==TK_FOLLOWING );
     sqlite3VdbeAddOp3(v, OP_Ge, regStart, sqlite3VdbeCurrentAddr(v)+2, regEnd);
     VdbeCoverage(v);
@@ -1604,7 +1605,8 @@ static void windowCodeRowExprStep(
     sqlite3VdbeAddOp3(v, OP_Subtract, regStart, regEnd, regEnd);
   }
 
-  if( pMWin->pEnd && pMWin->pStart && pMWin->eEnd==TK_PRECEDING ){
+  if( pMWin->pStart && pMWin->eEnd==TK_PRECEDING ){
+    assert( pMWin->pEnd!=0 );
     assert( pMWin->eStart==TK_PRECEDING );
     sqlite3VdbeAddOp3(v, OP_Le, regStart, sqlite3VdbeCurrentAddr(v)+3, regEnd);
     VdbeCoverage(v);