Changeset: 7c6fbcfcc950 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7c6fbcfcc950
Modified Files:
sql/server/sql_scan.c
Branch: default
Log Message:
fixed issue with logging queries to files (sometimes the NOT * tokens got
duplicated)
diffs (51 lines):
diff --git a/sql/server/sql_scan.c b/sql/server/sql_scan.c
--- a/sql/server/sql_scan.c
+++ b/sql/server/sql_scan.c
@@ -1513,11 +1513,10 @@ sql_get_next_token(YYSTYPE *yylval, void
return(token);
}
-/* also see sql_parser.y */
-extern int sqllex( YYSTYPE *yylval, void *m );
+static int scanner( YYSTYPE *yylval, void *m, bool log);
-int
-sqllex(YYSTYPE * yylval, void *parm)
+static int
+scanner(YYSTYPE * yylval, void *parm, bool log)
{
int token;
mvc *c = (mvc *) parm;
@@ -1530,10 +1529,10 @@ sqllex(YYSTYPE * yylval, void *parm)
token = sql_get_next_token(yylval, parm);
if (token == NOT) {
- int next = sqllex(yylval, parm);
+ int next = scanner(yylval, parm, false);
if (next == NOT) {
- return sqllex(yylval, parm);
+ return scanner(yylval, parm, false);
} else if (next == EXISTS) {
token = NOT_EXISTS;
} else if (next == BETWEEN) {
@@ -1560,9 +1559,18 @@ sqllex(YYSTYPE * yylval, void *parm)
}
}
- if (lc->log)
+ if (lc->log && log)
mnstr_write(lc->log, lc->rs->buf+pos, lc->rs->pos + lc->yycur -
pos, 1);
lc->started += (token != EOF);
return token;
}
+
+/* also see sql_parser.y */
+extern int sqllex(YYSTYPE * yylval, void *parm);
+
+int
+sqllex(YYSTYPE * yylval, void *parm)
+{
+ return scanner(yylval, parm, true);
+}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]