Changeset: 9e4598345e71 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9e4598345e71
Modified Files:
gdk/gdk.h
gdk/gdk_atoms.c
gdk/gdk_atoms.h
monetdb5/mal/mal_type.c
Branch: compressedcandidates
Log Message:
First part of TYPE_msk
diffs (113 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -534,14 +534,17 @@
#define TYPE_lng 10
#ifdef HAVE_HGE
#define TYPE_hge 11
-#define TYPE_str 12
+#define TYPE_msk 12
+#define TYPE_str 13
#else
-#define TYPE_str 11
+#define TYPE_msk 11
+#define TYPE_str 12
#endif
#define TYPE_any 255 /* limit types to <255! */
typedef signed char bit;
typedef signed char bte;
+typedef unsigned char msk;
typedef short sht;
#define SIZEOF_OID SIZEOF_SIZE_T
diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c
--- a/gdk/gdk_atoms.c
+++ b/gdk/gdk_atoms.c
@@ -234,6 +234,7 @@ ATOMisdescendant(int tpe, int parent)
const bte bte_nil = GDK_bte_min;
+const msk msk_nil = 0;
const sht sht_nil = GDK_sht_min;
const int int_nil = GDK_int_min;
const flt flt_nil = GDK_flt_min;
@@ -1889,6 +1890,27 @@ OIDtoStr(char **dst, size_t *len, const
return snprintf(*dst, *len, OIDFMT "@0", *src);
}
+/* MSK operations */
+ssize_t
+mskFromStr(const char *src, size_t *len, oid **dst)
+{
+ (void) dst;
+ (void) len;
+ (void) src;
+ GDKerror("mskFromStr: not yet implemented");
+ return 0;
+}
+
+ssize_t
+mskToStr(str *dst, size_t *len, const oid *src)
+{
+ (void) dst;
+ (void) len;
+ (void) src;
+ GDKerror("mskToStr: not yet implemented");
+ return 0;
+}
+
atomDesc BATatoms[MAXATOMS] = {
{"void", /* name */
TYPE_void, /* storage */
@@ -2137,6 +2159,24 @@ atomDesc BATatoms[MAXATOMS] = {
0, /* atomHeap */
},
#endif
+ {"msk", /* name */
+ TYPE_msk, /* storage */
+ 1, /* linear */
+ sizeof(msk), /* size */
+ (ptr) &msk_nil, /* atomNull */
+ (ssize_t (*)(const char *, size_t *, ptr *)) mskFromStr, /*
atomFromStr */
+ (ssize_t (*)(str *, size_t *, const void *)) mskToStr, /*
atomToStr */
+ (void *(*)(void *, stream *, size_t)) intRead, /* atomRead */
+ (gdk_return (*)(const void *, stream *, size_t)) intWrite, /*
atomWrite */
+ (int (*)(const void *, const void *)) intCmp, /* atomCmp */
+ (BUN (*)(const void *)) intHash, /* atomHash */
+ 0, /* atomFix */
+ 0, /* atomUnfix */
+ 0, /* atomPut */
+ 0, /* atomDel */
+ 0, /* atomLen */
+ 0, /* atomHeap */
+ },
{"str", /* name */
TYPE_str, /* storage */
1, /* linear */
diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h
--- a/gdk/gdk_atoms.h
+++ b/gdk/gdk_atoms.h
@@ -90,6 +90,8 @@ gdk_export ssize_t fltFromStr(const char
gdk_export ssize_t fltToStr(str *dst, size_t *len, const flt *src);
gdk_export ssize_t dblFromStr(const char *src, size_t *len, dbl **dst);
gdk_export ssize_t dblToStr(str *dst, size_t *len, const dbl *src);
+gdk_export ssize_t mskFromStr(const char *src, size_t *len, oid **dst);
+gdk_export ssize_t mskToStr(str *dst, size_t *len, const oid *src);
gdk_export ssize_t GDKstrFromStr(unsigned char *dst, const unsigned char *src,
ssize_t len);
gdk_export ssize_t strFromStr(const char *src, size_t *len, str *dst);
gdk_export BUN strHash(const char *s);
diff --git a/monetdb5/mal/mal_type.c b/monetdb5/mal/mal_type.c
--- a/monetdb5/mal/mal_type.c
+++ b/monetdb5/mal/mal_type.c
@@ -138,6 +138,10 @@ getAtomIndex(const char *nme, int len, i
if (qt("lng"))
return TYPE_lng;
break;
+ case 'm':
+ if (qt("msk"))
+ return TYPE_msk;
+ break;
case 'p':
if (qt("ptr"))
return TYPE_ptr;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list