Changeset: 320016132828 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=320016132828
Modified Files:
gdk/gdk_imprints.c
Branch: Oct2014
Log Message:
Do imprints version check correctly.
diffs (42 lines):
diff --git a/gdk/gdk_imprints.c b/gdk/gdk_imprints.c
--- a/gdk/gdk_imprints.c
+++ b/gdk/gdk_imprints.c
@@ -29,6 +29,8 @@
#include "gdk_private.h"
#include "gdk_imprints.h"
+#define IMPRINTS_VERSION 2
+
#define BINSIZE(B, FUNC, T) do { \
switch (B) { \
case 8: FUNC(T,8); break; \
@@ -639,7 +641,7 @@ BATimprints(BAT *b)
struct stat st;
if (read(fd, hdata, sizeof(hdata)) == sizeof(hdata) &&
hdata[0] & ((size_t) 1 << 16) &&
- ((hdata[0] & 0xFF00) >> 8) == 2 && /* version 2 */
+ ((hdata[0] & 0xFF00) >> 8) == IMPRINTS_VERSION &&
hdata[3] == (size_t) BATcount(b) &&
fstat(fd, &st) == 0 &&
st.st_size >= (off_t) (imprints->imprints->size =
@@ -723,7 +725,7 @@ BATimprints(BAT *b)
* In addition, we add some housekeeping entries at
* the start so that we can determine whether we can
* trust the imprints when encountered on startup (including
- * a version number -- CURRENT VERSION is 1 ). */
+ * a version number -- CURRENT VERSION is 2). */
if (HEAPalloc(imprints->imprints,
64 * b->T->width +
64 * 2 * SIZEOF_OID +
@@ -800,9 +802,9 @@ BATimprints(BAT *b)
(fd = GDKfdlocate(imprints->imprints->farmid, nme, "rb+",
b->batCacheid > 0 ? "timprints" :
"himprints")) >= 0) {
/* add version number */
- ((size_t *) imprints->imprints->base)[0] |= (size_t) 1
<< 8;
+ ((size_t *) imprints->imprints->base)[0] |= (size_t)
IMPRINTS_VERSION << 8;
/* sync-on-disk checked bit */
- ((size_t *) imprints->imprints->base)[0] |= (size_t) 2
<< 16;
+ ((size_t *) imprints->imprints->base)[0] |= (size_t) 1
<< 16;
if (write(fd, imprints->imprints->base, sizeof(size_t))
< 0)
perror("write imprints");
#if defined(NATIVE_WIN32)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list