Changeset: 870e22cd09c7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=870e22cd09c7
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: transaction-replication
Log Message:
Merge with default branch
diffs (truncated from 4073 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
@@ -2555,17 +2555,21 @@ mapi_start_talking(Mapi mid)
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';
diff --git a/clients/odbc/winsetup/Makefile.ag
b/clients/odbc/winsetup/Makefile.ag
--- a/clients/odbc/winsetup/Makefile.ag
+++ b/clients/odbc/winsetup/Makefile.ag
@@ -11,16 +11,16 @@ INCLUDES = \
$(ODBC_INCS)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list