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