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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org