aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/expr.c1
-rw-r--r--src/sqliteInt.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index 43f20d876..22c0d0ee5 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -4957,6 +4957,7 @@ int sqlite3ExprCompare(Parse *pParse, Expr *pA, Expr *pB, int iTab){
if( pA->iColumn!=pB->iColumn ) return 2;
if( pA->op2!=pB->op2 ) return 2;
if( pA->iTable!=pB->iTable
+ && pA->op!=TK_IN
&& (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2;
}
}
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 2934a16e9..9d19b4ce7 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -2474,6 +2474,7 @@ struct Expr {
** TK_REGISTER: register number
** TK_TRIGGER: 1 -> new, 0 -> old
** EP_Unlikely: 134217728 times likelihood
+ ** TK_IN: ephemerial table holding RHS
** TK_SELECT_COLUMN: Number of columns on the LHS
** TK_SELECT: 1st register of result vector */
ynVar iColumn; /* TK_COLUMN: column index. -1 for rowid.