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