aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-01-11 13:32:23 +0000
committerdrh <drh@noemail.net>2019-01-11 13:32:23 +0000
commit51d35b0fa9f636e4df2cb8751912dd01c310acd7 (patch)
treeec86dc5c9adcc33187e30fb0168b0c36274d9251 /src/expr.c
parente65b9c6a5e2ff7a1de7bed378fe09157ce8e8525 (diff)
downloadsqlite-51d35b0fa9f636e4df2cb8751912dd01c310acd7.tar.gz
sqlite-51d35b0fa9f636e4df2cb8751912dd01c310acd7.zip
The keywords TRUE and FALSE should only act as boolean literal values if
unquoted. FossilOrigin-Name: 5547f39de993c708f72301ef25df190a2f007e0c4253799bdd9e86bb1ae41777
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/expr.c b/src/expr.c
index 8754bbe78..c03caa6c6 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -780,8 +780,7 @@ Expr *sqlite3ExprAlloc(
if( pToken->n ) memcpy(pNew->u.zToken, pToken->z, pToken->n);
pNew->u.zToken[pToken->n] = 0;
if( dequote && sqlite3Isquote(pNew->u.zToken[0]) ){
- if( pNew->u.zToken[0]=='"' ) pNew->flags |= EP_DblQuoted;
- sqlite3Dequote(pNew->u.zToken);
+ sqlite3DequoteExpr(pNew);
}
}
}
@@ -1812,8 +1811,9 @@ int sqlite3SelectWalkFail(Walker *pWalker, Select *NotUsed){
*/
int sqlite3ExprIdToTrueFalse(Expr *pExpr){
assert( pExpr->op==TK_ID || pExpr->op==TK_STRING );
- if( sqlite3StrICmp(pExpr->u.zToken, "true")==0
- || sqlite3StrICmp(pExpr->u.zToken, "false")==0
+ if( !ExprHasProperty(pExpr, EP_Quoted)
+ && (sqlite3StrICmp(pExpr->u.zToken, "true")==0
+ || sqlite3StrICmp(pExpr->u.zToken, "false")==0)
){
pExpr->op = TK_TRUEFALSE;
return 1;