Changeset: 48e07a7e89b5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/48e07a7e89b5
Modified Files:
ctest/tools/monetdbe/backup.c
monetdb5/modules/mal/tokenizer.c
tools/monetdbe/monetdbe_mapi.c
Branch: Jul2021
Log Message:
Close descriptors and give more detailed error messages
diffs (64 lines):
diff --git a/ctest/tools/monetdbe/backup.c b/ctest/tools/monetdbe/backup.c
--- a/ctest/tools/monetdbe/backup.c
+++ b/ctest/tools/monetdbe/backup.c
@@ -41,13 +41,16 @@ main(void)
/* open file stream */
stream *fd = open_wastream("/tmp/backup");
-
- if (dump_database(mid, fd, 0, 0, false)) {
- if (mid->msg)
- error(mid->msg)
- fprintf(stderr, "database backup failed\n");
+ if (fd) {
+ if (dump_database(mid, fd, 0, 0, false)) {
+ if (mid->msg)
+ error(mid->msg)
+ error("database backup failed\n");
+ }
+ close_stream(fd);
+ } else {
+ fprintf(stderr, "Failure: unable to open file /tmp/backup: %s",
mnstr_peek_error(NULL));
}
- close_stream(fd);
if ((mid->msg = monetdbe_close(mid->mdbe)) != NULL)
error(mid->msg);
diff --git a/monetdb5/modules/mal/tokenizer.c b/monetdb5/modules/mal/tokenizer.c
--- a/monetdb5/modules/mal/tokenizer.c
+++ b/monetdb5/modules/mal/tokenizer.c
@@ -405,8 +405,10 @@ TKNZRdepositFile(void *r, str *fnme)
throw(MAL, "tokenizer.depositFile", "%s",
mnstr_peek_error(NULL));
}
bs = bstream_create(fs, SIZE);
- if (bs == NULL)
+ if (bs == NULL) {
+ close_stream(fs);
throw(MAL, "tokenizer.depositFile", SQLSTATE(HY013)
MAL_MALLOC_FAIL);
+ }
while (bstream_read(bs, bs->size - (bs->len - bs->pos)) != 0 &&
!mnstr_errnr(bs->s))
{
diff --git a/tools/monetdbe/monetdbe_mapi.c b/tools/monetdbe/monetdbe_mapi.c
--- a/tools/monetdbe/monetdbe_mapi.c
+++ b/tools/monetdbe/monetdbe_mapi.c
@@ -295,9 +295,8 @@ monetdbe_mapi_dump_database(monetdbe_dat
}
close_stream(fd);
} else {
- return createException(MAL, "embedded.monetdbe_dump_database",
"Unable to open file %s", filename);
+ return createException(MAL, "embedded.monetdbe_dump_database",
"Unable to open file %s: %s", filename, mnstr_peek_error(NULL));
}
-
return msg;
}
@@ -316,7 +315,7 @@ monetdbe_mapi_dump_table(monetdbe_databa
}
close_stream(fd);
} else {
- return createException(MAL, "embedded.monetdbe_dump_table",
"Unable to open file %s", filename);
+ return createException(MAL, "embedded.monetdbe_dump_table",
"Unable to open file %s: %s", filename, mnstr_peek_error(NULL));
}
return msg;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list