aboutsummaryrefslogtreecommitdiff
path: root/src/tokenize.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2006-01-12 12:43:36 +0000
committerdrh <drh@noemail.net>2006-01-12 12:43:36 +0000
commit4b494d65a75a3f6cc8f8998bb34d54f060b3ab93 (patch)
tree1f06752ac6f58f8491ce6196821e905e797e5858 /src/tokenize.c
parentf06c59a3e576b397cf75294b7bfef70d44c30005 (diff)
downloadsqlite-4b494d65a75a3f6cc8f8998bb34d54f060b3ab93.tar.gz
sqlite-4b494d65a75a3f6cc8f8998bb34d54f060b3ab93.zip
About a 2.5% speed improvement by reducing the number of sqlite3ThreadData
calls in the parser. (CVS 2924) FossilOrigin-Name: 0caa1994770142d6ca15284a26bad3879b07b15a
Diffstat (limited to 'src/tokenize.c')
-rw-r--r--src/tokenize.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/tokenize.c b/src/tokenize.c
index ec2efbe78..86e526a9e 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -15,7 +15,7 @@
** individual tokens and sends those tokens one-by-one over to the
** parser for analysis.
**
-** $Id: tokenize.c,v 1.113 2006/01/11 21:41:22 drh Exp $
+** $Id: tokenize.c,v 1.114 2006/01/12 12:43:36 drh Exp $
*/
#include "sqliteInt.h"
#include "os.h"
@@ -339,6 +339,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
int tokenType;
int lastTokenParsed = -1;
sqlite3 *db = pParse->db;
+ ThreadData *pTsd = pParse->pTsd;
extern void *sqlite3ParserAlloc(void*(*)(int));
extern void sqlite3ParserFree(void*, void(*)(void*));
extern int sqlite3Parser(void*, int, Token, Parse*);
@@ -358,7 +359,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
assert( pParse->nVarExprAlloc==0 );
assert( pParse->apVarExpr==0 );
pParse->zTail = pParse->zSql = zSql;
- while( sqlite3ThreadDataReadOnly()->mallocFailed==0 && zSql[i]!=0 ){
+ while( pTsd->mallocFailed==0 && zSql[i]!=0 ){
assert( i>=0 );
pParse->sLastToken.z = (u8*)&zSql[i];
assert( pParse->sLastToken.dyn==0 );
@@ -406,7 +407,7 @@ abort_parse:
sqlite3Parser(pEngine, 0, pParse->sLastToken, pParse);
}
sqlite3ParserFree(pEngine, sqlite3FreeX);
- if( sqlite3ThreadDataReadOnly()->mallocFailed ){
+ if( pTsd->mallocFailed ){
pParse->rc = SQLITE_NOMEM;
}
if( pParse->rc!=SQLITE_OK && pParse->rc!=SQLITE_DONE && pParse->zErrMsg==0 ){