Changeset: 2e9fc4c2462b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2e9fc4c2462b
Modified Files:
        MonetDB.spec
        buildtools/ChangeLog.Jan2014
        clients/mapiclient/mclient.c
        configure.ag
        debian/control
        gdk/gdk_private.h
        gdk/gdk_system.h
        gdk/gdk_utils.c
        monetdb5/mal/mal_atom.c
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_exception.c
        monetdb5/mal/mal_import.c
        monetdb5/mal/mal_recycle.c
        monetdb5/mal/mal_resource.c
        monetdb5/modules/atoms/xml.c
        monetdb5/modules/mal/Tests/inspect05.stable.out
        sql/backends/monet5/LSST/lsst.c
        sql/backends/monet5/sql_cast.c
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/vaults/fits.c
        sql/server/rel_select.c
        sql/test/leaks/Tests/check1_gsl.stable.out
        sql/test/leaks/Tests/check1_nogeom.stable.out
        sql/test/leaks/Tests/check2_gsl.stable.out
        sql/test/leaks/Tests/check2_nogeom.stable.out
        sql/test/leaks/Tests/check3_gsl.stable.out
        sql/test/leaks/Tests/check3_nogeom.stable.out
        sql/test/leaks/Tests/check4_gsl.stable.out
        sql/test/leaks/Tests/check4_nogeom.stable.out
        sql/test/leaks/Tests/check5_gsl.stable.out
        sql/test/leaks/Tests/check5_nogeom.stable.out
        testing/Mtest.py.in
        tools/merovingian/daemon/argvcmds.c
        tools/merovingian/daemon/client.c
        tools/merovingian/daemon/controlrunner.c
        tools/merovingian/daemon/proxy.c
        tools/merovingian/utils/control.c
        tools/merovingian/utils/database.c
        tools/merovingian/utils/properties.c
        tools/merovingian/utils/properties.h
Branch: RIntegration-default
Log Message:

merge with default


diffs (truncated from 1596 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -52,7 +52,7 @@ BuildRequires: bzip2-devel
 # BuildRequires: cfitsio-devel
 BuildRequires: flex
 %if %{?with_geos:1}%{!?with_geos:0}
-BuildRequires: geos-devel >= 2.2.0
+BuildRequires: geos-devel >= 3.0.0
 %endif
 BuildRequires: gsl-devel
 BuildRequires: libcurl-devel
diff --git a/buildtools/ChangeLog.Jan2014 b/buildtools/ChangeLog.Jan2014
--- a/buildtools/ChangeLog.Jan2014
+++ b/buildtools/ChangeLog.Jan2014
@@ -1,3 +1,8 @@
 # ChangeLog file for buildtools
 # This file is updated with Maddlog
 
+* Tue Jun  3 2014 Sjoerd Mullender <[email protected]>
+- Fix configure to continue without Python if the python binary is
+  too old.  This instead of always aborting configure if python happens
+  to be too old.
+
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -2027,7 +2027,6 @@ doFile(Mapi mid, const char *file, int u
                        /* test for special commands */
                        if (mode != MAL)
                                while (length > 0 &&
-                                      (*line & ~0x7F) == 0 &&
                                       isascii((int) *line) &&
                                       isspace((int) *line)) {
                                        line++;
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -288,6 +288,10 @@ case $enable_control in
        *) enable_control=no;;
 esac
 
+AC_ARG_ENABLE(static-analysis,
+       AS_HELP_STRING([--enable-static-analysis], [configure for static code 
analysis (use only if you know what you are doing)]),
+       AC_DEFINE([STATIC_CODE_ANALYSIS], 1, [compiling for static code 
analysis]))
+
 dnl RIPEMD160 is patent free, academic and European, but unfortunately
 dnl can't use it by default, as that would exclude JDBC usage (Java
 dnl doesn't natively support RIPEMD160).
@@ -1227,25 +1231,22 @@ case "$have_python3" in
                ;;
 esac
 
+dnl Figure out a default for PYTHON2 or PYTHON3
 AC_PATH_PROG(PYTHON,python,no,$PATH)
-PYTHON_MAJ=
+PYTHON_MAJ=unknown
 if test "x$PYTHON" != xno; then
        AC_MSG_CHECKING([major version of $PYTHON])
        case "`"$PYTHON" -V 2>&1`" in
-               "Python 2."[[67]]*)  # older Pythons don't get Python3 syntax
+               "Python 2."[[67]]*)
                        PYTHON_MAJ=2
                        ;;
                "Python 3."*)
                        PYTHON_MAJ=3
                        ;;
-               *)
-                       AC_MSG_ERROR([unknown or unsupported Python version])
-                       ;;
        esac
        AC_MSG_RESULT($PYTHON_MAJ)
 fi
 
-
 if test "x$have_python2" != xno; then
        if test x$cross_compiling != xyes; then
                AC_PATH_PROG(PYTHON2,$PYTHON2,no,$PATH)
@@ -1259,6 +1260,19 @@ if test "x$have_python2" != xno; then
                                have_python2=no
                                why_have_python2="(Python 2 executable not 
found)"
                        fi
+               else
+                       case "`"$PYTHON2" -V 2>&1`" in
+                       "Python 2."[[67]]*)
+                               ;;
+                       *)
+                               if test "x$have_python2" = xauto; then
+                                       have_python2=no
+                                       why_have_python2="(Python 2 executable 
too old)"
+                               else
+                                       AC_MSG_ERROR([Python 2 executable too 
old])
+                               fi
+                               ;;
+                       esac
                fi
        fi
 fi
@@ -2397,8 +2411,7 @@ AC_ARG_WITH(geos,
        have_geos="$withval")
 case "$enable_geom" in
 yes|auto)
-       GEOS_VERSION_REQUIRED_MIN=2.2.0
-       dnl GEOS_VERSION_REQUIRED_MAX=3.0.0
+       GEOS_VERSION_REQUIRED_MIN=3.0.0
        GEOS_CONFIG=''
        if test "x$have_geos" != xno; then
                case "$have_geos" in
@@ -3349,7 +3362,7 @@ echo
 echo "MonetDB is configured as follows:"
 echo "* Compilation specifics:"
 echo "    Host:     " ${ac_cv_host}
-echo "    Compiler: " ${CC}
+echo "    Compiler: " ${CC} "("${CC_ver}"; "${CC_version}")"
 echo "    CFLAGS:   " ${CFLAGS}
 echo "    X_CFLAGS: " ${X_CFLAGS}
 echo "    LDFLAGS:  " ${LDFLAGS}
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Vcs-Hg: http://dev.monetdb.org/hg/MonetD
 # for Build-Depends and Depends syntax, see
 # http://www.debian.org/doc/debian-policy/ch-relationships.html
 Build-Depends: debhelper (>= 5), autotools-dev, bison, flex, libbz2-dev,
- libcurl4-gnutls-dev, libgeos-dev, libgsl0-dev, libpcre3-dev,
+ libcurl4-gnutls-dev, libgeos-dev (>= 3.0.0), libgsl0-dev, libpcre3-dev,
  libreadline-gplv2-dev | libreadline-dev, libssl-dev, libxml2-dev, perl,
  ruby, rubygems | libyaml-0-2, unixodbc-dev, uuid-dev, zlib1g-dev,
  python, python3
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -461,7 +461,7 @@ GDKvm_cursize(void)
        do {                                                            \
                int _idx;                                               \
                                                                        \
-               ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, 
"heapinc"); \
+               (void) ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, 
mbyteslock, "heapinc"); \
                GDKmallidx(_idx, _memdelta);                            \
                (void) ATOMIC_INC(GDK_nmallocs[_idx], mbyteslock, "heapinc"); \
        } while (0)
@@ -470,15 +470,15 @@ GDKvm_cursize(void)
                ssize_t _memdelta = (ssize_t) (memdelta);               \
                int _idx;                                               \
                                                                        \
-               ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, 
"heapdec"); \
+               (void) ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, 
mbyteslock, "heapdec"); \
                GDKmallidx(_idx, _memdelta);                            \
                (void) ATOMIC_DEC(GDK_nmallocs[_idx], mbyteslock, "heapdec"); \
        } while (0)
 #else
 #define heapinc(_memdelta)                                             \
-       ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapinc")
+       (void) ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, 
"heapinc")
 #define heapdec(_memdelta)                                             \
-       ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapdec")
+       (void) ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, 
"heapdec")
 #endif
 
 #ifdef GDK_VM_KEEPHISTO
@@ -489,7 +489,7 @@ GDKvm_cursize(void)
                                                                        \
                GDKmallidx(_idx, _vmdelta);                             \
                (void) ATOMIC_INC(GDK_vm_nallocs[_idx], mbyteslock, fcn); \
-               ATOMIC_ADD(GDK_vm_cursize, _vmdelta, mbyteslock, fcn);  \
+               (void) ATOMIC_ADD(GDK_vm_cursize, _vmdelta, mbyteslock, fcn); \
        } while (0)
 #define memdec(vmdelta, fcn)                                           \
        do {                                                            \
@@ -498,13 +498,13 @@ GDKvm_cursize(void)
                                                                        \
                GDKmallidx(_idx, _vmdelta);                             \
                (void) ATOMIC_DEC(GDK_vm_nallocs[_idx], mbyteslock, fcn); \
-               ATOMIC_SUB(GDK_vm_cursize, _vmdelta, mbyteslock, fcn);  \
+               (void) ATOMIC_SUB(GDK_vm_cursize, _vmdelta, mbyteslock, fcn); \
        } while (0)
 #else
 #define meminc(vmdelta, fcn)                                           \
-       ATOMIC_ADD(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), MT_VMUNITLOG), 
mbyteslock, fcn)
+       (void) ATOMIC_ADD(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), 
MT_VMUNITLOG), mbyteslock, fcn)
 #define memdec(vmdelta, fcn)                                           \
-       ATOMIC_SUB(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), MT_VMUNITLOG), 
mbyteslock, fcn)
+       (void) ATOMIC_SUB(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), 
MT_VMUNITLOG), mbyteslock, fcn)
 #endif
 
 #ifndef STATIC_CODE_ANALYSIS
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
@@ -55,7 +55,7 @@ int malAtomProperty(MalBlkPtr mb, InstrP
        assert(pci != 0);
        name = getFunctionId(pci);
        tpe = getTypeIndex(getModuleId(pci), (int)strlen(getModuleId(pci)), 
TYPE_any);
-       if (tpe < 0 || tpe >= GDKatomcnt)
+       if (tpe < 0 || tpe >= GDKatomcnt || tpe >= MAXATOMS)
                return 0;
        assert(pci->fcn != NULL);
        switch (name[0]) {
diff --git a/monetdb5/mal/mal_builder.c b/monetdb5/mal/mal_builder.c
--- a/monetdb5/mal/mal_builder.c
+++ b/monetdb5/mal/mal_builder.c
@@ -437,7 +437,7 @@ pushNilType(MalBlkPtr mb, InstrPtr q, ch
        if (q == NULL)
                return NULL;
        idx= getTypeIndex(tpe, -1, TYPE_any);
-       if( idx < 0)
+       if( idx < 0 || idx >= GDKatomcnt || idx >= MAXATOMS)
                return NULL;
        cst.vtype=TYPE_void;
        cst.val.oval= oid_nil;
diff --git a/monetdb5/mal/mal_debugger.c b/monetdb5/mal/mal_debugger.c
--- a/monetdb5/mal/mal_debugger.c
+++ b/monetdb5/mal/mal_debugger.c
@@ -1203,8 +1203,7 @@ str
 runMALDebugger(Client cntxt, Symbol s)
 {
        cntxt->itrace = 'n';
-       runMAL(cntxt, s->def, 0, 0);
-       return MAL_SUCCEED;
+       return runMAL(cntxt, s->def, 0, 0);
 }
 
 /* Utilities
diff --git a/monetdb5/mal/mal_exception.c b/monetdb5/mal/mal_exception.c
--- a/monetdb5/mal/mal_exception.c
+++ b/monetdb5/mal/mal_exception.c
@@ -79,8 +79,14 @@ createExceptionInternal(enum malexceptio
        len += vsnprintf(message + len, GDKMAXERRLEN - len, format, ap);
        /* realloc to reduce amount of allocated memory (GDKMAXERRLEN is
         * way more than what is normally needed) */
-       if (len < GDKMAXERRLEN)
-               message = GDKrealloc(message, len + 1);
+       if (len < GDKMAXERRLEN) {
+               /* in the extremely unlikely case that GDKrealloc fails, the
+                * original pointer is still valid, so use that and don't
+                * overwrite */
+               char *newmsg = GDKrealloc(message, len + 1);
+               if (newmsg != NULL)
+                       message = newmsg;
+       }
        return message;
 }
 
diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c
--- a/monetdb5/mal/mal_import.c
+++ b/monetdb5/mal/mal_import.c
@@ -202,8 +202,10 @@ malInclude(Client c, str name, int listi
                        if ((s = malLoadScript(c, filename, &c->fdin)) == 0) {
                                parseMAL(c, c->curprg);
                                bstream_destroy(c->fdin);
-                       } else
+                       } else {
                                GDKfree(s); // not interested in error here
+                               s = MAL_SUCCEED;
+                       }
                        if (p)
                                filename = p + 1;
                } while (p);
@@ -391,8 +393,10 @@ callString(Client c, str s, int listing)
        if (old != s)
                GDKfree(s);
        b = (buffer *) GDKmalloc(sizeof(buffer));
-       if (b == NULL)
+       if (b == NULL){
+               GDKfree(qry);
                return -1;
+       }
        buffer_init(b, qry, len);
        if (MCpushClientInput(c, bstream_create(buffer_rastream(b, 
"callString"), b->len), listing, "") < 0) {
                GDKfree(b);
diff --git a/monetdb5/modules/atoms/xml.c b/monetdb5/modules/atoms/xml.c
--- a/monetdb5/modules/atoms/xml.c
+++ b/monetdb5/modules/atoms/xml.c
@@ -578,7 +578,7 @@ XMLconcat(xml *ret, xml *left, xml *righ
                        throw(MAL, "xml.concat", MAL_MALLOC_FAIL);
                snprintf(buf, len, "A%s %s", *left + 1, *right + 1);
        } else if (**left == 'C') {
-               len = strlen(*left) + strlen(*right);
+               len = strlen(*left) + strlen(*right) +2;
                buf = GDKmalloc(len);
                if (buf == NULL)
                        throw(MAL, "xml.concat", MAL_MALLOC_FAIL);
diff --git a/monetdb5/modules/mal/Tests/inspect05.stable.out 
b/monetdb5/modules/mal/Tests/inspect05.stable.out
--- a/monetdb5/modules/mal/Tests/inspect05.stable.out
+++ b/monetdb5/modules/mal/Tests/inspect05.stable.out
@@ -125,8 +125,6 @@ end main;
 [ "setHash",   "command",      "bat",  "(b:bat[:oid,:any_2],prop:bit):bit ",   
"BKCsetHash;"  ]
 [ "setHot",    "command",      "bat",  "(b:bat[:oid,:any_2]):void ",   
"BKChotBAT;"  ]
 [ "setKey",                      "command",      "bat",          
"(b:bat[:any_1,:any_2],mode:bit):bat[:any_1,:any_2] ",                          
"BKCsetkey;"                            ]
-[ "setMemoryAdvise",   "command",      "bat",  
"(b:bat[:oid,:any_2],mode:int):bit ",   "BKCmadvise2;"  ]
-[ "setMemoryAdvise",   "command",      "bat",  
"(b:bat[:oid,:any_2],head_mode:int,tail_mode:int,hheap_mode:int,theap_mode:int):bit
 ",  "BKCmadvise;"  ]
 [ "setMemoryMap",      "command",      "bat",  
"(b:bat[:oid,:any_2],mode:int):bit ",   "BKCmmap2;"  ]
 [ "setMemoryMap",      "command",      "bat",  
"(b:bat[:oid,:any_2],head_mode:int,tail_mode:int,hheap_mode:int,theap_mode:int):bit
 ",  "BKCmmap;"  ]
 [ "setName",   "command",      "bat",  "(b:bat[:oid,:any_2],s:str):void ",     
"BKCsetName;"  ]
diff --git a/sql/backends/monet5/LSST/lsst.c b/sql/backends/monet5/LSST/lsst.c
--- a/sql/backends/monet5/LSST/lsst.c
+++ b/sql/backends/monet5/LSST/lsst.c
@@ -409,7 +409,7 @@ str qserv_ptInSphPoly(MalBlkPtr mb, MalS
        for (i = 3; i <pci->argc; ++i) 
                nv[i-3] =  *(dbl*) getArgReference(stk,pci,i);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to