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]

Reply via email to