Changeset: 4a323edd8514 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4a323edd8514
Modified Files:
        sql/backends/monet5/copy.c
Branch: default
Log Message:

small fix in the copy into concurrent loading, fixes reading 1 byte passed end.


diffs (30 lines):

diff --git a/sql/backends/monet5/copy.c b/sql/backends/monet5/copy.c
--- a/sql/backends/monet5/copy.c
+++ b/sql/backends/monet5/copy.c
@@ -100,7 +100,7 @@ bufferstream_read( bufferstream *bs, int
                memcpy(bs->buf[cur] + 2, bs->buf[ocur]+p, bs->len[ocur] - p + 
1);
                bs->len[cur] = 2 + bs->len[ocur] - p;
                if (ocur != cur)
-                       bs->len[ocur] = bs->pos[ocur];
+                       bs->len[ocur] = p;
        }
        bs->pos[cur] = 2;
        bs->jmp[cur] = 0;
@@ -312,7 +312,7 @@ find_end_of_lines1nn(struct scan_state *
                                *pos++ = 0;
                                newline_count++;
                                latest_pos = pos;
-                               if (newline_count == maxcount)
+                               if (pos == end || newline_count == maxcount)
                                        break;
                        }
                }
@@ -586,7 +586,7 @@ COPYsplitlines(Client cntxt, MalBlkPtr m
        if (!r->error && !r->done) {
                state.start = r->bs->buf[p->wid];
                state.pos = state.start + r->bs->pos[p->wid];
-               state.end = state.start + r->bs->len[p->wid];
+               state.end = state.start + (r->bs->jmp[p->wid] ? 
r->bs->jmp[p->wid] : r->bs->len[p->wid]);
 
                BUN e = 0;
                r->line_count[p->wid] = r->linecount;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to