aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-03-30 20:10:11 +0000
committerdrh <drh@noemail.net>2019-03-30 20:10:11 +0000
commitbf00f6d7ece6a1e207e096a9a94e039594fb6d77 (patch)
tree7c1c864d59f2c31b057ad5dac9c642b8410d9819 /src
parentb336d1ab83e9a7803e3247c6d87ec6ffdc568224 (diff)
downloadsqlite-bf00f6d7ece6a1e207e096a9a94e039594fb6d77.tar.gz
sqlite-bf00f6d7ece6a1e207e096a9a94e039594fb6d77.zip
Enhanced VdbeCoverage() macros in the new windows function code.
FossilOrigin-Name: f24066f8dd847dfb656f26c4a8142e7fb6a412ffe325aea6254cb122cfbb3e1c
Diffstat (limited to 'src')
-rw-r--r--src/window.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/window.c b/src/window.c
index 000a179c8..5613103ca 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1835,7 +1835,10 @@ static void windowCodeRangeTest(
sqlite3VdbeJumpHere(v, addrGe);
sqlite3VdbeAddOp3(v, op, reg2, lbl, reg1);
sqlite3VdbeChangeP5(v, SQLITE_NULLEQ);
- VdbeCoverage(v);
+ assert( op==OP_Ge || op==OP_Gt || op==OP_Le );
+ VdbeCoverageIf(v, op==OP_Ge);
+ VdbeCoverageIf(v, op==OP_Gt);
+ VdbeCoverageIf(v, op==OP_Le);
sqlite3ReleaseTempReg(pParse, reg1);
sqlite3ReleaseTempReg(pParse, reg2);
@@ -2533,7 +2536,8 @@ void sqlite3WindowCodeStep(
if( pMWin->eStart==pMWin->eEnd && regStart ){
int op = ((pMWin->eStart==TK_FOLLOWING) ? OP_Ge : OP_Le);
int addrGe = sqlite3VdbeAddOp3(v, op, regStart, 0, regEnd);
- VdbeCoverage(v);
+ VdbeCoverageIf(v, op==OP_Ge);
+ VdbeCoverageIf(v, op==OP_Le);
windowAggFinal(&s, 0);
sqlite3VdbeAddOp2(v, OP_Rewind, s.current.csr, 1);
VdbeCoverageNeverTaken(v);