aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2010-02-22 19:32:31 +0000
committerdrh <drh@noemail.net>2010-02-22 19:32:31 +0000
commita756466349526075311db0e7e5aca63bff482d00 (patch)
tree570e4c0653afbe5bdeb761357541244eca3267d8 /src/resolve.c
parent195475d839e18baa543bb8fe0d8b223e3e91f076 (diff)
downloadsqlite-a756466349526075311db0e7e5aca63bff482d00.tar.gz
sqlite-a756466349526075311db0e7e5aca63bff482d00.zip
Log all error messages if logging is enabled.
FossilOrigin-Name: a8076aede33c07e9a2aaa05be8a888f37b45e41c
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/resolve.c b/src/resolve.c
index 3b48baa6f..3a44aef62 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -664,6 +664,9 @@ static int resolveOrderByTermToExprList(
int i; /* Loop counter */
ExprList *pEList; /* The columns of the result set */
NameContext nc; /* Name context for resolving pE */
+ sqlite3 *db; /* Database connection */
+ int rc; /* Return code from subprocedures */
+ u8 savedSuppErr; /* Saved value of db->suppressErr */
assert( sqlite3ExprIsInteger(pE, &i)==0 );
pEList = pSelect->pEList;
@@ -676,10 +679,12 @@ static int resolveOrderByTermToExprList(
nc.pEList = pEList;
nc.allowAgg = 1;
nc.nErr = 0;
- if( sqlite3ResolveExprNames(&nc, pE) ){
- sqlite3ErrorClear(pParse);
- return 0;
- }
+ db = pParse->db;
+ savedSuppErr = db->suppressErr;
+ db->suppressErr = 1;
+ rc = sqlite3ResolveExprNames(&nc, pE);
+ db->suppressErr = savedSuppErr;
+ if( rc ) return 0;
/* Try to match the ORDER BY expression against an expression
** in the result set. Return an 1-based index of the matching