1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

Enhanced VdbeCoverage() macros in the new windows function code.

FossilOrigin-Name: f24066f8dd847dfb656f26c4a8142e7fb6a412ffe325aea6254cb122cfbb3e1c
This commit is contained in:
drh
2019-03-30 20:10:11 +00:00
parent b336d1ab83
commit bf00f6d7ec
3 changed files with 13 additions and 9 deletions

View File

@@ -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);