Changeset: ccde5cc6332f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ccde5cc6332f
Modified Files:
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/tablet.c
sql/backends/monet5/sql.c
Branch: Apr2019
Log Message:
Merge with Aug2018 branch.
diffs (78 lines):
diff --git a/monetdb5/modules/mal/mat.c b/monetdb5/modules/mal/mat.c
--- a/monetdb5/modules/mal/mat.c
+++ b/monetdb5/modules/mal/mat.c
@@ -152,7 +152,10 @@ MATpackIncrement(Client cntxt, MalBlkPtr
}
b->unused--;
if(b->unused == 0)
- BATsetaccess(b, BAT_READ);
+ if (BATsetaccess(b, BAT_READ) != GDK_SUCCEED) {
+ BBPunfix(b->batCacheid);
+ throw(MAL, "mat.pack", GDK_EXCEPTION);
+ }
assert(!b->tnil || !b->tnonil);
BBPkeepref(*ret = b->batCacheid);
}
diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c
--- a/monetdb5/modules/mal/tablet.c
+++ b/monetdb5/modules/mal/tablet.c
@@ -60,7 +60,10 @@ void_bat_create(int adt, BUN nr)
/* check for correct structures */
if (b == NULL)
return NULL;
- BATsetaccess(b, BAT_APPEND);
+ if (BATsetaccess(b, BAT_APPEND) != GDK_SUCCEED) {
+ BBPunfix(b->batCacheid);
+ return NULL;
+ }
if (nr > BATTINY && adt && BATextend(b, nr) != GDK_SUCCEED) {
BBPunfix(b->batCacheid);
return NULL;
@@ -170,7 +173,8 @@ TABLETcollect(BAT **bats, Tablet *as)
continue;
bats[j] = fmt[i].c;
BBPfix(bats[j]->batCacheid);
- BATsetaccess(fmt[i].c, BAT_READ);
+ if (BATsetaccess(fmt[i].c, BAT_READ) != GDK_SUCCEED)
+ throw(SQL, "copy", "Failed to set access at tablet part
" BUNFMT "\n", cnt);
fmt[i].c->tsorted = fmt[i].c->trevsorted = false;
fmt[i].c->tkey = false;
BATsettrivprop(fmt[i].c);
@@ -200,7 +204,8 @@ TABLETcollect_parts(BAT **bats, Tablet *
b->tsorted = b->trevsorted = false;
b->tkey = false;
BATsettrivprop(b);
- BATsetaccess(b, BAT_READ);
+ if (BATsetaccess(b, BAT_READ) != GDK_SUCCEED)
+ throw(SQL, "copy", "Failed to set access at tablet part
" BUNFMT "\n", cnt);
bv = BATslice(b, (offset > 0) ? offset - 1 : 0, BATcount(b));
bats[j] = bv;
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -1458,7 +1458,10 @@ setwritable(BAT *b)
if (b->batSharecnt) {
bn = COLcopy(b, b->ttype, true, TRANSIENT);
if (bn != NULL)
- BATsetaccess(bn, BAT_WRITE);
+ if (BATsetaccess(bn, BAT_WRITE) != GDK_SUCCEED)
{
+ BBPreclaim(bn);
+ bn = NULL;
+ }
} else {
bn = NULL;
}
@@ -2967,7 +2970,11 @@ mvc_bin_import_table_wrap(Client cntxt,
msg = createException(SQL, "sql",
SQLSTATE(42000) "Failed to attach file %s", fname);
goto bailout;
}
- BATsetaccess(c, BAT_READ);
+ if (BATsetaccess(c, BAT_READ) != GDK_SUCCEED) {
+ BBPreclaim(c);
+ msg = createException(SQL, "sql",
SQLSTATE(42000) "Failed to set internal access while attaching file %s", fname);
+ goto bailout;
+ }
} else {
msg = createException(SQL, "sql", SQLSTATE(42000)
"Failed to attach file %s", fname);
goto bailout;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list