Changeset: 207e2b432fb8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=207e2b432fb8 Added Files: sql/test/BugTracker-2018/Tests/multiple-count.Bug-6599.sql sql/test/BugTracker-2018/Tests/multiple-count.Bug-6599.stable.err sql/test/BugTracker-2018/Tests/multiple-count.Bug-6599.stable.out sql/test/Tests/copy-from-compressed.csv.bz2 sql/test/Tests/copy-from-compressed.csv.gz sql/test/Tests/copy-from-compressed.csv.raw sql/test/Tests/copy-from-compressed.csv.xz sql/test/Tests/copy-from-compressed.sql.in sql/test/Tests/copy-from-compressed.stable.err sql/test/Tests/copy-from-compressed.stable.out Modified Files: clients/mapiclient/dump.c common/stream/stream.c configure.ag sql/test/BugTracker-2018/Tests/All sql/test/Tests/All Branch: remote_auth Log Message:
Merge with default diffs (truncated from 1121 to 300 lines): diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c --- a/clients/mapiclient/dump.c +++ b/clients/mapiclient/dump.c @@ -1117,7 +1117,7 @@ describe_schema(Mapi mid, const char *sn MapiHdl hdl = NULL; char schemas[5120]; - snprintf(schemas, 5120, + snprintf(schemas, sizeof(schemas), "%s\n" "SELECT s.name, a.name, c.remark " "FROM sys.auths a, " diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -1630,7 +1630,18 @@ open_xzstream(const char *restrict filen strncmp(buf, UTF8BOM, UTF8BOMLENGTH) == 0) { s->isutf8 = 1; } else { - rewind(xz->fp); + FILE *fp = xz->fp; + lzma_ret ret; + lzma_end(&xz->strm); + ret = lzma_stream_decoder(&xz->strm, UINT64_MAX, LZMA_CONCATENATED); + if (ret != LZMA_OK) { + destroy(s); + free(xz); + fclose(fp); + return NULL; + } + rewind(fp); + xz->fp = fp; } } return s; diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -87,7 +87,7 @@ AS_VAR_IF([PKG_CONFIG], [], # need to be escapes with an extra \. Configure does not support \'s # in path names, so there is no need to do anything special here # except set the variables. The command to set them in case we do -# need to escape the \'s is Qvar=`echo "$var" | sed 's/\\\\/\\\\\\\\/g'` +# need to escape the \'s is Qvar=`AS_ECHO(["$var"]) | sed 's/\\\\/\\\\\\\\/g'` BUILD=[`pwd`] AC_SUBST([BUILD]) @@ -107,12 +107,12 @@ AS_VAR_IF([prefix], [NONE], [Qprefix="${ac_default_prefix}"]. [Qprefix="${prefix}"]) -Qprefix=`echo "$Qprefix" | sed 's/\\\\/\\\\\\\\/g'` +Qprefix=`AS_ECHO(["$Qprefix"]) | sed 's/\\\\/\\\\\\\\/g'` AC_SUBST([Qprefix]) # exec_prefix is created very late, so let make do the expansion AS_VAR_IF([exec_prefix], [NONE], [Qexec_prefix='${prefix}'], - [Qexec_prefix=`echo "$exec_prefix" | sed 's/\\\\/\\\\\\\\/g'`]) + [Qexec_prefix=`AS_ECHO(["$exec_prefix"]) | sed 's/\\\\/\\\\\\\\/g'`]) AC_SUBST([Qexec_prefix]) # small hack to get icc -no-gcc, done here because AC_PROG_CC shouldn't @@ -460,7 +460,7 @@ AS_CASE([$CC_version], [*'Sun Ceres C '*|*'Sun C '*], [ # developer/sunstudioexpress and # developer/sunstudio12u1 respectively - CC_ver="suncc-`echo "$CC_version" | sed -n 's/.*Sun Ceres C \(.*\) SunOS.*/\1/p;s/.*Sun C \(.*\) SunOS.*/\1/p'`" + CC_ver="suncc-`AS_ECHO(["$CC_version"]) | sed -n 's/.*Sun Ceres C \(.*\) SunOS.*/\1/p;s/.*Sun C \(.*\) SunOS.*/\1/p'`" CC_version="$CC_V"], [AC_MSG_WARN([compiler not recognized: `$CC --version` says @@ -499,7 +499,7 @@ AS_CASE([$host_os], AS_IF([test -s /etc/os-release], [ # this is the new way of getting release information # works for Fedora >= 17, Ubuntu >= 12.04 (Precise Pangolin) - LINUX_DIST=`source /etc/os-release; echo ${ID}:${VERSION_ID}`], + LINUX_DIST=`source /etc/os-release; AS_ECHO(["${ID}:${VERSION_ID}"])`], [test -s /etc/fedora-release ], [ LINUX_DIST=`cat /etc/fedora-release | head -n1 \ | sed 's|^.*\(Fedora\).* release \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`], @@ -529,7 +529,7 @@ AS_CASE([$host_os], [test -s /etc/debian_version ], [ LINUX_DIST=Debian:`cat /etc/debian_version | head -n1`], [LINUX_DIST=`uname -s`:`uname -r | sed 's|^\([[0-9\.]]*\)\([[^0-9\.]].*\)$|\1|'`]) - LINUX_DIST=`echo "$LINUX_DIST" | sed 's|:||'` + LINUX_DIST=`AS_ECHO(["$LINUX_DIST"]) | sed 's|:||'` AC_MSG_RESULT([$LINUX_DIST])]) AC_SUBST([LINUX_DIST]) @@ -561,11 +561,11 @@ AC_DEFUN([MCHECK_ADD_FLAG], [ return 0; } ]])], - [eval ${cache_var}=yes], - [eval ${cache_var}=no]) + [AS_VAR_SET([$cache_var], [yes])], + [AS_VAR_SET([$cache_var], [no])]) CFLAGS="${SAVE_FLAGS}" ]) - eval "test \"x\$${cache_var}\" = xyes && X_CFLAGS=\"${X_CFLAGS} $1\"" + AS_VAR_IF([$cache_var], [yes], [X_CFLAGS="${X_CFLAGS} $1"]) ]) # Set compiler switches. @@ -845,7 +845,7 @@ AS_CASE([x$enable_debug.$enable_optimize enable_optimize=no ], [x*.*no], [ - enable_debug=`echo $enable_debug | sed 's:^def_::'` + enable_debug=`AS_ECHO(["$enable_debug"]) | sed 's:^def_::'` enable_optimize=no ], [x*.*yes], [ @@ -858,14 +858,14 @@ AS_CASE([x$enable_debug.$enable_optimize [x*], [AC_MSG_WARN([unhandled configuration $enable_debug.$enable_optimize, please file a bug on bugs.monetdb.org])]) # make defaults real for flags which don't conflict with anything -enable_assert=`echo $enable_assert | sed 's:^def_::'` +enable_assert=`AS_ECHO(["$enable_assert"]) | sed 's:^def_::'` AC_MSG_CHECKING([for --enable-debug]) AS_VAR_IF([enable_debug], [yes], [ origCFLAGS=$CFLAGS # remove "-Ox" as some compilers don't like "-g -Ox" combinations CFLAGS=" $CFLAGS " - CFLAGS=`echo "$CFLAGS" | sed -e 's| -O[[0-9]] | |g' -e 's| -g | |g' -e 's|^ ||' -e 's| $||'` + CFLAGS=`AS_ECHO(["$CFLAGS"]) | sed -e 's| -O[[0-9]] | |g' -e 's| -g | |g' -e 's|^ ||' -e 's| $||'` # add "-g" CFLAGS="$CFLAGS -g" AS_CASE([$GCC-$host_os], @@ -881,7 +881,7 @@ AS_VAR_IF([enable_debug], [yes], [ [*" $flag "*], [], [changedCFLAGS="$changedCFLAGS, added $flag"]) done - changedCFLAGS=`echo $changedCFLAGS | sed -e 's|^, ||'` + changedCFLAGS=`AS_ECHO(["$changedCFLAGS"]) | sed -e 's|^, ||'` AC_MSG_RESULT([$enable_debug: $changedCFLAGS])], [AC_MSG_RESULT([no])]) @@ -898,7 +898,7 @@ AS_VAR_IF([enable_optimize], [yes], [ # remove "-g" as some compilers don't like "-g -Ox" combinations # remove "-O2" as we add "-Ox" and some compilers don't like "-Oy -Ox" combinations CFLAGS=" $CFLAGS " - CFLAGS=`echo "$CFLAGS" | sed -e 's| -g | |g' -e 's| -O2 | |g' -e 's|^ ||' -e 's| $||'` + CFLAGS=`AS_ECHO(["$CFLAGS"]) | sed -e 's| -g | |g' -e 's| -O2 | |g' -e 's|^ ||' -e 's| $||'` # Optimization flags AS_CASE([$GCC-$CC_ver], [yes-clang-*], @@ -1026,7 +1026,7 @@ AS_VAR_IF([enable_optimize], [yes], [ ]) # for stack-traces with assert, we DO want a frame-pointer AS_VAR_IF([enable_assert], [yes], - [CFLAGS=`echo $CFLAGS | sed 's:-fomit-frame-pointer::'`]) + [CFLAGS=`AS_ECHO(["$CFLAGS"]) | sed 's:-fomit-frame-pointer::'`]) changedCFLAGS= for flag in $origCFLAGS ; do AS_CASE([" $CFLAGS "], @@ -1038,7 +1038,7 @@ AS_VAR_IF([enable_optimize], [yes], [ [*" $flag "*], [], [changedCFLAGS="$changedCFLAGS, added $flag"]) done - changedCFLAGS=`echo $changedCFLAGS | sed -e 's|^, ||'` + changedCFLAGS=`AS_ECHO(["$changedCFLAGS"]) | sed -e 's|^, ||'` AC_MSG_RESULT([yes: $changedCFLAGS]) # The default configure invocation when doing an rpmbuild also uses this. @@ -1150,10 +1150,10 @@ AS_VAR_IF([have_python2], [no], [ # Use prefix field for Ubuntu Python, bug #3207 PYTHON2_LIBDIR=`"$PYTHON2" -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0,0,"'"$Qprefix"'")' 2>/dev/null`]) - PYTHON2_LIBDIR=`echo "$PYTHON2_LIBDIR" | sed "s|^$Qprefix/||"`], + PYTHON2_LIBDIR=`AS_ECHO(["$PYTHON2_LIBDIR"]) | sed "s|^$Qprefix/||"`], [no], [], [$Qprefix/*], [ # dubious - PYTHON2_LIBDIR=`echo "$have_python2_libdir" | sed "s|^$Qprefix/||"` + PYTHON2_LIBDIR=`AS_ECHO(["$have_python2_libdir"]) | sed "s|^$Qprefix/||"` have_python2_libdir=yes], [ PYTHON2_LIBDIR="$have_python2_libdir" have_python2_libdir=yes])]) @@ -1161,13 +1161,13 @@ AS_VAR_IF([have_python2], [no], AC_SUBST([PYTHON2]) QPYTHON2="$PYTHON2" XPYTHON2=`$translatepath "$QPYTHON2"` -QXPYTHON2=`echo "$XPYTHON2" | sed 's/\\\\/\\\\\\\\/g'` +QXPYTHON2=`AS_ECHO(["$XPYTHON2"]) | sed 's/\\\\/\\\\\\\\/g'` AC_SUBST([QXPYTHON2]) AM_CONDITIONAL([HAVE_PYTHON2], [test x"$have_python2" != xno]) AC_SUBST([PYTHON2_LIBDIR]) QPYTHON2_LIBDIR="$PYTHON2_LIBDIR" XPYTHON2_LIBDIR=`$translatepath "$QPYTHON2_LIBDIR"` -QXPYTHON2_LIBDIR=`echo "$XPYTHON2_LIBDIR" | sed 's/\\\\/\\\\\\\\/g'` +QXPYTHON2_LIBDIR=`AS_ECHO(["$XPYTHON2_LIBDIR"]) | sed 's/\\\\/\\\\\\\\/g'` AC_SUBST([QXPYTHON2_LIBDIR]) AS_VAR_IF([have_python3], [no], @@ -1189,7 +1189,9 @@ AS_VAR_IF([have_python3], [no], have_python3_libdir=no PYTHON3_LIBDIR="" # and no interpreter - PYTHON3=false], + PYTHON3=false + # and no Python 3 integration + enable_py3integration=no], [have_python3_libdir=auto AC_ARG_WITH([python3-libdir], @@ -1203,10 +1205,10 @@ AS_VAR_IF([have_python3], [no], [AC_MSG_ERROR([Must specify --with-python3-libdir when cross compiling])]) # Use prefix field for Ubuntu Python, bug #3207 PYTHON3_LIBDIR=`"$PYTHON3" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(0,0,"'"$Qprefix"'"))' 2>/dev/null` - PYTHON3_LIBDIR=`echo "$PYTHON3_LIBDIR" | sed "s|^$Qprefix/||"`], + PYTHON3_LIBDIR=`AS_ECHO(["$PYTHON3_LIBDIR"]) | sed "s|^$Qprefix/||"`], [no], [], [$Qprefix/*], [ # dubious - PYTHON3_LIBDIR=`echo "$have_python3_libdir" | sed "s|^$Qprefix/||"` + PYTHON3_LIBDIR=`AS_ECHO(["$have_python3_libdir"]) | sed "s|^$Qprefix/||"` have_python3_libdir=yes], [ PYTHON3_LIBDIR="$have_python3_libdir" have_python3_libdir=yes])]) @@ -1214,13 +1216,13 @@ AS_VAR_IF([have_python3], [no], AC_SUBST([PYTHON3]) QPYTHON3="$PYTHON3" XPYTHON3=`$translatepath "$QPYTHON3"` -QXPYTHON3=`echo "$XPYTHON3" | sed 's/\\\\/\\\\\\\\/g'` +QXPYTHON3=`AS_ECHO(["$XPYTHON3"]) | sed 's/\\\\/\\\\\\\\/g'` AC_SUBST([QXPYTHON3]) AM_CONDITIONAL([HAVE_PYTHON3], [test x"$have_python3" != xno]) AC_SUBST([PYTHON3_LIBDIR]) QPYTHON3_LIBDIR="$PYTHON3_LIBDIR" XPYTHON3_LIBDIR=`$translatepath "$QPYTHON3_LIBDIR"` -QXPYTHON3_LIBDIR=`echo "$XPYTHON3_LIBDIR" | sed 's/\\\\/\\\\\\\\/g'` +QXPYTHON3_LIBDIR=`AS_ECHO(["$XPYTHON3_LIBDIR"]) | sed 's/\\\\/\\\\\\\\/g'` AC_SUBST([QXPYTHON3_LIBDIR]) AM_CONDITIONAL([HAVE_PYTHON], [test x"$have_python2" != xno -o x"$have_python3" != xno]) @@ -1240,7 +1242,7 @@ AC_SUBST([PYTHON]) AC_SUBST([PYTHON_LIBDIR]) QPYTHON_LIBDIR="$PYTHON_LIBDIR" XPYTHON_LIBDIR=`$translatepath "$QPYTHON_LIBDIR"` -QXPYTHON_LIBDIR=`echo "$XPYTHON_LIBDIR" | sed 's/\\\\/\\\\\\\\/g'` +QXPYTHON_LIBDIR=`AS_ECHO(["$XPYTHON_LIBDIR"]) | sed 's/\\\\/\\\\\\\\/g'` AC_SUBST([QXPYTHON_LIBDIR]) # Mtest/Mfilter currently require Python 2 @@ -1260,7 +1262,7 @@ AS_CASE([$YACC], BISON_VER=`$YACC --version | head -n1 | sed -e 's/^.* //'` AS_VERSION_COMPARE([$BISON_VER], [2.4.3], - [X_CFLAGS=`echo ${X_CFLAGS} | sed -e 's/-Wundef//g'`]) + [X_CFLAGS=`AS_ECHO(["${X_CFLAGS}"]) | sed -e 's/-Wundef//g'`]) ], [ # in embedded mode, we ship the bison-generated files @@ -1277,9 +1279,9 @@ INSTALL_BACKUP="" AC_MSG_CHECKING([$INSTALL --backup option]) AS_VAR_IF([INSTALL], [], [], - [inst=`echo $INSTALL | sed 's/ .*//'` + [inst=`AS_ECHO(["$INSTALL"]) | sed 's/ .*//'` AS_IF([test ! "`file $inst | grep 'shell script' 2>/dev/null`"], - [echo "" > c 2>/dev/null + [AS_ECHO([""]) > c 2>/dev/null AS_IF([$INSTALL --backup=nil c d 1>/dev/null 2>/dev/null], [INSTALL_BACKUP="--backup=nil"]) AS_IF([$INSTALL -C --backup=nil c e 1>/dev/null 2>/dev/null], @@ -1705,7 +1707,7 @@ AS_CASE([$host], LIBS="$LIBS $openssl_LIBS" AC_CHECK_FUNCS([MD5_Update RIPEMD160_Update SHA1_Update SHA224_Update SHA256_Update SHA384_Update SHA512_Update]) LIBS="$save_LIBS" - AS_IF([eval test \"x\$ac_cv_func_${MONETDB5_PASSWDHASH}_Update\" != x"yes"], [ + AS_VAR_IF([ac_cv_func_${MONETDB5_PASSWDHASH}_Update], [yes], [], [ AS_CASE([$enable_monetdb5], [yes], [ AC_MSG_ERROR([OpenSSL library found but checksum algorithm required for MonetDB5 not found])], @@ -1936,84 +1938,76 @@ AM_CONDITIONAL([HAVE_LIBPY], [test x"$ha # Python 3 UDFs have_libpy3=no -if test "x$enable_py3integration" != xno; then - case "$enable_py3integration" in - yes|auto) - XPATH="$PATH" - ;; - /*) - XPATH="$enable_py3integration" - enable_py3integration=yes - ;; - *) - AC_MSG_ERROR([--enable-py3integration value must be yes|no|auto|absolute path of python-config]) - ;; - esac - if test "x$have_py3config" = x; then - # for some god forsaken reason autoconf thinks python2-config and python3-config are the same program, so we have to explicitly tell it not to select python2-config when we want python3-config +AS_VAR_IF([enable_py3integration], [no], [], + [AS_CASE([`"$PYTHON3" -V 2>&1`], + ["Python 3."[[1234]]"."*], + [AS_VAR_IF([enable_py3integration], [auto], + [have_libpy3=no + why_not_libpy3="(Python >= 3.5 required)" + enable_py3integration=no _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list