diff options
author | drh <drh@noemail.net> | 2019-01-11 13:32:23 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2019-01-11 13:32:23 +0000 |
commit | 51d35b0fa9f636e4df2cb8751912dd01c310acd7 (patch) | |
tree | ec86dc5c9adcc33187e30fb0168b0c36274d9251 /src/expr.c | |
parent | e65b9c6a5e2ff7a1de7bed378fe09157ce8e8525 (diff) | |
download | sqlite-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.c | 8 |
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; |