mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Improved byte-code comments for the short-circuit optimization of
[0083d5169a46104a], to aid in debugging. FossilOrigin-Name: 113f9d10e347eeaa893ff8b47a461009e0b12589374b93cf3e0bddd19c702dea
This commit is contained in:
@@ -2424,7 +2424,9 @@ static int exprComputeOperands(
|
||||
*/
|
||||
if( exprEvalRhsFirst(pExpr) && sqlite3ExprCanBeNull(pExpr->pRight) ){
|
||||
r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, pFree2);
|
||||
addrIsNull = sqlite3VdbeAddOp1(v, OP_IsNull, r2); VdbeCoverage(v);
|
||||
addrIsNull = sqlite3VdbeAddOp1(v, OP_IsNull, r2);
|
||||
VdbeComment((v, "skip left operand"));
|
||||
VdbeCoverage(v);
|
||||
}else{
|
||||
addrIsNull = 0;
|
||||
}
|
||||
@@ -2439,7 +2441,9 @@ static int exprComputeOperands(
|
||||
if( ExprHasProperty(pExpr->pRight, EP_Subquery)
|
||||
&& sqlite3ExprCanBeNull(pExpr->pLeft)
|
||||
){
|
||||
addrIsNull = sqlite3VdbeAddOp1(v, OP_IsNull, r1); VdbeCoverage(v);
|
||||
addrIsNull = sqlite3VdbeAddOp1(v, OP_IsNull, r1);
|
||||
VdbeComment((v, "skip right operand"));
|
||||
VdbeCoverage(v);
|
||||
}
|
||||
r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, pFree2);
|
||||
}
|
||||
@@ -5112,6 +5116,7 @@ expr_code_doover:
|
||||
sqlite3VdbeAddOp2(v, OP_Goto, 0, sqlite3VdbeCurrentAddr(v)+2);
|
||||
sqlite3VdbeJumpHere(v, addrIsNull);
|
||||
sqlite3VdbeAddOp2(v, OP_Null, 0, target);
|
||||
VdbeComment((v, "short-circut value"));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user