Changeset: d0f2c7b9b9ba for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d0f2c7b9b9ba
Modified Files:
gdk/gdk.h
gdk/gdk_atoms.c
gdk/gdk_atoms.h
gdk/gdk_bat.c
gdk/gdk_bbp.c
monetdb5/mal/mal_atom.c
Branch: default
Log Message:
Cleanup: removed varsized property from atom descriptors.
diffs (181 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2050,7 +2050,6 @@ typedef struct {
short linear; /* atom can be ordered linearly */
short size; /* fixed size of atom */
short align; /* alignment condition for values */
- int varsized; /* variable-size or fixed-sized */
/* automatically generated fields */
ptr atomNull; /* global nil value */
diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c
--- a/gdk/gdk_atoms.c
+++ b/gdk/gdk_atoms.c
@@ -1648,7 +1648,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
0, /* size */
0, /* align */
- 1, /* varsized */
(ptr) &oid_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) OIDfromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) OIDtoStr, /* atomToStr */
@@ -1673,7 +1672,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(bit), /* size */
sizeof(bit), /* align */
- 0, /* varsized */
(ptr) &bte_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) bitFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) bitToStr, /* atomToStr */
@@ -1693,7 +1691,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(bte), /* size */
sizeof(bte), /* align */
- 0, /* varsized */
(ptr) &bte_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) bteFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) bteToStr, /* atomToStr */
@@ -1713,7 +1710,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(sht), /* size */
sizeof(sht), /* align */
- 0, /* varsized */
(ptr) &sht_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) shtFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) shtToStr, /* atomToStr */
@@ -1733,7 +1729,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(bat), /* size */
sizeof(bat), /* align */
- 0, /* varsized */
(ptr) &int_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) batFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) batToStr, /* atomToStr */
@@ -1753,7 +1748,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(int), /* size */
sizeof(int), /* align */
- 0, /* varsized */
(ptr) &int_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) intFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) intToStr, /* atomToStr */
@@ -1777,7 +1771,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(oid), /* size */
sizeof(oid), /* align */
- 0, /* varsized */
(ptr) &oid_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) OIDfromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) OIDtoStr, /* atomToStr */
@@ -1808,7 +1801,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(wrd), /* size */
sizeof(wrd), /* align */
- 0, /* varsized */
#if SIZEOF_WRD == SIZEOF_INT
(ptr) &int_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) intFromStr, /* atomFromStr */
@@ -1838,7 +1830,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(ptr), /* size */
sizeof(ptr), /* align */
- 0, /* varsized */
(ptr) &ptr_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) ptrFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) ptrToStr, /* atomToStr */
@@ -1863,7 +1854,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(flt), /* size */
sizeof(flt), /* align */
- 0, /* varsized */
(ptr) &flt_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) fltFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) fltToStr, /* atomToStr */
@@ -1883,7 +1873,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(dbl), /* size */
sizeof(dbl), /* align */
- 0, /* varsized */
(ptr) &dbl_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) dblFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) dblToStr, /* atomToStr */
@@ -1903,7 +1892,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(lng), /* size */
sizeof(lng), /* align */
- 0, /* varsized */
(ptr) &lng_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) lngFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) lngToStr, /* atomToStr */
@@ -1923,7 +1911,6 @@ atomDesc BATatoms[MAXATOMS] = {
1, /* linear */
sizeof(var_t), /* size */
sizeof(var_t), /* align */
- 1, /* varsized */
(ptr) str_nil, /* atomNull */
(int (*)(const char *, int *, ptr *)) strFromStr, /* atomFromStr */
(int (*)(str *, int *, const void *)) strToStr, /* atomToStr */
diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h
--- a/gdk/gdk_atoms.h
+++ b/gdk/gdk_atoms.h
@@ -178,7 +178,7 @@ gdk_export const ptr ptr_nil;
* @code{ ptr} types to @code{ lng} instead of @code{ int}.
*
* Derived types mimic their fathers in many ways. They inherit the
- * @code{ size}, @code{ varsized}, @code{ linear}, @code{ null} and
+ * @code{ size}, @code{ linear}, @code{ null} and
* @code{ align} properties of their father. The same goes for the
* ADT functions HASH, CMP, PUT, NULL, DEL, LEN, and HEAP. So, a
* derived type differs in only two ways from its father:
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -223,8 +223,8 @@ BATsetdims(BAT *b)
b->T->shift = ATOMelmshift(Tsize(b));
assert_shift_width(b->H->shift, b->H->width);
assert_shift_width(b->T->shift, b->T->width);
- b->H->varsized = BATatoms[b->htype].varsized;
- b->T->varsized = BATatoms[b->ttype].varsized;
+ b->H->varsized = b->htype == TYPE_void || BATatoms[b->htype].atomPut !=
NULL;
+ b->T->varsized = b->ttype == TYPE_void || BATatoms[b->ttype].atomPut !=
NULL;
}
/*
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -707,7 +707,7 @@ heapinit(COLrec *col, const char *buf, i
strcpy(type, "bte");
if ((t = ATOMindex(type)) < 0)
t = ATOMunknown_find(type);
- else if (BATatoms[t].varsized != var)
+ else if (var != (t == TYPE_void || BATatoms[t].atomPut != NULL))
GDKfatal("BBPinit: inconsistent entry in BBP.dir: %s.varsized
mismatch for BAT " LLFMT "\n", HT, batid);
else if (var && t != 0 ?
BATatoms[t].size < width ||
diff --git a/monetdb5/mal/mal_atom.c b/monetdb5/mal/mal_atom.c
--- a/monetdb5/mal/mal_atom.c
+++ b/monetdb5/mal/mal_atom.c
@@ -146,7 +146,6 @@ int malAtomProperty(MalBlkPtr mb, InstrP
/* heap function makes an atom varsized */
BATatoms[tpe].size = sizeof(var_t);
assert_shift_width(ATOMelmshift(BATatoms[tpe].size),
BATatoms[tpe].size);
- BATatoms[tpe].varsized = 1;
BATatoms[tpe].align = sizeof(var_t);
BATatoms[tpe].atomHeap = (void (*)(Heap *,
size_t))pci->fcn;
setAtomName(pci);
@@ -207,13 +206,6 @@ int malAtomProperty(MalBlkPtr mb, InstrP
return 1;
}
break;
- case 'v':
- if (idcmp("varsized", name) == 0 && pci->argc == 1) {
- BATatoms[tpe].varsized = (*(long (*)(void))pci->fcn)();
- setAtomName(pci);
- return 1;
- }
- break;
case 'r':
if (idcmp("read", name) == 0 && pci->argc == 1) {
BATatoms[tpe].atomRead = (void *(*)(void *, stream *,
size_t))pci->fcn;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list