Changeset: 480797554eb5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=480797554eb5
Modified Files:
        monetdb5/mal/mal_interpreter.mx
Branch: jacqueline
Log Message:

Merged from default


diffs (truncated from 2538 to 300 lines):

diff --git a/HowToStart.rst b/HowToStart.rst
--- a/HowToStart.rst
+++ b/HowToStart.rst
@@ -108,12 +108,18 @@ pcre
     monetdb5 and sql.  Most prominently, complex SQL LIKE expressions are
     evaluated with help of the pcre library.
 
+openssl
+    The `OpenSSL`__ toolkit implementing SSL v2/v3 and TLS protocols is used
+    for its with full-strength world-wide cryptography functions.  The
+    client-server login procedures make use of these functions.
+
 __ http://dev.monetdb.org/downloads/sources/
 __ http://www.gnu.org/software/autoconf/
 __ http://www.gnu.org/software/automake/
 __ http://www.gnu.org/software/libtool/
 __ http://www.xmlsoft.org/
 __ http://www.pcre.org/
+__ http://www.openssl.org/
 
 Space Requirements
 ~~~~~~~~~~~~~~~~~~
@@ -207,7 +213,6 @@ Some other useful ``configure`` options 
 --enable-optimize       enable extra optimization default=[see `Configure 
defaults and recommendations`_ below]
 --enable-assert         enable assertions in the code default=[see `Configure 
defaults and recommendations`_ below]
 --enable-strict         enable strict compiler flags default=[see `Configure 
defaults and recommendations`_ below]
---enable-warning        enable extended compiler warnings default=off
 
 You can also add options such as ``CC=<compiler>`` to specify the
 compiler and compiler flags to use.
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -62,6 +62,7 @@ int BATmadvise(BAT *b, int hb, int tb, i
 BAT *BATmark(BAT *b, oid base);
 BAT *BATmark_grp(BAT *b, BAT *g, oid *base);
 BAT *BATmaterialize(BAT *b);
+BAT *BATmaterializeh(BAT *b);
 size_t BATmemsize(BAT *b, int dirty);
 BAT *BATmergejoin(BAT *l, BAT *r, BUN estimate);
 int BATmmap(BAT *b, int hb, int tb, int hh, int th, int force);
@@ -172,6 +173,7 @@ void *GDKmalloc(size_t size);
 size_t GDKmem_cursize(void);
 size_t GDKmem_heapsize(void);
 size_t GDKmem_inuse(void);
+void *GDKmmap(char *path, int mode, off_t off, size_t len);
 int GDKms(void);
 int GDKnr_threads;
 void GDKprotect(void);
@@ -197,7 +199,9 @@ void HASHremove(BAT *b);
 void HEAP_free(Heap *heap, var_t block);
 void HEAP_initialize(Heap *heap, size_t nbytes, size_t nprivate, int 
alignment);
 var_t HEAP_malloc(Heap *heap, size_t nbytes);
+int HEAPcopy(Heap *dst, Heap *src);
 int HEAPextend(Heap *h, size_t size);
+int HEAPfree(Heap *h);
 size_t HEAPmemsize(Heap *h);
 size_t HEAPvmsize(Heap *h);
 int MT_check_nr_cores(void);
@@ -228,6 +232,30 @@ int OIDfromStr(str src, int *len, oid **
 oid OIDnew(oid inc);
 int OIDtoStr(str *dst, int *len, oid *src);
 void PROPdestroy(PROPrec *p);
+BUN SORTfnd_bte(BAT *b, ptr v);
+BUN SORTfnd_dbl(BAT *b, ptr v);
+BUN SORTfnd_flt(BAT *b, ptr v);
+BUN SORTfnd_int(BAT *b, ptr v);
+BUN SORTfnd_lng(BAT *b, ptr v);
+BUN SORTfnd_loc(BAT *b, ptr v);
+BUN SORTfnd_sht(BAT *b, ptr v);
+BUN SORTfnd_var(BAT *b, ptr v);
+BUN SORTfndfirst_bte(BAT *b, ptr v);
+BUN SORTfndfirst_dbl(BAT *b, ptr v);
+BUN SORTfndfirst_flt(BAT *b, ptr v);
+BUN SORTfndfirst_int(BAT *b, ptr v);
+BUN SORTfndfirst_lng(BAT *b, ptr v);
+BUN SORTfndfirst_loc(BAT *b, ptr v);
+BUN SORTfndfirst_sht(BAT *b, ptr v);
+BUN SORTfndfirst_var(BAT *b, ptr v);
+BUN SORTfndlast_bte(BAT *b, ptr v);
+BUN SORTfndlast_dbl(BAT *b, ptr v);
+BUN SORTfndlast_flt(BAT *b, ptr v);
+BUN SORTfndlast_int(BAT *b, ptr v);
+BUN SORTfndlast_lng(BAT *b, ptr v);
+BUN SORTfndlast_loc(BAT *b, ptr v);
+BUN SORTfndlast_sht(BAT *b, ptr v);
+BUN SORTfndlast_var(BAT *b, ptr v);
 void *THRdata[16];
 void THRdel(Thread t);
 Thread THRget(int tid);
@@ -254,6 +282,8 @@ void VIEWbounds(BAT *b, BAT *view, BUN l
 BAT *VIEWcombine(BAT *b);
 BAT *VIEWcreate(BAT *h, BAT *t);
 BAT *VIEWcreate_(BAT *h, BAT *t, int stable);
+BAT *VIEWhead(BAT *b);
+BAT *VIEWhead_(BAT *b, int mode);
 size_t _MT_npages;
 size_t _MT_pagesize;
 int batFromStr(str src, int *len, bat **dst);
@@ -951,7 +981,6 @@ str BLOBblob_blob(blob **d, blob **s);
 str BLOBblob_fromstr(blob **b, str *d);
 void BLOBconvert(blob *b, int direction);
 void BLOBdel(Heap *h, var_t *index);
-void BLOBdestroy(blob *b);
 str BLOBeoln(char *src, char *end);
 str BLOBfromblob(str *retval, blob **b);
 str BLOBfromidx(str *retval, blob **binp, int *index);
diff --git a/gdk/gdk.mx b/gdk/gdk.mx
--- a/gdk/gdk.mx
+++ b/gdk/gdk.mx
@@ -687,11 +687,6 @@ typedef struct {
  * the size of this piece of memory.
  */
 typedef struct {
-       bat id;
-       int stamp;
-} batrec;
-
-typedef struct {
        union {                 /* storage is first in the record */
                int ival;
                oid oval;
@@ -702,7 +697,6 @@ typedef struct {
                ptr pval;
                struct BAT *Bval; /* this field is only used by mel */
                bat bval;
-               batrec br;      /* bval + stamp */
                str sval;
                dbl dval;
                lng lval;
@@ -2114,7 +2108,6 @@ typedef struct {
        void (*atomConvert) (ptr v, int direction);
        int (*atomFix) (ptr atom);
        int (*atomUnfix) (ptr atom);
-       void (*atomDestroy) (ptr atom);
 
        /* varsized atom-only ADT functions */
        var_t (*atomPut) (Heap *, var_t *off, ptr src);
diff --git a/gdk/gdk_atoms.mx b/gdk/gdk_atoms.mx
--- a/gdk/gdk_atoms.mx
+++ b/gdk/gdk_atoms.mx
@@ -2088,38 +2088,55 @@ atomDesc BATatoms[MAXATOMS] = {
         (int (*)(ptr, ptr)) lngCmp,
         (BUN (*)(ptr)) lngHash, 0,
 #endif
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"bit", TYPE_bte, 1, sizeof(bit), sizeof(bit), 0, 0, (ptr) &bte_nil,
         (int (*)(str, int *, ptr *)) bitFromStr, (int (*)(str *, int *, ptr)) 
bitToStr,
         (void *(*)(void *, stream *, size_t)) bitRead, (int (*)(void *, stream 
*, size_t)) bitWrite,
         (int (*)(ptr, ptr)) bteCmp,
         (BUN (*)(ptr)) bteHash, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"bte", TYPE_bte, 1, sizeof(bte), sizeof(bte), 0, 0, (ptr) &bte_nil,
         (int (*)(str, int *, ptr *)) bteFromStr, (int (*)(str *, int *, ptr)) 
bteToStr,
         (void *(*)(void *, stream *, size_t)) bteRead, (int (*)(void *, stream 
*, size_t)) bteWrite,
         (int (*)(ptr, ptr)) bteCmp,
         (BUN (*)(ptr)) bteHash, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"sht", TYPE_sht, 1, sizeof(sht), sizeof(sht), 0, 0, (ptr) &sht_nil,
         (int (*)(str, int *, ptr *)) shtFromStr, (int (*)(str *, int *, ptr)) 
shtToStr,
         (void *(*)(void *, stream *, size_t)) shtRead, (int (*)(void *, stream 
*, size_t)) shtWrite,
         (int (*)(ptr, ptr)) shtCmp,
         (BUN (*)(ptr)) shtHash, (void (*)(ptr, int)) shtConvert,
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"BAT", TYPE_int, 1, sizeof(bat), sizeof(bat), 0, 0, (ptr) &int_nil,
         (int (*)(str, int *, ptr *)) batFromStr, (int (*)(str *, int *, ptr)) 
batToStr,
         (void *(*)(void *, stream *, size_t)) batRead, (int (*)(void *, stream 
*, size_t)) batWrite,
         (int (*)(ptr, ptr)) intCmp,
         (BUN (*)(ptr)) intHash, (void (*)(ptr, int)) intConvert,
         (int (*)(ptr)) batFix, (int (*)(ptr)) batUnfix,
-        0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0},
        {"int", TYPE_int, 1, sizeof(int), sizeof(int), 0, 0, (ptr) &int_nil,
         (int (*)(str, int *, ptr *)) intFromStr, (int (*)(str *, int *, ptr)) 
intToStr,
         (void *(*)(void *, stream *, size_t)) intRead, (int (*)(void *, stream 
*, size_t)) intWrite,
         (int (*)(ptr, ptr)) intCmp,
         (BUN (*)(ptr)) intHash, (void (*)(ptr, int)) intConvert,
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"oid",
 #if SIZEOF_OID == SIZEOF_INT
         TYPE_int, 1, sizeof(oid), sizeof(oid), 0, 0, (ptr) &int_nil,
@@ -2134,7 +2151,10 @@ atomDesc BATatoms[MAXATOMS] = {
         (int (*)(ptr, ptr)) lngCmp,
         (BUN (*)(ptr)) lngHash, (void (*)(ptr, int)) lngConvert,
 #endif
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"wrd",
 #if SIZEOF_WRD == SIZEOF_INT
         TYPE_int, 1, sizeof(wrd), sizeof(wrd), 0, 0, (ptr) &int_nil,
@@ -2149,7 +2169,10 @@ atomDesc BATatoms[MAXATOMS] = {
         (int (*)(ptr, ptr)) lngCmp,
         (BUN (*)(ptr)) lngHash, (void (*)(ptr, int)) lngConvert,
 #endif
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"ptr",
 #if SIZEOF_VOID_P == SIZEOF_INT
         TYPE_ptr, 1, sizeof(ptr), sizeof(ptr), 0, 0, (ptr) &ptr_nil,
@@ -2164,31 +2187,43 @@ atomDesc BATatoms[MAXATOMS] = {
         (int (*)(ptr, ptr)) lngCmp,
         (BUN (*)(ptr)) lngHash, (void (*)(ptr, int)) lngConvert,
 #endif
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"flt", TYPE_flt, 1, sizeof(flt), sizeof(flt), 0, 0, (ptr) &flt_nil,
         (int (*)(str, int *, ptr *)) fltFromStr, (int (*)(str *, int *, ptr)) 
fltToStr,
         (void *(*)(void *, stream *, size_t)) fltRead, (int (*)(void *, stream 
*, size_t)) fltWrite,
         (int (*)(ptr, ptr)) fltCmp,
         (BUN (*)(ptr)) intHash, (void (*)(ptr, int)) intConvert,
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"dbl", TYPE_dbl, 1, sizeof(dbl), sizeof(dbl), 0, 0, (ptr) &dbl_nil,
         (int (*)(str, int *, ptr *)) dblFromStr, (int (*)(str *, int *, ptr)) 
dblToStr,
         (void *(*)(void *, stream *, size_t)) dblRead, (int (*)(void *, stream 
*, size_t)) dblWrite,
         (int (*)(ptr, ptr)) dblCmp,
         (BUN (*)(ptr)) lngHash, (void (*)(ptr, int)) lngConvert,
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"lng", TYPE_lng, 1, sizeof(lng), sizeof(lng), 0, 0, (ptr) &lng_nil,
         (int (*)(str, int *, ptr *)) lngFromStr, (int (*)(str *, int *, ptr)) 
lngToStr,
         (void *(*)(void *, stream *, size_t)) lngRead, (int (*)(void *, stream 
*, size_t)) lngWrite,
         (int (*)(ptr, ptr)) lngCmp,
         (BUN (*)(ptr)) lngHash, (void (*)(ptr, int)) lngConvert,
-        0, 0, 0, 0, 0, 0, 0, 0, 0},
+        0, 0,
+        0, 0,
+        0, 0,
+        0, 0},
        {"str", TYPE_str, 1, sizeof(var_t), sizeof(var_t), 0, 1, (ptr) str_nil,
         (int (*)(str, int *, ptr *)) strFromStr, (int (*)(str *, int *, ptr)) 
strToStr,
         (void *(*)(void *, stream *, size_t)) strRead, (int (*)(void *, stream 
*, size_t)) strWrite,
         (int (*)(ptr, ptr)) strCmp,
         (BUN (*)(ptr)) strHash, 0,
-        0, 0, GDKfree,
+        0, 0,
         (var_t (*)(Heap *, var_t *, ptr)) strPut, 0,
         (int (*)(ptr)) strLen, strHeap,
         (void (*)(Heap *, int)) 0, 0},
diff --git a/geom/monetdb5/geom.mx b/geom/monetdb5/geom.mx
--- a/geom/monetdb5/geom.mx
+++ b/geom/monetdb5/geom.mx
@@ -492,7 +492,7 @@ geom_export str mbrFromString(mbr **w, s
 str
 mbrFromString(mbr **w, str *src)
 {
-       int len = 0;
+       int len = *w ? (int) sizeof(mbr) : 0;
        char *errbuf;
        str ex;
 
diff --git a/monetdb5/ChangeLog.Dec2011 b/monetdb5/ChangeLog.Dec2011
--- a/monetdb5/ChangeLog.Dec2011
+++ b/monetdb5/ChangeLog.Dec2011
@@ -1,3 +1,6 @@
 # ChangeLog file for MonetDB5
 # This file is updated with Maddlog
 
+* Thu Feb  9 2012 Sjoerd Mullender <sjo...@acm.org>
+- Fixed potential crash by dealing better with non-standard types.
+
diff --git a/monetdb5/mal/Makefile.ag b/monetdb5/mal/Makefile.ag
--- a/monetdb5/mal/Makefile.ag
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to