Changeset: 997f91f8093f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=997f91f8093f Modified Files: NT/rules.msc buildtools/doc/windowsbuild.rst clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out debian/monetdb5-server.install gdk/ChangeLog gdk/gdk.h gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c monetdb5/ChangeLog monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/bat5.h monetdb5/modules/kernel/bat5.mal monetdb5/modules/mal/Tests/inspect05.malC monetdb5/modules/mal/Tests/inspect05.stable.out monetdb5/modules/mal/Tests/inspect05.stable.out.int128 sql/backends/monet5/sql_statement.c sql/include/sql_relation.h sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/rel_unnest.h sql/server/sql_atom.c sql/server/sql_atom.h sql/storage/bat/bat_storage.c sql/storage/bat/bat_table.c sql/test/BugTracker-2013/Tests/cannot_use_columns_after_groupby.Bug-3340.sql sql/test/BugTracker-2013/Tests/cannot_use_columns_after_groupby.Bug-3340.stable.err sql/test/BugTracker-2013/Tests/cannot_use_columns_after_groupby.Bug-3340.stable.out sql/test/BugTracker-2017/Tests/groupby_assertion.Bug-6338.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.stable.err sql/test/mergetables/Tests/sqlsmith-exists.sql sql/test/mergetables/Tests/sqlsmith-exists.stable.out sql/test/scanner/Tests/raw_strings.stable.err sql/test/scanner/Tests/raw_strings.stable.out sql/test/subquery/Tests/subquery.sql sql/test/subquery/Tests/subquery.stable.err sql/test/subquery/Tests/subquery.stable.out sql/test/subquery/Tests/subquery3.sql sql/test/subquery/Tests/subquery3.stable.err sql/test/subquery/Tests/subquery3.stable.out Branch: gdk_tracer Log Message:
Merge with default diffs (truncated from 2672 to 300 lines): diff --git a/NT/rules.msc b/NT/rules.msc --- a/NT/rules.msc +++ b/NT/rules.msc @@ -139,14 +139,19 @@ bzip2_CFLAGS = -DHAVE_LIBBZ2 "-I$(LIBBZI !IFNDEF LIBXML2 LIBXML2 = C:\libxml2-2.6.30.win$(bits) !ENDIF -libxml2_CFLAGS = -DHAVE_LIBXML "-I$(LIBXML2)\include" $(zlib_CFLAGS) $(ICONV_CFLAGS) +# by default libxml2 include files get installed in ...\include\libxml2\libxml +# but this has sometimes been moved to ...\include\libxml +libxml2_CFLAGS = -DHAVE_LIBXML "-I$(LIBXML2)\include\libxml2" "-I$(LIBXML2)\include" $(zlib_CFLAGS) $(ICONV_CFLAGS) libxml2_LIBS = "$(LIBXML2)\lib\libxml2.lib" $(zlib_LIBS) $(ICONV_LIBS) !ENDIF !IFNDEF LIBGEOS LIBGEOS = C:\geos-3.0.win$(bits) !ENDIF -GEOS_LIBS = $(LIBGEOS)\lib\geos_c_i.lib +!IFNDEF GEOSFILE +GEOSFILE = geos_c +!ENDIF +GEOS_LIBS = $(LIBGEOS)\lib\$(GEOSFILE).lib GEOS_INCS = -I$(LIBGEOS)\include !IFDEF HAVE_LIBR diff --git a/buildtools/doc/windowsbuild.rst b/buildtools/doc/windowsbuild.rst --- a/buildtools/doc/windowsbuild.rst +++ b/buildtools/doc/windowsbuild.rst @@ -243,6 +243,8 @@ PCRE (Perl Compatible Regular Expression The PCRE__ library is used to extend the string matching capabilities of MonetDB. The PCRE library is required for the monetdb5 component. +.. _pcre_cmake: + Download the source from http://www.pcre.org/. In order to build the library, you will need a program called ``cmake`` which you can download from http://www.cmake.org/ or by using Chocolatey_. Follow @@ -255,14 +257,14 @@ Configure button. This pops up a dialog chose Visual Studio 14 2015. You need to configure some PCRE build options. I chose to do build -shared libs, to match newlines with the ``ANYCRLF`` option, and to do -have UTF-8 support and support for Unicode properties. When you're -satisfied with the options, click on Generate. Then in the build -folder you've chosen, open the PCRE.sln file with Visual Studio, and -build and install. Make sure you set the Solution Configuration to -Release if you want to build a releasable version of the MonetDB -suite. By default the library will be installed in ``C:\Program -Files\PCRE``. +shared libs, to match newlines with the ``ANYCRLF`` and +``PCRE_SUPPORT_JIT`` options, and to do have UTF-8 support and support +for Unicode properties. When you're satisfied with the options, click +on Generate. Then in the build folder you've chosen, open the +PCRE.sln file with Visual Studio, and build and install. Make sure +you set the Solution Configuration to Release if you want to build a +releasable version of the MonetDB suite. By default the library will +be installed in ``C:\Program Files\PCRE``. For Windows64, select the correct compiler (``Visual Studio 14 2015 Win64``) and proceed normally. When building the 32 bit version on @@ -304,15 +306,15 @@ required for the clients component when server. Download the source from http://www.openssl.org/. We used the latest -stable version (1.1.0g). Follow the instructions in the file +stable version (1.1.1d). Follow the instructions in the file ``NOTES.WIN``. .. The actual commands used were:: - perl Configure VC-WIN32 no-asm --prefix=C:\Libraries\openssl-1.1.0g.win32 + perl Configure VC-WIN32 no-asm --prefix=C:\Libraries\openssl-1.1.1d.win32 --openssldir=SSL nmake nmake install and:: - perl Configure VC-WIN64A no-asm --prefix=C:\Libraries\openssl-1.1.0g.win64 + perl Configure VC-WIN64A no-asm --prefix=C:\Libraries\openssl-1.1.1d.win64 --openssldir=SSL nmake nmake install @@ -346,7 +348,7 @@ the correct locations for the iconv and nmake /f Makefile.msvc install We needed to edit the file ``win32\Makefile.msvc`` and change -``iconv.lib`` to ``iconv.dll.lib``. +``iconv.lib`` to ``iconv.dll.lib`` and ``zlib.lib`` to ``zdll.lib``. __ http://xmlsoft.org/ @@ -361,39 +363,22 @@ so to get the software, you will have to yourself. Get the source tar ball from http://trac.osgeo.org/geos/#Download and -extract somewhere. You can follow the instructions in e.g. `Building -on Windows with NMake`__. - -We needed to make a few changes to the file ``nmake.opt``. We needed -to add a blurb for the version of ``nmake`` that we were using. Look -at the version number of ``nmake /P`` and adapt the closest match. - -For newer versions of Visual Studio, we also needed to add a line:: - - #include <algorithm> +extract somewhere. -to the files:: - - src\algorithm\LineIntersector.cpp - src\geom\LineSegment.cpp - src\io\WKTWriter.cpp - src\operation\buffer\OffsetCurveSetBuilder.cpp - -.. The actual commands were:: - autogen.bat - nmake /f makefile.vc - -.. On Windows64, add ``WIN64=YES`` to the nmake command line. +We are now using the 3.8.0 version which uses CMake (see PCRE +above__). For older releases, look in a previous versions of this +file. In order to get a version number in the DLL that is produced, we added -a file ``version.rc`` in the ``src`` folder. The contents of the -file are:: +a file ``version.rc`` in the ``src`` folder and added a reference to +the sources for the ``geos`` subproject. The contents of the file +are:: #include <Windows.h> LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,6,2,0 // change as appropriate - PRODUCTVERSION 3,6,2,0 // change as appropriate + FILEVERSION 3,8,0,0 // change as appropriate + PRODUCTVERSION 3,8,0,0 // change as appropriate FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -405,26 +390,8 @@ file are:: END END -To use it, we also added ``version.res`` at the end of the definition -of the ``OBJ`` macro and to the list of dependencies of and the -command for ``$(CDLLNAME)`` in ``src\Makefile.vc``. - -After this, install the library somewhere, e.g. in -``C:\Libraries\geos-3.6.2.win32``:: - - mkdir C:\Libraries\geos-3.6.2.win32 - mkdir C:\Libraries\geos-3.6.2.win32\lib - mkdir C:\Libraries\geos-3.6.2.win32\bin - mkdir C:\Libraries\geos-3.6.2.win32\include - mkdir C:\Libraries\geos-3.6.2.win32\include\geos - copy src\geos_c_i.lib C:\Libraries\geos-3.6.2.win32\lib - copy src\geos_c.dll C:\Libraries\geos-3.6.2.win32\bin - copy include C:\Libraries\geos-3.6.2.win32\include - copy include\geos C:\Libraries\geos-3.6.2.win32\include\geos - copy capi\geos_c.h C:\Libraries\geos-3.6.2.win32\include - __ http://geos.refractions.net/ -__ http://trac.osgeo.org/geos/wiki/BuildingOnWindowsWithNMake +__ pcre_cmake_ Optional Packages ================= @@ -493,27 +460,28 @@ the following extra Cygwin packages in o Command Prompt and PATH contains the directory where cl.exe can be found; for 64 bit use --host=x86_64-w64-mingw32 and adapt LIB, PATH and prefix):: - INCLUDE='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;'\ - 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;'\ - 'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt;'\ - 'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;'\ - 'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\shared;'\ - 'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\um;'\ - 'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\winrt;' - LIB='C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB;'\ - 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB;'\ - 'C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\ucrt\x86;'\ - 'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x86;'\ - 'C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86;' - PATH="/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin:$PATH" + vs='C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105' + INCLUDE="${vs}"'\ATLMFC\include;'"${vs}"'\include;' \ + 'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;' \ + 'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt;' \ + 'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared;' \ + 'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um;' \ + 'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt;' \ + 'C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt' + LIB="${vs}"'\ATLMFC\lib\x64;'"${vs}"'\lib\x64;' \ + 'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64;' \ + 'C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\ucrt\x64;' \ + 'C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x64;' + PATH=$(cygpath "${vs}")/bin/Hostx64/x64:$PATH + prefix=/cygdrive/c/Libraries/iconv-1.16.win64-vs2019 export INCLUDE LIB PATH win32_target=_WIN32_WINNT_WIN7 prefix=/cygdrive/c/Libraries/iconv-1.15.win32-vs2015 PATH="$prefix/bin:$PATH" - ./configure --host=i686-w64-mingw32 --prefix=$prefix \ + ./configure --host=i686-w64-mingw32 --prefix="$prefix" \ CC="$PWD/build-aux/compile cl -nologo" \ + CXX="$PWD/build-aux/compile cl -nologo" \ CFLAGS="-MD" \ - CXX="$PWD/build-aux/compile cl -nologo" \ CXXFLAGS="-MD" \ CPPFLAGS="-D_WIN32_WINNT=$win32_target -I$prefix/include" \ LDFLAGS="-L$prefix/lib" \ diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -681,7 +681,6 @@ stdout of test 'MAL-signatures` in direc [ "bat", "setColumn", "command bat.setColumn(b:bat[:any_1], t:str):void ", "BKCsetColumn;", "Give a logical name to the tail column of a BAT." ] [ "bat", "setHash", "command bat.setHash(b:bat[:any_1]):bit ", "BKCsetHash;", "Create a hash structure on the column" ] [ "bat", "setImprints", "command bat.setImprints(b:bat[:any_1]):bit ", "BKCsetImprints;", "Create an imprints structure on the column" ] -[ "bat", "setKey", "command bat.setKey(b:bat[:any_1], mode:bit):bat[:any_1] ", "BKCsetkey;", "Sets the 'key' property of the tail column to 'mode'. In 'key' mode,\n the kernel will silently block insertions that cause a duplicate\n entry in the head column." ] [ "bat", "setName", "command bat.setName(b:bat[:any_1], s:str):void ", "BKCsetName;", "Give a logical name to a BAT. " ] [ "bat", "setPersistent", "command bat.setPersistent(b:bat[:any_1]):void ", "BKCsetPersistent;", "Make the BAT persistent." ] [ "bat", "setTransient", "command bat.setTransient(b:bat[:any_1]):void ", "BKCsetTransient;", "Make the BAT transient. Returns \n\tboolean which indicates if the\nBAT administration has indeed changed." ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -787,7 +787,6 @@ stdout of test 'MAL-signatures` in direc [ "bat", "setColumn", "command bat.setColumn(b:bat[:any_1], t:str):void ", "BKCsetColumn;", "Give a logical name to the tail column of a BAT." ] [ "bat", "setHash", "command bat.setHash(b:bat[:any_1]):bit ", "BKCsetHash;", "Create a hash structure on the column" ] [ "bat", "setImprints", "command bat.setImprints(b:bat[:any_1]):bit ", "BKCsetImprints;", "Create an imprints structure on the column" ] -[ "bat", "setKey", "command bat.setKey(b:bat[:any_1], mode:bit):bat[:any_1] ", "BKCsetkey;", "Sets the 'key' property of the tail column to 'mode'. In 'key' mode,\n the kernel will silently block insertions that cause a duplicate\n entry in the head column." ] [ "bat", "setName", "command bat.setName(b:bat[:any_1], s:str):void ", "BKCsetName;", "Give a logical name to a BAT. " ] [ "bat", "setPersistent", "command bat.setPersistent(b:bat[:any_1]):void ", "BKCsetPersistent;", "Make the BAT persistent." ] [ "bat", "setTransient", "command bat.setTransient(b:bat[:any_1]):void ", "BKCsetTransient;", "Make the BAT transient. Returns \n\tboolean which indicates if the\nBAT administration has indeed changed." ] 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 @@ -484,7 +484,6 @@ size_t strLen(const char *s); int strNil(const char *s); const char str_nil[2]; gdk_return void_inplace(BAT *b, oid id, const void *val, bool force) __attribute__((__warn_unused_result__)); -gdk_return void_replace_bat(BAT *b, BAT *p, BAT *u, bool force) __attribute__((__warn_unused_result__)); int win_mkdir(const char *, const int mode); int win_rename(const char *, const char *); int win_rmdir(const char *); @@ -857,7 +856,6 @@ str BKCsetImprints(bit *ret, const bat * str BKCsetName(void *r, const bat *bid, const char *const *s); str BKCsetPersistent(void *r, const bat *bid); str BKCsetTransient(void *r, const bat *bid); -str BKCsetkey(bat *res, const bat *bid, const bit *param); str BKCshrinkBAT(bat *ret, const bat *bid, const bat *did); str BLOBblob_blob(blob **d, blob **s); str BLOBblob_fromstr(blob **b, const char **d); diff --git a/debian/monetdb5-server.install b/debian/monetdb5-server.install --- a/debian/monetdb5-server.install +++ b/debian/monetdb5-server.install @@ -1,16 +1,17 @@ debian/tmp/usr/bin/mserver5 usr/bin debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdb5.so.* usr/lib/x86_64-linux-gnu -# usr/lib/x86_64-linux-gnu/monetdb5/lib_*.so EXCEPT: lib_{bam,geom,gsl,lidar,pyapi,rapi,sql}.so +# usr/lib/x86_64-linux-gnu/monetdb5/lib_*.so EXCEPT: lib_{bam,fits,geom,gsl,lidar,pyapi*,rapi,sql}.so debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_capi.so usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_generator.so usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_opt_sql_append.so usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_udf.so usr/lib/x86_64-linux-gnu/monetdb5 -# usr/lib/x86_64-linux-gnu/monetdb5/*.mal EXCEPT: {bam,geom,gsl,lidar,pyapi,rapi,sql*,*_hge}.mal -debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/[!bglprsu]*.mal usr/lib/x86_64-linux-gnu/monetdb5 +# usr/lib/x86_64-linux-gnu/monetdb5/*.mal EXCEPT: {bam,fits,geom,gsl,lidar,pyapi,rapi,sql*,*_hge}.mal +debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/[!bfglprsu]*.mal usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/ba[!m]*.mal usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/b[!a]*.mal usr/lib/x86_64-linux-gnu/monetdb5 +debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/f[!i]*.mal usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/generator.mal usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/g[!es]*.mal usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/l[!i]*.mal usr/lib/x86_64-linux-gnu/monetdb5 diff --git a/gdk/ChangeLog b/gdk/ChangeLog --- a/gdk/ChangeLog +++ b/gdk/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog file for MonetDB # This file is updated with Maddlog +* Tue Dec 3 2019 Sjoerd Mullender <sjo...@acm.org> +- Removed the tunique property. The tunique property indicated that + all values in the column had to be distinct. It was removed because + it wasn't used. + * Fri Nov 22 2019 Sjoerd Mullender <sjo...@acm.org> - BATrangeselect now has two extra arguments: anti and symmetric (both bool). diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -716,7 +716,6 @@ gdk_export int VALisnil(const ValRecord * int ttype; // Tail type number * str tident; // name for tail column * bool tkey; // tail values are unique - * bool tunique; // tail values must be kept unique * bool tnonil; // tail has no nils * bool tsorted; // are tail values currently ordered? * bool tvarsized; // for speed: tail type is varsized? _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list