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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list