Changeset: bf418ed92997 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bf418ed92997
Modified Files:
        clients/mapiclient/mclient.c
        common/stream/stream.c
Branch: default
Log Message:

Merge with Oct2014 branch.


diffs (58 lines):

diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -1817,6 +1817,9 @@ doRequest(Mapi mid, const char *buf)
                return 1;
        }
 
+       if (mapi_needmore(hdl) == MMORE)
+               return 0;
+
        format_result(mid, hdl, 0);
 
        if (mapi_get_active(mid) == NULL)
@@ -1881,7 +1884,7 @@ doFileBulk(Mapi mid, FILE *fp)
        buf = malloc(bufsize + 1);
        if (!buf) {
                fprintf(stderr, "cannot allocate memory for send buffer\n");
-               if (fp != stdin)
+               if (fp != stdin && fp != NULL)
                        fclose(fp);
                return 1;
        }
@@ -1889,7 +1892,12 @@ doFileBulk(Mapi mid, FILE *fp)
        timerStart();
        do {
                timerPause();
-               if ((length = fread(buf, 1, bufsize, fp)) == 0) {
+               if (fp == NULL) {
+                       if (hdl == NULL)
+                               break;
+                       length = 0;
+                       buf[0] = 0;
+               } else if ((length = fread(buf, 1, bufsize, fp)) == 0) {
                        /* end of file */
                        if (fp != stdin) {
                                fclose(fp);
@@ -1962,8 +1970,9 @@ doFileBulk(Mapi mid, FILE *fp)
                mapi_query_part(hdl, buf, length);
                CHECK_RESULT(mid, hdl, buf, continue, buf);
 
-               /*  make sure there is a newline in the buffer */
-               if (strchr(buf, '\n') == NULL)
+               /* if not at EOF, make sure there is a newline in the
+                * buffer */
+               if (length > 0 && strchr(buf, '\n') == NULL)
                        continue;
 
                assert(hdl != NULL);
@@ -3345,7 +3354,8 @@ main(int argc, char **argv)
                        c |= doFile(mid, argv[optind], useinserts, interactive, 
save_history);
                        optind++;
                }
-       }
+       } else if (command && mapi_get_active(mid))
+               c = doFileBulk(mid, NULL);
 
        if (!has_fileargs && command == NULL)
                c = doFile(mid, "-", useinserts, interactive, save_history);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to