Changeset: f2249db30745 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f2249db30745
Modified Files:
monetdb5/mal/mal_module.c
sql/backends/monet5/sql_scenario.c
Branch: Jan2022
Log Message:
If an epilogue function throws an exception, clear it
diffs (32 lines):
diff --git a/monetdb5/mal/mal_module.c b/monetdb5/mal/mal_module.c
--- a/monetdb5/mal/mal_module.c
+++ b/monetdb5/mal/mal_module.c
@@ -274,11 +274,13 @@ void freeModule(Module m)
if ((s = findSymbolInModule(m, "epilogue")) != NULL) {
InstrPtr pci = getInstrPtr(s->def,0);
if (pci && pci->token == COMMANDsymbol && pci->argc == 1) {
- int ret = 0;
+ int status = 0;
+ str ret = MAL_SUCCEED;
assert(pci->fcn != NULL);
- (*pci->fcn)(&ret);
- (void)ret;
+ ret = (*pci->fcn)(&status);
+ freeException(ret);
+ (void)status;
}
}
freeSubScope(m);
diff --git a/sql/backends/monet5/sql_scenario.c
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -222,7 +222,7 @@ SQLepilogue(void *ret)
if (!res)
res = msab_retreatScenario(s);
if (res != NULL) {
- char *err = createException(MAL, "sql.start", "%s",
res);
+ char *err = createException(MAL, "sql.epilogue", "%s",
res);
free(res);
return err;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list