Sjoerd Mullender wrote:
Wrong on (almost) all counts. It's amazing. Most of it is a concurrency conflict for which I warned upfront in an email that checkins where pending. I only removed the conflict lines that result from your (too-quick) actions.
Moreover, it is more than just mclient code. It is proper handling at all levels in a situation where different readers emerged over time. In particular the overloaded '?' in the MAL context and debugging. None of the check-ins proofed that testing was carried even close to this level.
Martin Kersten wrote:
Update of /cvsroot/monetdb/clients/src/mapiclient In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10235
Modified Files: MapiClient.mx Log Message: Move the mode change into one place. Set the default rendering of MAL to
This I had already done in the previous checkin, but better because more complete
Beginning of a debugging session can start any time, should be trapped and was not done at all places. So be defensive.
align with the console. Best option still is to make mclient part of
This is debatable.
the server too.
This has *nothing* to do with this checkin (and is debatable anyway).
It has to do with understanding of the implications of the functionality provided.
Index: MapiClient.mx =================================================================== RCS file: /cvsroot/monetdb/clients/src/mapiclient/MapiClient.mx,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- MapiClient.mx 28 Aug 2007 07:43:07 -0000 1.73 +++ MapiClient.mx 28 Aug 2007 08:03:57 -0000 1.74 @@ -243,6 +243,15 @@ }
static void +modeChange(char *reply){ + if (strstr(reply, "mdb>#EOD")){ + setPrompt(); + } else + if(strncmp(reply,"mdb>",4)==0) + sprintf(promptbuf,"mdb>"); +} + +static void SQLsetSpecial(const char *command) { if (mode == SQL && command) { @@ -371,6 +380,7 @@ do { if ((reply = fetch_line(hdl)) == NULL) return 0; + modeChange(reply); } while (*reply != '[' && *reply != '='); return mapi_split_line(hdl); }
Now the change is checked twice.
modechange was there, because row-fetch-line as called in my version. This was not marked as a conflict.
@@ -412,7 +422,8 @@ { char *line;
- while ((line = fetch_line(hdl)) != 0) { + while ((line = mapi_fetch_line(hdl)) != 0) { + modeChange(line); if (*line == '=') line++; fprintf(toConsole, "%s\n", line);
Why did you undo my change which did this already?
@@ -1310,7 +1321,7 @@ continue; } case '?': - if (!isspace((int) line[2]) && mode == MAL) { + if (mode==MAL ||debugMode() ){ strcpy(line, line + 1); break; }
This is the only part of the checkin that has merit, except a comment that the line with ? is sent to the server might be useful.
@@ -1756,7 +1767,8 @@
/* default formatter depends on whether we're interactive */ if (formatter == NOformatter) - formatter = interactive && interactive_stdin && mode != XQUERY ? TABLEformatter : RAWformatter; + formatter = interactive && interactive_stdin && mode != XQUERY ? + (mode==MAL?RAWformatter: TABLEformatter) : RAWformatter;
if (command) { /* execute from command-line */
If you really insist that in MAL mode the default should be RAW, then write it like this:
formatter = interactive && interactive_stdin && mode != XQUERY && mode != MAL ? TABLEformatter : RAWformatter;
------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Monetdb-checkins mailing list Monetdb-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-checkins
------------------------------------------------------------------------
------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/
------------------------------------------------------------------------
_______________________________________________ Monetdb-checkins mailing list Monetdb-checkins@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-checkins