Changeset: c2ab414fca18 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c2ab414fca18
Modified Files:
        NT/Makefile
        NT/monetdb_config.h.in
        NT/rules.msc
        buildtools/autogen/autogen/msc.py
        buildtools/doc/windowsbuild.rst
        clients/mapiclient/mclient.c
        clients/mapiclient/tomograph.c
        clients/mapilib/mapi.c
        clients/odbc/winsetup/Makefile.ag
        gdk/gdk_bbp.c
        gdk/gdk_utils.c
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
        monetdb5/modules/mal/tablet.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/tests/mapi/Tests/perl_dbi.MAL.bat
        sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
        sql/server/sql_symbol.c
        sql/storage/store.c
        sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/Tests/setoptimizer.stable.err
        sql/test/Tests/setoptimizer.stable.out
        sql/test/Tests/setoptimizer.stable.out.Windows
        sql/test/copy/Tests/int_parse.stable.err
        sql/test/copy/Tests/int_parse.stable.out
        sql/test/copy/Tests/int_parse_best.stable.out
        sql/test/pg_regress/Tests/strings.stable.err.int128
        sql/test/pg_regress/Tests/strings.stable.out
Branch: leftmart
Log Message:

merge with default


diffs (truncated from 4087 to 300 lines):

diff --git a/NT/Makefile b/NT/Makefile
--- a/NT/Makefile
+++ b/NT/Makefile
@@ -25,7 +25,6 @@ install: targetdirs all
        $(INSTALL) ..\NT\installer$(bits)\*.sln "$(prefix)"
        $(INSTALL) ..\NT\installer$(bits)\*.vdproj "$(prefix)"
        -if exist "C:\Program Files (x86)" if $(bits)==32 cd 
"$(prefix)"&&C:\cygwin\bin\sed.exe -i "s/Program Files/Program Files (x86)/" 
*.vdproj
-       if not exist "C:\Program Files (x86)\Microsoft Visual Studio 10.0" if 
not exist "C:\Program Files\Microsoft Visual Studio 10.0" cd 
"$(prefix)"&&C:\cygwin\bin\sed.exe -i "s/Format Version 11.00/Format Version 
10.00/;s/Visual Studio 2010/Visual Studio 
2008/;s/-vs10//;s/_VC100_CRT_x64/_VC90_CRT_x86_x64/;s/_VC100_/_VC90_/" *.vdproj 
*.sln
 
 $(srcdir)\Makefile.msc: "$(srcdir)\Makefile.ag"
         cd "$(srcdir)"&&set PYTHONPATH=buildtools\autogen&&python 
buildtools\autogen\autogen.py
diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -16,6 +16,7 @@
  * _MSC_VER = 1500: Visual Studio 9.0
  * _MSC_VER = 1600: Visual Studio 10.0
  * _MSC_VER = 1800: Visual Studio 12.0
+ * _MSC_VER = 1900: Visual Studio 14.0
  */
 
 #ifndef _SEEN_MONETDB_CONFIG_H
@@ -993,9 +994,11 @@
 /* Define to `unsigned int' if <sys/types.h> does not define. */
 /* #undef size_t */
 
+#if _MSC_VER < 1900
 #ifndef snprintf
 #define snprintf _snprintf
 #endif
+#endif
 
 /* type used by connect */
 #define socklen_t int
diff --git a/NT/rules.msc b/NT/rules.msc
--- a/NT/rules.msc
+++ b/NT/rules.msc
@@ -66,7 +66,7 @@ PTHREAD_INCS =
 PTHREAD_LIBS =
 !ENDIF
 
-ODBCINST_LIBS = odbccp32.lib user32.lib
+ODBCINST_LIBS = odbccp32.lib user32.lib $(LEGACY_STDIO_DEFINITIONS)
 ODBC_LIBS = odbc32.lib
 
 !IFNDEF PYTHON2BASE
diff --git a/buildtools/autogen/autogen/msc.py 
b/buildtools/autogen/autogen/msc.py
--- a/buildtools/autogen/autogen/msc.py
+++ b/buildtools/autogen/autogen/msc.py
@@ -229,7 +229,7 @@ def msc_additional_libs(fd, name, sep, t
         if l == "@LIBOBJS@":
             l = "$(LIBOBJS)"
         # special case (hack) for system libraries
-        elif l in ('-lodbc32', '-lodbccp32', '-lversion', '-lshlwapi', 
'-luser32'):
+        elif l in ('-lodbc32', '-lodbccp32', '-lversion', '-lshlwapi', 
'-luser32', '-llegacy_stdio_definitions'):
             l = l[2:] + '.lib'
         elif l[:2] == "-l":
             l = "lib"+l[2:]+".lib"
diff --git a/buildtools/doc/windowsbuild.rst b/buildtools/doc/windowsbuild.rst
--- a/buildtools/doc/windowsbuild.rst
+++ b/buildtools/doc/windowsbuild.rst
@@ -18,7 +18,9 @@ architecture, but there are notes throug
 on a 64-bit architecture which is indicated with Windows64.  We have
 successfully built on Windows XP, Windows Server, and Windows 7.
 
-__ http://dev.monetdb.org/hg/MonetDB/
+.. _MonetDB: http://dev.monetdb.org/hg/MonetDB/
+
+__ MonetDB_
 
 Introduction
 ============
@@ -110,12 +112,29 @@ and libraries can be optionally installe
 The required programs and libraries are listed in this section, the
 following section lists the optional programs and libraries.
 
+Chocolatey
+----------
+
+Although Chocolatey_ is not a prerequisite per se, it makes
+installing and maintaining some of the other prerequisites a lot
+easier.  Therefore we recommend installing chocolatey.  Instructions
+are on their website__.
+
+We have installed the following programs using Chocolatey_::
+
+  choco install ActivePerl ant cmake ruby
+  choco install python2 python2-x86_32 python3 python3-x86_32
+
+.. _Chocolatey: https://chocolatey.org/
+
+__ Chocolatey_
+
 Mercurial (a.k.a. HG)
 ---------------------
 
 All sources of the MonetDB suite of programs are stored using
-Mercurial__ at our server__.  You will need Mercurial to get the
-sources.  We use Mercurial under Cygwin__, but any other version will
+Mercurial_ at our server__.  You will need Mercurial to get the
+sources.  We use Mercurial under Cygwin_, but any other version will
 do as well.
 
 Once Mercurial is installed and configured, you can get the sources
@@ -134,9 +153,11 @@ You can update the sources using (from w
 
  hg pull -u
 
-__ http://mercurial.selenic.com/
-__ http://dev.monetdb.org/hg/MonetDB/
-__ http://www.cygwin.com/
+.. _Mercurial: http://mercurial.selenic.com/
+.. _Cygwin: http://www.cygwin.com/
+
+__ MonetDB_
+
 
 Compiler
 --------
@@ -169,18 +190,26 @@ 10.0.  Older versions haven't been tried
 Python
 ------
 
-Python__ is needed for creating the configuration files that the
+Python_ is needed for creating the configuration files that the
 compiler uses to determine which files to compile.  Python can be
 downloaded from http://www.python.org/.  Just download and install the
 Windows binary distribution.
 
-On Windows64 you can use either the 32-bit or 64-bit version of
-Python.  However, if you're going to create an installer for the
-python component using ``python setup.py bdist_msi`` or ``python
-setup.py bdist_wininst``, you should use the version of Python for
-which you're creating the installer.
+Note that you can use either or both Python2 and Python3, and on 64
+bit architectures, either the 32 bit or 64 bit version of Python.  All
+these versions are fine for building the MonetDB suite.  However, if
+you want to create an installer for the Python component using
+``python setup.py bdist_wininst``, you need to use the version of
+Python for which you're building the installer.  It is possible to
+install all versions.  Using Chocolatey_ you can do::
 
-__ http://www.python.org/
+  choco install python2 python3 
+  choco install python2-x86_32 python3-x86_32
+
+The latter command only on 64 bit architectures to install the 32 bit
+verions.
+
+.. _Python: http://www.python.org/
 
 Bison
 -----
@@ -260,8 +289,8 @@ contents of the file are::
 
  #include <Windows.h>
  VS_VERSION_INFO       VERSIONINFO
- FILEVERSION           8,36,0,0        // change as appropriate
- PRODUCTVERSION                8,36,0,0        // change as appropriate
+ FILEVERSION           8,37,0,0        // change as appropriate
+ PRODUCTVERSION                8,37,0,0        // change as appropriate
  FILEFLAGSMASK         0x3fL
  FILEFLAGS             0
  FILEOS                        VOS_NT_WINDOWS32
@@ -284,18 +313,18 @@ required for the MonetDB5 component, and
 the clients component when it needs to talk to a MonetDB5 server.
 
 Download the source from http://www.openssl.org/.  We used the latest
-stable version (1.0.1k).  Follow the instructions in the file
+stable version (1.0.2c).  Follow the instructions in the file
 ``INSTALL.W32`` or ``INSTALL.W64``.  We used the option
 ``enable-static-engine`` as described in the instructions.
 
 .. The actual commands used were::
-   perl Configure VC-WIN32 no-asm enable-static-engine 
--prefix=C:\Libraries\openssl-1.0.1k.win32
+   perl Configure VC-WIN32 no-asm enable-static-engine 
--prefix=C:\Libraries\openssl-1.0.2c.win32
    ms\do_ms.bat
    nmake /f ms\ntdll.mak
    nmake /f ms\ntdll.mak install
    and::
-   perl Configure VC-WIN64A enable-static-engine 
--prefix=C:\Libraries\openssl-1.0.1k.win64
-   ms\do_win64a
+   perl Configure VC-WIN64A enable-static-engine 
--prefix=C:\Libraries\openssl-1.0.2c.win64
+   ms\do_win64a.bat
    nmake /f ms\ntdll.mak
    nmake /f ms\ntdll.mak install
    For the debug versions, use ``debug-VC-WIN32`` and
@@ -395,9 +424,26 @@ on Windows with NMake`__.  I did find on
 you will need to run the ``autogen.bat`` script despite what it says
 in the instructions.
 
+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.  We
+also uncommented the section defining ``MSVC_VLD_DIR`` in order to
+compile a debug version.
+
+For newer versions of Visual Studio, we also needed to add a line::
+
+   #include <algorithm>
+
+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 MSVC_VER=1600
+   nmake /f makefile.vc
 
 .. On Windows64, add ``WIN64=YES`` to the nmake command line.
 
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -1507,7 +1507,7 @@ setFormatter(const char *s)
                free(separator);
        separator = NULL;
        csvheader = 0;
-#ifdef WIN32
+#ifdef _TWO_DIGIT_EXPONENT
        if (formatter == TESTformatter)
                _set_output_format(0);
 #endif
@@ -1543,7 +1543,7 @@ setFormatter(const char *s)
        } else if (strcmp(s, "xml") == 0) {
                formatter = XMLformatter;
        } else if (strcmp(s, "test") == 0) {
-#ifdef WIN32
+#ifdef _TWO_DIGIT_EXPONENT
                _set_output_format(_TWO_DIGIT_EXPONENT);
 #endif
                formatter = TESTformatter;
diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -1184,20 +1184,24 @@ updatecolormap(int idx)
 /* gnuplot defaults */
 static int height = 160;
 
+#define LOGOFILE DATA_DIR "/doc/MonetDB/monetdblogo.png"
+
 static char *
 findlogo(void)
 {
 #ifdef _MSC_VER
-       static char buf[512];
+       /* on Windows, convert \ to  / path separators since this path
+        * is added to gnuplot input */
+       static char buf[sizeof(LOGOFILE)];
        int i;
 
-       snprintf(buf, sizeof(buf), "%s", DATA_DIR 
"\\doc\\MonetDB\\monetdblogo.png");
+       snprintf(buf, sizeof(buf), "%s", LOGOFILE);
        for (i = 0; buf[i]; i++)
                if (buf[i] == '\\')
                        buf[i] = '/';
        return buf;
 #else
-       return DATA_DIR "/doc/MonetDB/monetdblogo.png";
+       return LOGOFILE;
 #endif
 }
 
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -2551,21 +2551,25 @@ mapi_start_talking(Mapi mid)
        /* consume server challenge */
        len = mnstr_read_block(mid->from, buf, 1, BLOCK);
 
-       check_stream(mid, mid->from, "Connection terminated", 
"mapi_start_talking", (mid->blk.eos = 1, mid->error));
+       check_stream(mid, mid->from, "Connection terminated while starting", 
"mapi_start_talking", (mid->blk.eos = 1, mid->error));
 
        assert(len < BLOCK);
 
+       if (len == 0){
+               mapi_setError(mid, "Challenge string is not valid, it is 
empty", "mapi_start_talking", MERROR);
+               return mid->error;
+       }
        /* buf at this point looks like "challenge:servertype:protover[:.*]" */
        chal = buf;
        server = strchr(chal, ':');
        if (server == NULL) {
-               mapi_setError(mid, "Challenge string is not valid", 
"mapi_start_talking", MERROR);
+               mapi_setError(mid, "Challenge string is not valid, server not 
found", "mapi_start_talking", MERROR);
                return mid->error;
        }
        *server++ = '\0';
        protover = strchr(server, ':');
        if (protover == NULL) {
-               mapi_setError(mid, "Challenge string is not valid", 
"mapi_start_talking", MERROR);
+               mapi_setError(mid, "Challenge string is not valid, protocol not 
found", "mapi_start_talking", MERROR);
                return mid->error;
        }
        *protover++ = '\0';
@@ -3437,7 +3441,7 @@ read_line(Mapi mid)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to