Changeset: 6663ca13e289 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6663ca13e289
Modified Files:
gdk/gdk_bbp.c
gdk/gdk_hash.c
gdk/gdk_join.c
gdk/gdk_orderidx.c
gdk/gdk_private.h
Branch: default
Log Message:
Cleanup
- remove hash upgrade code keeping some old hashes;
- remove compile-time option to not persist indexes.
diffs (229 lines):
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -310,14 +310,6 @@ BBPselectfarm(role_t role, int type, enu
if (GDKinmemory(0))
return 0;
-#ifndef PERSISTENTHASH
- if (hptype == hashheap)
- role = TRANSIENT;
-#endif
-#ifndef PERSISTENTIDX
- if (hptype == orderidxheap)
- role = TRANSIENT;
-#endif
for (i = 0; i < MAXFARMS; i++)
if (BBPfarms[i].roles & (1U << (int) role))
return i;
@@ -4622,14 +4614,10 @@ BBPdiskscan(const char *parent, size_t b
delete = (b == NULL || !b->tvheap ||
!b->batCopiedtodisk || b->tvheap->free == 0);
} else if (strncmp(p + 1, "thashl", 6) == 0 ||
strncmp(p + 1, "thashb", 6) == 0) {
-#ifdef PERSISTENTHASH
BAT *b = getdesc(bid);
delete = b == NULL;
if (!delete)
b->thash = (Hash *) 1;
-#else
- delete = true;
-#endif
} else if (strncmp(p + 1, "thash", 5) == 0) {
/* older versions used .thash which we
* can simply ignore */
@@ -4644,14 +4632,10 @@ BBPdiskscan(const char *parent, size_t b
if (!delete)
b->timprints = (Imprints *) 1;
} else if (strncmp(p + 1, "torderidx", 9) == 0) {
-#ifdef PERSISTENTIDX
BAT *b = getdesc(bid);
delete = b == NULL;
if (!delete)
b->torderidx = (Heap *) 1;
-#else
- delete = true;
-#endif
} else if (strncmp(p + 1, "tstrimps", 8) == 0) {
BAT *b = getdesc(bid);
delete = b == NULL;
diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c
--- a/gdk/gdk_hash.c
+++ b/gdk/gdk_hash.c
@@ -81,13 +81,6 @@ HASHclear(Hash *h)
}
#define HASH_VERSION 6
-/* this is only for the change of hash function of the floating point
- * types, the UUID type and the MBR type; if HASH_VERSION is increased
- * again from 6, the code associated with HASH_VERSION_NOUUID and
- * HASH_VERSION_NOMBR must be deleted */
-#define HASH_VERSION_FLOAT 5
-#define HASH_VERSION_NOMBR 4
-#define HASH_VERSION_NOUUID 3
#define HASH_HEADER_SIZE 7 /* nr of size_t fields in header */
void
@@ -477,45 +470,7 @@ BATcheckhash(BAT *b)
struct stat st;
if (read(fd, hdata, sizeof(hdata)) ==
sizeof(hdata) &&
- (hdata[0] == (
-#ifdef PERSISTENTHASH
- ((size_t) 1 << 24) |
-#endif
- HASH_VERSION)
-#ifdef HASH_VERSION_NOUUID
- /* if not uuid, also allow
previous version */
- || (hdata[0] == (
-#ifdef PERSISTENTHASH
- ((size_t) 1 << 24) |
-#endif
- HASH_VERSION_NOUUID) &&
- strcmp(ATOMname(b->ttype),
"flt") != 0 &&
- strcmp(ATOMname(b->ttype),
"dbl") != 0 &&
- strcmp(ATOMname(b->ttype),
"uuid") != 0 &&
- strcmp(ATOMname(b->ttype),
"mbr") != 0)
-#endif
-#ifdef HASH_VERSION_NOMBR
- /* if not uuid, also allow
previous version */
- || (hdata[0] == (
-#ifdef PERSISTENTHASH
- ((size_t) 1 << 24) |
-#endif
- HASH_VERSION_NOMBR) &&
- strcmp(ATOMname(b->ttype),
"flt") != 0 &&
- strcmp(ATOMname(b->ttype),
"dbl") != 0 &&
- strcmp(ATOMname(b->ttype),
"mbr") != 0)
-#endif
-#ifdef HASH_VERSION_FLOAT
- /* if not floating point, also
allow previous version */
- || (hdata[0] == (
-#ifdef PERSISTENTHASH
- ((size_t) 1 << 24) |
-#endif
- HASH_VERSION_FLOAT) &&
- strcmp(ATOMname(b->ttype),
"flt") != 0 &&
- strcmp(ATOMname(b->ttype),
"dbl") != 0)
-#endif
- ) &&
+ (hdata[0] == (((size_t) 1 << 24) |
HASH_VERSION)) &&
hdata[1] > 0 &&
(
#ifdef BUN2
@@ -616,11 +571,6 @@ BAThashsave_intern(BAT *b, bool dosync)
TRC_DEBUG_IF(ACCELERATOR) t0 = GDKusec();
if ((h = b->thash) != NULL) {
-#ifndef PERSISTENTHASH
- /* no need to sync if not persistent */
- dosync = false;
-#endif
-
/* only persist if parent BAT hasn't changed in the
* mean time */
if (!b->theap->dirty &&
diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -3642,16 +3642,12 @@ joincost(BAT *r, BUN lcount, struct cand
/* we have an estimate of the number of unique
* values, assume some collisions */
rcost *= 1.1 * ((double) cnt / unique_est);
-#ifdef PERSISTENTHASH
/* only count the cost of creating the hash for
* non-persistent bats */
MT_lock_set(&r->theaplock);
if (r->batRole != PERSISTENT /* || r->theap->dirty */
|| GDKinmemory(r->theap->farmid))
rcost += cnt * 2.0;
MT_lock_unset(&r->theaplock);
-#else
- rcost += cnt * 2.0;
-#endif
}
}
if (cand) {
diff --git a/gdk/gdk_orderidx.c b/gdk/gdk_orderidx.c
--- a/gdk/gdk_orderidx.c
+++ b/gdk/gdk_orderidx.c
@@ -16,7 +16,6 @@
#define ORDERIDX_VERSION ((oid) 3)
-#ifdef PERSISTENTIDX
static void
BATidxsync(void *arg)
{
@@ -68,7 +67,6 @@ BATidxsync(void *arg)
MT_lock_unset(&b->batIdxLock);
BBPunfix(b->batCacheid);
}
-#endif
/* return TRUE if we have a orderidx on the tail, even if we need to read
* one from disk */
@@ -101,11 +99,7 @@ BATcheckorderidx(BAT *b)
oid hdata[ORDERIDXOFF];
if (read(fd, hdata, sizeof(hdata)) ==
sizeof(hdata) &&
- hdata[0] == (
-#ifdef PERSISTENTIDX
- ((oid) 1 << 24) |
-#endif
- ORDERIDX_VERSION) &&
+ hdata[0] == (((oid) 1 << 24) |
ORDERIDX_VERSION) &&
hdata[1] == (oid) BATcount(b) &&
(hdata[2] == 0 || hdata[2] == 1) &&
fstat(fd, &st) == 0 &&
@@ -171,7 +165,6 @@ createOIDXheap(BAT *b, bool stable)
void
persistOIDX(BAT *b)
{
-#ifdef PERSISTENTIDX
if ((BBP_status(b->batCacheid) & BBPEXISTING) &&
b->batInserted == b->batCount &&
!b->theap->dirty &&
@@ -185,9 +178,6 @@ persistOIDX(BAT *b)
BBPunfix(b->batCacheid);
} else
TRC_DEBUG(ACCELERATOR, "persistOIDX(" ALGOBATFMT "): NOT
persisting order index\n", ALGOBATPAR(b));
-#else
- (void) b;
-#endif
}
gdk_return
@@ -503,7 +493,6 @@ GDKmergeidx(BAT *b, BAT**a, int n_ar)
}
b->torderidx = m;
-#ifdef PERSISTENTIDX
if ((BBP_status(b->batCacheid) & BBPEXISTING) &&
b->batInserted == b->batCount) {
MT_Id tid;
@@ -515,7 +504,6 @@ GDKmergeidx(BAT *b, BAT**a, int n_ar)
BBPunfix(b->batCacheid);
} else
TRC_DEBUG(ACCELERATOR, "GDKmergeidx(%s): NOT persisting
index\n", BATgetId(b));
-#endif
MT_lock_unset(&b->batIdxLock);
bat_iterator_end(&bi);
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -16,15 +16,6 @@
#error this file should not be included outside its source directory
#endif
-/* persist hash heaps for persistent BATs */
-#define PERSISTENTHASH 1
-
-/* persist order index heaps for persistent BATs */
-#define PERSISTENTIDX 1
-
-/* persist strimp heaps for persistent BATs */
-#define PERSISTENTSTRIMP 1
-
/* only check whether we exceed gdk_vm_maxsize when allocating heaps */
#define SIZE_CHECK_IN_HEAPS_ONLY 1
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]