aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2016-11-25 14:30:42 +0000
committerdrh <drh@noemail.net>2016-11-25 14:30:42 +0000
commit36fd41e52b8c8eba02c2fa89e1a39afa7c7e9907 (patch)
treee2830d88da05ca72e7e6d030fe01c393af16c694 /src/expr.c
parent36f49d05650bd928eea77934172b9feae497f659 (diff)
downloadsqlite-36fd41e52b8c8eba02c2fa89e1a39afa7c7e9907.tar.gz
sqlite-36fd41e52b8c8eba02c2fa89e1a39afa7c7e9907.zip
Add a comment to help clarify the EP_FromJoin hack in exprCodeBetween().
FossilOrigin-Name: 6df7c5747e0247b14bf015ef4320ddcf6fccf694
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index ffbafb0aa..2f7deeea9 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4167,6 +4167,11 @@ static void exprCodeBetween(
if( xJump ){
xJump(pParse, &exprAnd, dest, jumpIfNull);
}else{
+ /* Mark the expression is being from the ON or USING clause of a join
+ ** so that the sqlite3ExprCodeTarget() routine will not attempt to move
+ ** it into the Parse.pConstExpr list. We should use a new bit for this,
+ ** for clarity, but we are out of bits in the Expr.flags field so we
+ ** have to reuse the EP_FromJoin bit. Bummer. */
exprX.flags |= EP_FromJoin;
sqlite3ExprCodeTarget(pParse, &exprAnd, dest);
}