Changeset: 8d2869a2203b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8d2869a2203b
Modified Files:
common/stream/stream.c
Branch: Apr2019
Log Message:
Fix Bug #6713 COPY INTO FROM 'file.xz' does not work
This happened when reading in ascii mode, for example
a csv file. The problem was that after checking for
a Byte Order Marker it tried to rewind the stream
but failed to reset one field of the xz_stream struct.
diffs (27 lines):
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -1588,18 +1588,15 @@ open_xzstream(const char *restrict filen
strncmp(buf, UTF8BOM, UTF8BOMLENGTH) == 0) {
s->isutf8 = true;
} else {
- FILE *fp = xz->fp;
- lzma_ret ret;
lzma_end(&xz->strm);
- ret = lzma_stream_decoder(&xz->strm, UINT64_MAX,
LZMA_CONCATENATED);
- if (ret != LZMA_OK) {
+ if (lzma_stream_decoder(&xz->strm, UINT64_MAX,
LZMA_CONCATENATED) != LZMA_OK
+ || fseek (xz->fp, 0L, SEEK_SET) < 0) {
+ fclose(xz->fp);
+ free(xz);
destroy(s);
- free(xz);
- fclose(fp);
return NULL;
}
- rewind(fp);
- xz->fp = fp;
+ xz->todo = 0;
}
}
return s;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list