diff options
author | dan <dan@noemail.net> | 2015-03-20 08:43:59 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2015-03-20 08:43:59 +0000 |
commit | 80103fc614e42c8fb20c39a5b3091ab680c9cd00 (patch) | |
tree | 8e92fdd3fb08df7b69f32f6512905c12eafe1c7c /src/expr.c | |
parent | 17ba562025ed7f59652fba83e04840c18fd7c339 (diff) | |
download | sqlite-80103fc614e42c8fb20c39a5b3091ab680c9cd00.tar.gz sqlite-80103fc614e42c8fb20c39a5b3091ab680c9cd00.zip |
Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances.
FossilOrigin-Name: eddc05e7bb31fae74daa86e0504a3478b99fa0f2
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/expr.c b/src/expr.c index 5457a9c06..fe09b4b50 100644 --- a/src/expr.c +++ b/src/expr.c @@ -69,10 +69,11 @@ char sqlite3ExprAffinity(Expr *pExpr){ Expr *sqlite3ExprAddCollateToken( Parse *pParse, /* Parsing context */ Expr *pExpr, /* Add the "COLLATE" clause to this expression */ - const Token *pCollName /* Name of collating sequence */ + const Token *pCollName, /* Name of collating sequence */ + int dequote /* True to dequote pCollName */ ){ if( pCollName->n>0 ){ - Expr *pNew = sqlite3ExprAlloc(pParse->db, TK_COLLATE, pCollName, 1); + Expr *pNew = sqlite3ExprAlloc(pParse->db, TK_COLLATE, pCollName, dequote); if( pNew ){ pNew->pLeft = pExpr; pNew->flags |= EP_Collate|EP_Skip; @@ -86,7 +87,7 @@ Expr *sqlite3ExprAddCollateString(Parse *pParse, Expr *pExpr, const char *zC){ assert( zC!=0 ); s.z = zC; s.n = sqlite3Strlen30(s.z); - return sqlite3ExprAddCollateToken(pParse, pExpr, &s); + return sqlite3ExprAddCollateToken(pParse, pExpr, &s, 0); } /* |