Changeset: 801aee9c9a8c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=801aee9c9a8c
Added Files:
        sql/test/BugTracker-2019/Tests/double-free.Bug-6757.sql
        sql/test/BugTracker-2019/Tests/double-free.Bug-6757.stable.err
        sql/test/BugTracker-2019/Tests/double-free.Bug-6757.stable.out
        sql/test/BugTracker-2019/Tests/python-loader-string.Bug-6759.py
        sql/test/BugTracker-2019/Tests/python-loader-string.Bug-6759.stable.err
        sql/test/BugTracker-2019/Tests/python-loader-string.Bug-6759.stable.out
        sql/test/BugTracker-2019/Tests/select-char.Bug-6761.sql
        sql/test/BugTracker-2019/Tests/select-char.Bug-6761.stable.err
        sql/test/BugTracker-2019/Tests/select-char.Bug-6761.stable.out
Modified Files:
        MonetDB.spec
        NT/rules.msc
        clients/mapiclient/mclient.c
        clients/mapiclient/stethoscope.c
        common/stream/stream.c
        common/utils/matomic.h
        configure.ag
        debian/control
        debian/fix-deb.sh
        debian/monetdb-testing-python.install
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_hash.c
        gdk/gdk_hash.h
        gdk/gdk_heap.c
        gdk/gdk_imprints.c
        gdk/gdk_interprocess.c
        gdk/gdk_logger.c
        gdk/gdk_orderidx.c
        gdk/gdk_private.h
        gdk/gdk_storage.c
        gdk/gdk_system.h
        gdk/gdk_utils.c
        monetdb5/mal/mal_dataflow.c
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/tablet.c
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_result.h
        sql/backends/monet5/sql_upgrades.c
        sql/common/sql_types.c
        sql/common/sql_types.h
        sql/include/sql_catalog.h
        sql/rel.txt
        sql/server/rel_optimizer.c
        sql/server/rel_psm.c
        sql/server/rel_psm.h
        sql/server/rel_schema.c
        sql/server/rel_select.c
        sql/server/rel_semantic.c
        sql/server/rel_unnest.c
        sql/server/rel_unnest.h
        sql/server/sql_env.c
        sql/server/sql_mvc.c
        sql/server/sql_mvc.h
        sql/server/sql_parser.y
        sql/server/sql_qc.c
        sql/server/sql_qc.h
        sql/server/sql_tokens.h
        sql/storage/bat/res_table.c
        sql/storage/sql_catalog.c
        sql/storage/sql_storage.h
        sql/storage/store.c
        sql/storage/store_dependency.c
        sql/test/BugTracker-2009/Tests/All
        
sql/test/BugTracker-2009/Tests/insert_into_done_by_procedure.SF-2607293.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out
        sql/test/BugTracker-2019/Tests/All
        
sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.sql
        sql/test/BugTracker/Tests/All
        sql/test/SQLite_regress/sqllogictest/sqllogictest.py
        sql/test/analytics/Tests/analytics09.stable.err
        sql/test/analytics/Tests/analytics09.stable.out
        sql/test/subquery/Tests/any.sql
        sql/test/subquery/Tests/any.stable.err
        sql/test/subquery/Tests/any.stable.out
        sql/test/subquery/Tests/correlated.stable.err
        sql/test/subquery/Tests/correlated.stable.out
        sql/test/subquery/Tests/subquery.sql
        sql/test/subquery/Tests/subquery.stable.err
        sql/test/subquery/Tests/subquery2.sql
        sql/test/testdb-reload/Tests/reload.py
        testing/Mtest.py.in
        testing/process.py
        tools/merovingian/daemon/client.c
        tools/merovingian/daemon/controlrunner.c
        tools/merovingian/daemon/discoveryrunner.c
        tools/merovingian/daemon/merovingian.c
        tools/merovingian/daemon/multiplex-funnel.c
Branch: json
Log Message:

Merge with default


diffs (truncated from 8355 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -84,9 +84,9 @@
 %bcond_without rintegration
 %endif
 
-# On Fedora and RHEL 7, create the MonetDB-python2 package.
+# On Fedora <= 30 and RHEL 7, create the MonetDB-python2 package.
 # On RHEL 6, numpy is too old.
-%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
+%if 0%{?rhel} == 7 || %{!?fedora:1000}%{?fedora} <= 30
 %bcond_without py2integration
 %endif
 %if %{?rhel:0}%{!?rhel:1}
@@ -164,12 +164,7 @@ BuildRequires: python-devel
 # RedHat Enterprise Linux calls it simply numpy
 BuildRequires: numpy
 %else
-%if (0%{?fedora} >= 24)
 BuildRequires: python2-numpy
-%else
-# Fedora <= 23 doesn't have python2-numpy
-BuildRequires: numpy
-%endif
 %endif
 %endif
 %if %{with py3integration}
@@ -1053,7 +1048,12 @@ do
   install -p -m 644 buildtools/selinux/monetdb.pp.${selinuxvariant} \
     %{buildroot}%{_datadir}/selinux/${selinuxvariant}/monetdb.pp
 done
-/usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux
+if [ -x /usr/sbin/hardlink ]; then
+    /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux
+else
+    # Fedora 31
+    /usr/bin/hardlink -cv %{buildroot}%{_datadir}/selinux
+fi
 %endif
 
 %post -p /sbin/ldconfig
diff --git a/NT/rules.msc b/NT/rules.msc
--- a/NT/rules.msc
+++ b/NT/rules.msc
@@ -42,6 +42,7 @@ BITSMCHN=X64
 # force W_CFLAGS off in debug builds: using icc, you get way more
 # warnings about casts which results in the code being uncompilable
 W_CFLAGS =
+HAVE_MAL_DEBUGGER = 1
 !ENDIF
 !IFDEF ENABLE_STRICT
 # strict mode: treat warnings as errors
@@ -386,6 +387,11 @@ create_winconfig_conds_new_py:
 !ELSE
        $(ECHO) HAVE_SHP_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py"
 !ENDIF
+!IFDEF HAVE_MAL_DEBUGGER
+       $(ECHO) HAVE_MAL_DEBUGGER_FALSE='#' >> 
"$(TOPDIR)\winconfig_conds_new.py"
+!ELSE
+       $(ECHO) HAVE_MAL_DEBUGGER_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py"
+!ENDIF
 !IFDEF HAVE_SQL
        $(ECHO) HAVE_SQL_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py"
 !ELSE
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -3664,6 +3664,9 @@ main(int argc, char **argv)
                if (mode == SQL)
                        dump_version(mid, toConsole, "Database:");
 
+               mnstr_printf(toConsole, "FOLLOW US on 
https://twitter.com/MonetDB ");
+               mnstr_printf(toConsole, "or 
https://github.com/MonetDB/MonetDB\n";);
+
                mnstr_printf(toConsole, "Type \\q to quit, \\? for a list of 
available commands\n");
                if (mode == SQL)
                        mnstr_printf(toConsole, "auto commit mode: %s\n",
diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c
--- a/clients/mapiclient/stethoscope.c
+++ b/clients/mapiclient/stethoscope.c
@@ -110,7 +110,7 @@ renderEvent(EventRecord *ev){
                return;
        fprintf(s, "[ ");
        fprintf(s, "%"PRId64",  ", ev->eventnr);
-       printf("\"%s\", ", ev->time);
+       fprintf(s, "\"%s\",     ", ev->time);
        if( ev->function && *ev->function)
                fprintf(s, "\"%s[%d]%d\",       ", ev->function, ev->pc, 
ev->tag);
        else
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -73,6 +73,9 @@
 # include <netinet/tcp.h>
 # include <netdb.h>
 #endif
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#endif
 
 #ifdef NATIVE_WIN32
 #include <io.h>
@@ -2489,9 +2492,21 @@ socket_read(stream *restrict s, void *re
 #endif
        for (;;) {
                if (s->timeout) {
+                       int ret;
+#ifdef HAVE_POLL
+                       struct pollfd pfd;
+
+                       pfd = (struct pollfd) {.fd = s->stream_data.s,
+                                              .events = POLLIN};
+
+                       ret = poll(&pfd, 1, (int) s->timeout);
+                       if (ret == -1 || (pfd.revents & POLLERR)) {
+                               s->errnr = MNSTR_READ_ERROR;
+                               return -1;
+                       }
+#else
                        struct timeval tv;
                        fd_set fds;
-                       int ret;
 
                        errno = 0;
 #ifdef _MSC_VER
@@ -2512,6 +2527,7 @@ socket_read(stream *restrict s, void *re
                                s->errnr = MNSTR_READ_ERROR;
                                return -1;
                        }
+#endif
                        if (ret == 0) {
                                if (s->timeout_func == NULL || 
s->timeout_func()) {
                                        s->errnr = MNSTR_TIMEOUT;
@@ -2520,7 +2536,11 @@ socket_read(stream *restrict s, void *re
                                continue;
                        }
                        assert(ret == 1);
+#ifdef HAVE_POLL
+                       assert(pfd.revents & (POLLIN|POLLHUP));
+#else
                        assert(FD_ISSET(s->stream_data.s, &fds));
+#endif
                }
 #ifdef _MSC_VER
                nr = recv(s->stream_data.s, buf, (int) size, 0);
@@ -2617,9 +2637,20 @@ static int
 socket_isalive(stream *s)
 {
        SOCKET fd = s->stream_data.s;
-       char buffer[32];
+#ifdef HAVE_POLL
+       struct pollfd pfd;
+       int ret;
+       pfd = (struct pollfd){.fd = fd};
+       if ((ret = poll(&pfd, 1, 0)) == 0)
+               return 1;
+       if (ret < 0 || pfd.revents & (POLLERR | POLLHUP))
+               return 0;
+       assert(0);              /* unexpected revents value */
+       return 0;
+#else
        fd_set fds;
        struct timeval t;
+       char buffer[32];
 
        t.tv_sec = 0;
        t.tv_usec = 0;
@@ -2633,6 +2664,7 @@ socket_isalive(stream *s)
 #endif
                &fds, NULL, NULL, &t) <= 0 ||
                recv(fd, buffer, sizeof(buffer), MSG_PEEK | MSG_DONTWAIT) != 0;
+#endif
 }
 
 static stream *
diff --git a/common/utils/matomic.h b/common/utils/matomic.h
--- a/common/utils/matomic.h
+++ b/common/utils/matomic.h
@@ -476,7 +476,7 @@ ATOMIC_CLEAR(ATOMIC_FLAG *var)
        pthread_mutex_unlock(&var->lck);
 }
 
-#define USE_PTHREAD_LOCKS              /* must use pthread locks */
+#define USE_NATIVE_LOCKS               /* must use pthread locks */
 
 #endif
 
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -838,6 +838,7 @@ AS_VAR_IF([enable_assert], [no], [
        AC_MSG_RESULT([no])],
        [AC_MSG_RESULT([yes])])
 
+AM_CONDITIONAL([HAVE_MAL_DEBUGGER], [test "x$enable_assert" != xno])
 
 AC_MSG_CHECKING([for --enable-optimize])
 AS_CASE([$enable_optimize], [yes], [
@@ -1012,7 +1013,7 @@ AC_PROG_LN_S
 AC_CHECK_PROGS([DIFF], [gdiff diff])
 AC_DEFINE_UNQUOTED([DIFF], ["$DIFF"], [Program to perform diffs])
 
-AC_CHECK_PROGS([RPMBUILD], [rpmbuild])
+AC_CHECK_PROG([RPMBUILD], [rpmbuild], [rpmbuild], [false])
 
 # This is how we use the various Python-related configuration variables.
 # PYTHON - the Python interpreter we use for testing.  This can either
@@ -2257,6 +2258,7 @@ AC_CHECK_HEADERS([ \
        mach-o/dyld.h \
        netdb.h \
        netinet/in.h \
+       poll.h \
        procfs.h \
        pwd.h \
        strings.h \
@@ -2267,7 +2269,6 @@ AC_CHECK_HEADERS([ \
        sys/param.h \
        sys/resource.h \
        sys/socket.h \
-       sys/sysctl.h \
        sys/time.h \
        sys/times.h \
        sys/types.h \
@@ -2282,12 +2283,14 @@ AC_CHECK_HEADERS([ \
        ])
 
 # on OpenBSD, sys/sysctl.h requires sys/param.h to be included beforehand
-AC_CHECK_HEADERS([sys/sysctl.h], [], [],
-[
-  @%:@ifdef HAVE_SYS_PARAM_H
-  @%:@ include <sys/param.h>
-  @%:@endif
-])
+AS_CASE([$host_os],
+       [linux*], [],
+       [AC_CHECK_HEADERS([sys/sysctl.h], [], [],
+               [
+                 @%:@ifdef HAVE_SYS_PARAM_H
+                 @%:@ include <sys/param.h>
+                 @%:@endif
+               ])])
 
 
 SOCKET_LIBS=""
@@ -2487,6 +2490,7 @@ AC_CHECK_FUNCS([\
        nl_langinfo \
        _NSGetExecutablePath \
        pipe2 \
+       poll \
        popen \
        posix_fadvise \
        posix_fallocate \
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,7 @@ Build-Depends: debhelper (>= 9), autotoo
  libssl-dev, libxml2-dev, pkg-config,
  python, python-dev, python-numpy,
  python3, python3-dev, python3-numpy,
- unixodbc-dev, uuid-dev, zlib1g-dev, liblas-c-dev (>= 1.8.0), r-base,
+ unixodbc-dev, uuid-dev, zlib1g-dev, liblas-c-dev (>= 1.8.0), r-base-dev,
  libcfitsio-dev
 Standards-Version: 3.8.0
 X-Python-Version: >= 2.6
diff --git a/debian/fix-deb.sh b/debian/fix-deb.sh
--- a/debian/fix-deb.sh
+++ b/debian/fix-deb.sh
@@ -49,17 +49,19 @@ jessie)
     # Debian 8 still have php5-cli and doesn't have php*-sockets;
     # newer ones use php-cli and do have php-sockets.
     sed -i 's/php-cli/php5-cli/;s/, *php-sockets//' debian/control
-    ;;
-esac
 
-case $SUITE in
-jessie)
     # The Python 3 version is too old for py3integration.
     sed -i '/^Package: monetdb-python3/,/^$/d' debian/control
     sed -i 's/ python3-dev, python3-numpy,//' debian/control
     rm debian/monetdb-python3.install
     sed -i 's/py3integration=yes/py3integration=no/' debian/rules
-;;
+    ;;
+eoan)
+    # Ubuntu 19.10 (Eoan Ermine) doesn't have liblas-c-dev, hence no LiDAR
+    sed -i 's/ liblas-c-dev[^,]*,//' debian/control
+    sed -i '/^Package: libmonetdb5-server-lidar/,/^$/d' debian/control
+    sed -i '/--enable-lidar=yes/s/yes/no/;/--enable-liblas=yes/s/yes/no/' 
debian/rules
+    ;;
 esac
 
 # debhelper compatibility 9 and later support multiarch by using
diff --git a/debian/monetdb-testing-python.install 
b/debian/monetdb-testing-python.install
--- a/debian/monetdb-testing-python.install
+++ b/debian/monetdb-testing-python.install
@@ -1,3 +1,3 @@
 debian/tmp/usr/bin/Mapprove.py usr/bin
 debian/tmp/usr/bin/Mtest.py usr/bin
-debian/tmp/usr/lib/python3.*/*-packages/MonetDBtesting/*
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to