aboutsummaryrefslogtreecommitdiff
path: root/src/tokenize.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2015-04-22 09:40:35 +0000
committerdan <dan@noemail.net>2015-04-22 09:40:35 +0000
commit062c267dffc17aeea9e41c8a553bc7f20a949e04 (patch)
tree8b0be371e782c9cb20665994bb92c2ec48d27924 /src/tokenize.c
parent5bb97c2b801248ab08b37b99926962f7db5c0e09 (diff)
parent318d38cf7e16d0f47dc982c33e80792e06a6fff6 (diff)
downloadsqlite-062c267dffc17aeea9e41c8a553bc7f20a949e04.tar.gz
sqlite-062c267dffc17aeea9e41c8a553bc7f20a949e04.zip
Update this branch with latest trunk changes.
FossilOrigin-Name: 9797482ded7de985e3b20aedec5e4d81f55065c8
Diffstat (limited to 'src/tokenize.c')
-rw-r--r--src/tokenize.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/tokenize.c b/src/tokenize.c
index 6fb5a35c3..076acb020 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -430,10 +430,8 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
break;
}
case TK_ILLEGAL: {
- sqlite3DbFree(db, *pzErrMsg);
- *pzErrMsg = sqlite3MPrintf(db, "unrecognized token: \"%T\"",
+ sqlite3ErrorMsg(pParse, "unrecognized token: \"%T\"",
&pParse->sLastToken);
- nErr++;
goto abort_parse;
}
case TK_SEMI: {
@@ -451,7 +449,8 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
}
}
abort_parse:
- if( zSql[i]==0 && nErr==0 && pParse->rc==SQLITE_OK ){
+ assert( nErr==0 );
+ if( zSql[i]==0 && pParse->rc==SQLITE_OK ){
if( lastTokenParsed!=TK_SEMI ){
sqlite3Parser(pEngine, TK_SEMI, pParse->sLastToken, pParse);
pParse->zTail = &zSql[i];
@@ -459,9 +458,11 @@ abort_parse:
sqlite3Parser(pEngine, 0, pParse->sLastToken, pParse);
}
#ifdef YYTRACKMAXSTACKDEPTH
+ sqlite3_mutex_enter(sqlite3MallocMutex());
sqlite3StatusSet(SQLITE_STATUS_PARSER_STACK,
sqlite3ParserStackPeak(pEngine)
);
+ sqlite3_mutex_leave(sqlite3MallocMutex());
#endif /* YYDEBUG */
sqlite3ParserFree(pEngine, sqlite3_free);
db->lookaside.bEnabled = enableLookaside;
@@ -515,8 +516,6 @@ abort_parse:
pParse->pZombieTab = p->pNextZombie;
sqlite3DeleteTable(db, p);
}
- if( nErr>0 && pParse->rc==SQLITE_OK ){
- pParse->rc = SQLITE_ERROR;
- }
+ assert( nErr==0 || pParse->rc!=SQLITE_OK );
return nErr;
}