aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authormistachkin <mistachkin@noemail.net>2013-08-28 18:56:04 +0000
committermistachkin <mistachkin@noemail.net>2013-08-28 18:56:04 +0000
commit312404ef766bb3378f60f1befc39ef0663e682f2 (patch)
treef8a2d33198976e095df08a0bf5f160f16633b7ee /src/expr.c
parent98ab33a82f131056bd428fe547fbec74999fb34a (diff)
parente4f9b9b7c0245818bd1e227950209305a7d2f9e2 (diff)
downloadsqlite-312404ef766bb3378f60f1befc39ef0663e682f2.tar.gz
sqlite-312404ef766bb3378f60f1befc39ef0663e682f2.zip
Merge updates from trunk.
FossilOrigin-Name: ffc6e682836cdf275189427109f8af2aeb423bcd
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/expr.c b/src/expr.c
index e857193b8..aa6f27543 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -114,8 +114,7 @@ CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){
p = p->pLeft;
continue;
}
- assert( op!=TK_REGISTER || p->op2!=TK_COLLATE );
- if( op==TK_COLLATE ){
+ if( op==TK_COLLATE || (op==TK_REGISTER && p->op2==TK_COLLATE) ){
pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken);
break;
}
@@ -1279,7 +1278,7 @@ int sqlite3ExprIsInteger(Expr *p, int *pValue){
case TK_UMINUS: {
int v;
if( sqlite3ExprIsInteger(p->pLeft, &v) ){
- assert( v!=-2147483648 );
+ assert( v!=(-2147483647-1) );
*pValue = -v;
rc = 1;
}
@@ -3505,6 +3504,7 @@ static void exprCodeBetween(
compRight.pLeft = &exprX;
compRight.pRight = pExpr->x.pList->a[1].pExpr;
exprX.iTable = sqlite3ExprCodeTemp(pParse, &exprX, &regFree1);
+ exprX.op2 = exprX.op;
exprX.op = TK_REGISTER;
if( jumpIfTrue ){
sqlite3ExprIfTrue(pParse, &exprAnd, dest, jumpIfNull);