Changeset: 0d9257c2aaad for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0d9257c2aaad
Modified Files:
gdk/gdk_bat.c
gdk/gdk_bbp.c
gdk/gdk_logger.c
gdk/gdk_logger_old.c
monetdb5/modules/kernel/bat5.c
Branch: default
Log Message:
batRestricted is once more a proper restrict_t value.
diffs (105 lines):
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -2283,7 +2283,7 @@ BATsetaccess(BAT *b, restrict_t newmode)
b = bn;
}
MT_lock_set(&b->theaplock);
- bakmode = (restrict_t) b->batRestricted;
+ bakmode = b->batRestricted;
bakdirty = b->batDirtydesc;
if (bakmode != newmode) {
bool existing = (BBP_status(b->batCacheid) & BBPEXISTING) != 0;
@@ -2337,9 +2337,8 @@ BATsetaccess(BAT *b, restrict_t newmode)
restrict_t
BATgetaccess(BAT *b)
{
- BATcheck(b, BAT_WRITE /* 0 */);
- assert(b->batRestricted != 3); /* only valid restrict_t values */
- return (restrict_t) b->batRestricted;
+ BATcheck(b, BAT_WRITE);
+ return b->batRestricted;
}
/*
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -684,7 +684,22 @@ BBPreadEntries(FILE *fp, unsigned bbpver
}
bn->batTransient = false;
bn->batCopiedtodisk = true;
- bn->batRestricted = (properties & 0x06) >> 1;
+ switch ((properties & 0x06) >> 1) {
+ case 0:
+ bn->batRestricted = BAT_WRITE;
+ break;
+ case 1:
+ bn->batRestricted = BAT_READ;
+ break;
+ case 2:
+ bn->batRestricted = BAT_APPEND;
+ break;
+ default:
+ GDKfree(bn->theap);
+ GDKfree(bn);
+ TRC_CRITICAL(GDK, "incorrect batRestricted value");
+ goto bailout;
+ }
bn->batCount = (BUN) count;
bn->batInserted = bn->batCount;
/* set capacity to at least count */
@@ -1905,7 +1920,7 @@ new_bbpentry(FILE *fp, bat i, BUN size,
BBP_status(i) & BBPPERSISTENT,
BBP_logical(i),
BBP_physical(i),
- bi->b->batRestricted << 1,
+ (unsigned) bi->b->batRestricted << 1,
size,
bi->b->hseqbase) < 0 ||
heap_entry(fp, bi, size) < 0 ||
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -257,7 +257,7 @@ la_bat_clear(logger *lg, logaction *la,
b = BATdescriptor(bid);
if (b) {
- restrict_t access = (restrict_t) b->batRestricted;
+ restrict_t access = b->batRestricted;
b->batRestricted = BAT_WRITE;
/* during startup this is fine */
BATclear(b, true);
diff --git a/gdk/gdk_logger_old.c b/gdk/gdk_logger_old.c
--- a/gdk/gdk_logger_old.c
+++ b/gdk/gdk_logger_old.c
@@ -344,7 +344,7 @@ la_bat_clear(old_logger *lg, logaction *
b = BATdescriptor(bid);
if (b) {
- restrict_t access = (restrict_t) b->batRestricted;
+ restrict_t access = b->batRestricted;
b->batRestricted = BAT_WRITE;
BATclear(b, true);
b->batRestricted = access;
diff --git a/monetdb5/modules/kernel/bat5.c b/monetdb5/modules/kernel/bat5.c
--- a/monetdb5/modules/kernel/bat5.c
+++ b/monetdb5/modules/kernel/bat5.c
@@ -187,7 +187,7 @@ BKCappend_cand_force_wrap(bat *r, const
throw(MAL, "bat.append", SQLSTATE(HY002)
RUNTIME_OBJECT_MISSING);
if (isVIEW(b)) {
BAT *bn = COLcopy(b, b->ttype, true, TRANSIENT);
- restrict_t mode = (restrict_t) b->batRestricted;
+ restrict_t mode = b->batRestricted;
BBPunfix(b->batCacheid);
if (bn == NULL || (b = BATsetaccess(bn, mode)) == NULL)
throw(MAL, "bat.append", GDK_EXCEPTION);
@@ -252,7 +252,7 @@ BKCappend_val_force_wrap(bat *r, const b
throw(MAL, "bat.append", SQLSTATE(HY002)
RUNTIME_OBJECT_MISSING);
if (isVIEW(b)) {
BAT *bn = COLcopy(b, b->ttype, true, TRANSIENT);
- restrict_t mode = (restrict_t) b->batRestricted;
+ restrict_t mode = b->batRestricted;
BBPunfix(b->batCacheid);
if (bn == NULL || (b = BATsetaccess(bn, mode)) == NULL)
throw(MAL, "bat.append", GDK_EXCEPTION);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]