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 <[email protected]>
+- 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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list