Changeset: 6dbac9feeee2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6dbac9feeee2
Modified Files:
        tools/monetdbe/monetdbe.c
Branch: default
Log Message:

Merged with Oct2020


diffs (233 lines):

diff --git a/cmake/monetdb-functions.cmake b/cmake/monetdb-functions.cmake
--- a/cmake/monetdb-functions.cmake
+++ b/cmake/monetdb-functions.cmake
@@ -9,7 +9,13 @@
 function(monetdb_hg_revision)
   # Get the current version control revision
   if(EXISTS "${CMAKE_SOURCE_DIR}/.hg")
-    execute_process(COMMAND "hg" "id" "-i" WORKING_DIRECTORY 
"${CMAKE_SOURCE_DIR}" RESULT_VARIABLE HG_RETURN_CODE
+    find_package(Hg)
+    if(HG_FOUND)
+      message("hg found: ${HG_EXECUTABLE}")
+    else()
+      message(FATAL_ERROR "Failed to find mercurial")
+    endif()
+    execute_process(COMMAND "${HG_EXECUTABLE}" "id" "-i" WORKING_DIRECTORY 
"${CMAKE_SOURCE_DIR}" RESULT_VARIABLE HG_RETURN_CODE
       OUTPUT_VARIABLE HG_OUPUT_RES OUTPUT_STRIP_TRAILING_WHITESPACE)
     if(HG_RETURN_CODE EQUAL 0 AND HG_OUPUT_RES)
       set(MERCURIAL_ID "${HG_OUPUT_RES}" PARENT_SCOPE)
@@ -17,7 +23,13 @@ function(monetdb_hg_revision)
       message(FATAL_ERROR "Failed to find mercurial ID")
     endif()
   elseif(EXISTS "${CMAKE_SOURCE_DIR}/.git")
-    execute_process(COMMAND "git" "rev-parse" "--short" "HEAD" 
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+    find_package(Git)
+    if(GIT_FOUND)
+      message("git found: ${GIT_EXECUTABLE}")
+    else()
+      message(FATAL_ERROR "Failed to find git")
+    endif()
+    execute_process(COMMAND "${GIT_EXECUTABLE}" "rev-parse" "--short" "HEAD" 
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
       RESULT_VARIABLE GIT_RETURN_CODE OUTPUT_VARIABLE GIT_OUPUT_RES 
OUTPUT_STRIP_TRAILING_WHITESPACE)
     if(GIT_RETURN_CODE EQUAL 0 AND GIT_OUPUT_RES)
       set(MERCURIAL_ID "${GIT_OUPUT_RES}" PARENT_SCOPE)
diff --git a/documentation/source/build.rst b/documentation/source/build.rst
--- a/documentation/source/build.rst
+++ b/documentation/source/build.rst
@@ -96,6 +96,41 @@ README-Fedora .... Which version
 Windows
 =======
 
+Run as Administrator::
+
+  @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile 
-InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object 
System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && 
SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
+  choco feature enable -n allowGlobalConfirmation
+  choco install ActivePerl ant ruby python3 hg git winflexbison
+  cinst VisualStudio2017community --package-parameters "--add 
Microsoft.VisualStudio.Workload.NativeDesktop --add 
microsoft.visualstudio.component.vc.cmake.project --add 
microsoft.visualstudio.component.vc.ATLMFC"
+  refreshenv
+
+  cd \
+  git clone https://github.com/microsoft/vcpkg
+  cd vcpkg
+  bootstrap-vcpkg.bat -disableMetrics
+  vcpkg integrate install
+  # needed for 64 bits (with the available python being 64 bit this is needed)
+  set VCPKG_DEFAULT_TRIPLET=x64-windows
+  vcpkg install libiconv openssl bzip2 geos libxml2 pcre pcre2 zlib getopt
+
+To compile MonetDB (as normal user)::
+
+  hg clone http://dev.monetdb.org/hg/MonetDB/
+
+  "c:\program files (x86)\microsoft visual 
studio\2017\community\common7\tools\vsdevcmd.bat"
+  "c:\Program Files (x86)\Microsoft Visual 
Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
+
+  cd MonetDB
+  mkdir build
+  cd build
+  cmake -G "Visual Studio 15 2017" 
-DCMAKE_TOOLCHAIN_FILE=/vcpkg/scripts/buildsystems/vcpkg.cmake 
-DCMAKE_INSTALL_PREFIX=%HOME%\install -A x64 -DTESTING=OFF ..
+  cmake -G "Visual Studio 15 2017" 
-DCMAKE_TOOLCHAIN_FILE=/vcpkg/scripts/buildsystems/vcpkg.cmake 
-DCMAKE_INSTALL_PREFIX=%HOME%\install -A x64 ..
+  cmake --build . --target ALL_BUILD
+  cmake --build . --target INSTALL
+  set 
PATH=%HOME%\install\bin;%HOME%\install\lib;%HOME%\install\lib\monetdb5;\vcpkg\installed\x64-windows\bin;\vcpkg\installed\x64-windows\debug\bin;%PATH%
+  cmake --build . --target RUN_TESTS
+  cmake --build . --target mtest
+
 MacOS
 =====
 
diff --git a/sql/test/BugTracker-2019/Tests/All 
b/sql/test/BugTracker-2019/Tests/All
--- a/sql/test/BugTracker-2019/Tests/All
+++ b/sql/test/BugTracker-2019/Tests/All
@@ -56,5 +56,5 @@ cast-interval.Bug-6793
 could-not-allocate-space.Bug-6795
 HAVE_LIBPY3?python3-udf-modules.Bug-6797
 json-text-empty-separator.Bug-6798
-KNOWNFAIL&FEATURE?orderby-alias-expr.Bug-6799
+orderby-alias-expr.Bug-6799
 drop-table-cascade.Bug-6805
diff --git 
a/sql/test/BugTracker-2019/Tests/orderby-alias-expr.Bug-6799.stable.err 
b/sql/test/BugTracker-2019/Tests/orderby-alias-expr.Bug-6799.stable.err
--- a/sql/test/BugTracker-2019/Tests/orderby-alias-expr.Bug-6799.stable.err
+++ b/sql/test/BugTracker-2019/Tests/orderby-alias-expr.Bug-6799.stable.err
@@ -5,19 +5,18 @@ stderr of test 'orderby-alias-expr.Bug-6
 # 12:58:24 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=38731" "--set" 
"mapi_usock=/var/tmp/mtest-5660/.s.monetdb.38731" "--forcemito" 
"--dbpath=/home/dinther/dev/dev/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019"
 "--set" "embedded_c=true"
 # 12:58:24 >  
 
-# builtin opt  gdk_dbpath = 
/home/dinther/dev/dev/INSTALL/var/monetdb5/dbfarm/demo
-# builtin opt  mapi_port = 50000
-# builtin opt  mapi_open = false
-# builtin opt  mapi_ipv6 = false
-# builtin opt  mapi_autosense = false
-# builtin opt  sql_optimizer = default_pipe
-# builtin opt  sql_debug = 0
-# cmdline opt  gdk_nr_threads = 0
-# cmdline opt  mapi_open = true
-# cmdline opt  mapi_port = 38731
-# cmdline opt  mapi_usock = /var/tmp/mtest-5660/.s.monetdb.38731
-# cmdline opt  gdk_dbpath = 
/home/dinther/dev/dev/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019
-# cmdline opt  embedded_c = true
+MAPI  = (monetdb) /var/tmp/mtest-2637315/.s.monetdb.37168
+QUERY = SELECT nm as alias1 FROM obale ORDER BY upper(alias1);
+ERROR = !SELECT: identifier 'alias1' unknown
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2637315/.s.monetdb.37168
+QUERY = SELECT nm as alias1 FROM obale ORDER BY nm || alias1;
+ERROR = !SELECT: identifier 'alias1' unknown
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2637315/.s.monetdb.37168
+QUERY = SELECT nm, COUNT(nm) countnm, COUNT(DISTINCT nm) countdnm FROM obale 
GROUP BY nm ORDER BY countdnm - countnm;
+ERROR = !SELECT: identifier 'countdnm' unknown
+CODE  = 42000
 
 # 12:58:24 >  
 # 12:58:24 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-5660" "--port=38731"
diff --git 
a/sql/test/BugTracker-2019/Tests/orderby-alias-expr.Bug-6799.stable.out 
b/sql/test/BugTracker-2019/Tests/orderby-alias-expr.Bug-6799.stable.out
--- a/sql/test/BugTracker-2019/Tests/orderby-alias-expr.Bug-6799.stable.out
+++ b/sql/test/BugTracker-2019/Tests/orderby-alias-expr.Bug-6799.stable.out
@@ -53,25 +53,7 @@ stdout of test 'orderby-alias-expr.Bug-6
 [ "b"  ]
 [ "b"  ]
 #SELECT nm as alias1 FROM obale ORDER BY alias1, nm;    -- no problemo
-% sys.L1 # table_name
-% alias1 # name
-% varchar # type
-% 1 # length
-[ NULL ]
-[ "a"  ]
-[ "b"  ]
-[ "b"  ]
-#SELECT nm as alias1 FROM obale ORDER BY upper(alias1);
-% sys.L1 # table_name
-% alias1 # name
-% varchar # type
-% 1 # length
-[ NULL ]
-[ "a"  ]
-[ "b"  ]
-[ "b"  ]
-#SELECT nm as alias1 FROM obale ORDER BY nm || alias1;
-% sys.L1 # table_name
+% sys. # table_name
 % alias1 # name
 % varchar # type
 % 1 # length
@@ -80,7 +62,7 @@ stdout of test 'orderby-alias-expr.Bug-6
 [ "b"  ]
 [ "b"  ]
 #SELECT nm, upper(nm) as alias1 FROM obale ORDER BY alias1;    -- no problemo
-% sys.obale,   sys.L1 # table_name
+% sys.obale,   sys. # table_name
 % nm,  alias1 # name
 % varchar,     varchar # type
 % 1,   1 # length
@@ -89,7 +71,7 @@ stdout of test 'orderby-alias-expr.Bug-6
 [ "b", "B"     ]
 [ "b", "B"     ]
 #SELECT nm, nm||nm as alias1 FROM obale ORDER BY alias1;    -- no problemo
-% sys.obale,   sys.L1 # table_name
+% sys.obale,   sys. # table_name
 % nm,  alias1 # name
 % varchar,     varchar # type
 % 1,   2 # length
@@ -98,15 +80,7 @@ stdout of test 'orderby-alias-expr.Bug-6
 [ "b", "bb"    ]
 [ "b", "bb"    ]
 #SELECT nm, COUNT(nm) countnm, COUNT(DISTINCT nm) countdnm FROM obale GROUP BY 
nm ORDER BY countnm desc, countdnm;    -- no problemo
-% sys.obale,   sys.L2, sys.L4 # table_name
-% nm,  countnm,        countdnm # name
-% varchar,     bigint, bigint # type
-% 1,   1,      1 # length
-[ "b", 2,      1       ]
-[ "a", 1,      1       ]
-[ NULL,        0,      0       ]
-#SELECT nm, COUNT(nm) countnm, COUNT(DISTINCT nm) countdnm FROM obale GROUP BY 
nm ORDER BY countdnm - countnm;
-% sys.obale,   sys.L2, sys.L4 # table_name
+% sys.obale,   sys.,   sys. # table_name
 % nm,  countnm,        countdnm # name
 % varchar,     bigint, bigint # type
 % 1,   1,      1 # length
diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c
--- a/tools/monetdbe/monetdbe.c
+++ b/tools/monetdbe/monetdbe.c
@@ -365,9 +365,9 @@ monetdbe_query_internal(monetdbe_databas
                }
 
                if (m->emode & m_prepare)
-                       ((monetdbe_result_internal*) result)->type = Q_PREPARE;
+                       (*(monetdbe_result_internal**) result)->type = 
Q_PREPARE;
                else
-                       ((monetdbe_result_internal*) result)->type = 
(b->results) ? b->results->query_type : m->type;
+                       (*(monetdbe_result_internal**) result)->type = 
(b->results) ? b->results->query_type : m->type;
        }
 
 cleanup:
@@ -380,7 +380,7 @@ cleanup:
                c->fdin = old_bstream;
        }
 
-       char* msg = commit_action(m, mdbe, result, (monetdbe_result_internal*) 
result);
+       char* msg = commit_action(m, mdbe, result, 
result?*(monetdbe_result_internal**) result:NULL);
 
        return msg;
 }
@@ -1183,6 +1183,11 @@ monetdbe_append(monetdbe_database dbhdl,
                        //-------------------------------------
                        BAT *bn = NULL;
 
+                       if (mtype != c->type.type->localtype) {
+                               mdbe->msg = createException(SQL, 
"monetdbe.monetdbe_append", "Cannot append %d into column '%s'", 
input[i]->type, c->base.name);
+                               goto cleanup;
+                       }
+
                        if ((bn = COLnew(0, mtype, 0, TRANSIENT)) == NULL) {
                                mdbe->msg = createException(SQL, 
"monetdbe.monetdbe_append", "Cannot create append column");
                                goto cleanup;
@@ -1206,6 +1211,8 @@ monetdbe_append(monetdbe_database dbhdl,
                        BATsettrivprop(bn);
 
                        if (store_funcs.append_col(m->session->tr, c, bn, 
TYPE_bat) != 0) {
+                               bn->theap.base = prev_base;
+                               bn->theap.size = prev_size;
                                BBPreclaim(bn);
                                mdbe->msg = createException(SQL, 
"monetdbe.monetdbe_append", "Cannot append BAT");
                                goto cleanup;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to