Changeset: 05cff62f6f6f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/05cff62f6f6f Modified Files: monetdb5/modules/atoms/json.c monetdb5/modules/atoms/uuid.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h Branch: pushcands Log Message:
Merged with default diffs (truncated from 739 to 300 lines): diff --git a/clients/mapiclient/CMakeLists.txt b/clients/mapiclient/CMakeLists.txt --- a/clients/mapiclient/CMakeLists.txt +++ b/clients/mapiclient/CMakeLists.txt @@ -93,6 +93,6 @@ install(FILES mclient.1 msqldump.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 - COMPONENT mclient) + COMPONENT client) # vim: set ts=2:sw=2:et diff --git a/cmake/monetdb-rpm-packages.cmake b/cmake/monetdb-rpm-packages.cmake --- a/cmake/monetdb-rpm-packages.cmake +++ b/cmake/monetdb-rpm-packages.cmake @@ -23,64 +23,64 @@ set(CPACK_RPM_CHANGELOG_FILE "${CMAKE_SO set(CPACK_RPM_PACKAGE_RELOCATABLE OFF) set(CPACK_RPM_monetdb_PACKAGE_NAME "${CMAKE_PROJECT_NAME}") -set(CPACK_RPM_monetdb_FILE_NAME "${CMAKE_PROJECT_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_monetdb_FILE_NAME "${CPACK_RPM_monetdb_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_monetdb_PACKAGE_SUGGESTS "%{name}-client%{?_isa} = %{version}-%{release}") -set(CPACK_RPM_monetdbdev_PACKAGE_NAME "devel") -set(CPACK_RPM_monetdbdev_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_monetdbdev_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_monetdbdev_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-devel") +set(CPACK_RPM_monetdbdev_FILE_NAME "${CPACK_RPM_monetdbdev_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_monetdbdev_PACKAGE_SUMMARY "MonetDB development files") set(CPACK_RPM_monetdbdev_PACKAGE_REQUIRES "%{name}%{?_isa} = %{version}-%{release}, %{name}-stream-devel%{?_isa} = %{version}-%{release}") -set(CPACK_RPM_stream_PACKAGE_NAME "stream") -set(CPACK_RPM_stream_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_stream_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_stream_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-stream") +set(CPACK_RPM_stream_FILE_NAME "${CPACK_RPM_stream_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_stream_SUMMARY "MonetDB stream library") -set(CPACK_RPM_streamdev_PACKAGE_NAME "stream-devel") -set(CPACK_RPM_streamdev_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_streamdev_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_streamdev_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-stream-devel") +set(CPACK_RPM_streamdev_FILE_NAME "${CPACK_RPM_streamdev_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_streamdev_SUMMARY "MonetDB stream library") set(CPACK_RPM_streamdev_REQUIRES "%{name}-stream%{?_isa} = %{version}-%{release}, bzip2-devel, libcurl-devel, zlib-devel") -set(CPACK_RPM_client_PACKAGE_NAME "client") -set(CPACK_RPM_client_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_client_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_client_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-client") +set(CPACK_RPM_client_FILE_NAME "${CPACK_RPM_client_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_client_PACKAGE_SUMMARY "MonetDB - Monet Database Management System Client Programs") set(CPACK_RPM_client_RECCOMMENDS "%{name}-SQL-server5%{?_isa} = %{version}-%{release}") -set(CPACK_RPM_clientdev_PACKAGE_NAME "client-devel") -set(CPACK_RPM_clientdev_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_clientdev_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_clientdev_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-client-devel") +set(CPACK_RPM_clientdev_FILE_NAME "${CPACK_RPM_clientdev_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_clientdev_PACKAGE_SUMMARY "MonetDB - Monet Database Management System Client Programs") set(CPACK_RPM_clientdev_PACKAGE_REQUIRES "%{name}-client%{?_isa} = %{version}-%{release}, %{name}-stream-devel%{?_isa} = %{version}-%{release}, openssl-devel") -set(CPACK_RPM_odbc_PACKAGE_NAME "client-odbc") -set(CPACK_RPM_odbc_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_odbc_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_odbc_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-client-odbc") +set(CPACK_RPM_odbc_FILE_NAME "${CPACK_RPM_odbc_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_odbc_PACKAGE_SUMMARY "MonetDB ODBC driver") set(CPACK_RPM_odbc_PACKAGE_REQUIRES "%{name}-client%{?_isa} = %{version}-%{release}") set(CPACK_RPM_odbc_PACKAGE_REQUIRES_POST "unixODBC") set(CPACK_RPM_odbc_PACKAGE_REQUIRES_POSTUN "unixODBC") -set(CPACK_RPM_clienttest_PACKAGE_NAME "client-test") -set(CPACK_RPM_clienttest_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_clienttest_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_clienttest_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-client-test") +set(CPACK_RPM_clienttest_FILE_NAME "${CPACK_RPM_clienttest_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_clienttest_PACKAGE_SUMMARY "MonetDB Client tests package") set(CPACK_RPM_clienttest_PACKAGE_REQUIRES "MonetDB5-server%{?_isa} = %{version}-%{release}, %{name}-client%{?_isa} = %{version}-%{release}, %{name}-client-odbc%{?_isa} = %{version}-%{release}, %{name}-SQL-server5%{?_isa} = %{version}-%{release}, python3-pymonetdb >= 1.0.6") set(CPACK_RPM_clienttest_PACKAGE_RECOMMENDS "perl-DBD-monetdb >= 1.0, php-monetdb >= 1.0") -set(CPACK_RPM_geom_PACKAGE_NAME "geom-MonetDB5") -set(CPACK_RPM_geom_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_geom_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_geom_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-geom-MonetDB5") +set(CPACK_RPM_geom_FILE_NAME "${CPACK_RPM_geom_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_geom_PACKAGE_SUMMARY "MonetDB5 SQL GIS support module") set(CPACK_RPM_geom_PACKAGE_REQUIRES "MonetDB5-server%{?_isa} = %{version}-%{release}") -set(CPACK_RPM_rapi_PACKAGE_NAME "R") -set(CPACK_RPM_rapi_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_rapi_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_rapi_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-R") +set(CPACK_RPM_rapi_FILE_NAME "${CPACK_RPM_rapi_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_rapi_PACKAGE_SUMMARY "Integration of MonetDB and R, allowing use of R from within SQL") set(CPACK_RPM_rapi_PACKAGE_REQUIRES "MonetDB-SQL-server5%{?_isa} = %{version}-%{release}") -set(CPACK_RPM_pyapi3_PACKAGE_NAME "python3") -set(CPACK_RPM_pyapi3_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_pyapi3_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_pyapi3_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-python3") +set(CPACK_RPM_pyapi3_FILE_NAME "${CPACK_RPM_pyapi3_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_pyapi3_PACKAGE_SUMMARY "Integration of MonetDB and Python, allowing use of Python from within SQL") set(CPACK_RPM_pyapi3_PACKAGE_REQUIRES "MonetDB-SQL-server5%{?_isa} = %{version}-%{release}") -set(CPACK_RPM_fits_PACKAGE_NAME "cfitsio") -set(CPACK_RPM_fits_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_fits_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_fits_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-cfitsio") +set(CPACK_RPM_fits_FILE_NAME "${CPACK_RPM_fits_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_fits_PACKAGE_SUMMARY "MonetDB: Add on module that provides support for FITS files") set(CPACK_RPM_fits_PACKAGE_REQUIRES "MonetDB-SQL-server5%{?_isa} = %{version}-%{release}") @@ -100,26 +100,26 @@ set(CPACK_RPM_serverdev_FILE_NAME "${CPA set(CPACK_RPM_serverdev_PACKAGE_SUMMARY "MonetDB development files") set(CPACK_RPM_serverdev_PACKAGE_REQUIRES "MonetDB5-server%{?_isa} = %{version}-%{release}, %{name}-devel%{?_isa} = %{version}-%{release}") -set(CPACK_RPM_sql_PACKAGE_NAME "SQL-server5") -set(CPACK_RPM_sql_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_sql_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_sql_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-SQL-server5") +set(CPACK_RPM_sql_FILE_NAME "${CPACK_RPM_sql_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_sql_PACKAGE_SUMMARY "MonetDB5 SQL server modules") set(CPACK_RPM_sql_PACKAGE_REQUIRES_PRE "MonetDB5-server%{?_isa} = %{version}-%{release}") set(CPACK_RPM_sql_PACKAGE_SUGGESTS "%{name}-client%{?_isa} = %{version}-%{release}") # TODO: systemd_requires? -set(CPACK_RPM_testing_PACKAGE_NAME "testing") -set(CPACK_RPM_testing_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_testing_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_testing_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-testing") +set(CPACK_RPM_testing_FILE_NAME "${CPACK_RPM_testing_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_TESTING_PACKAGE_SUMMARY "MonetDB - Monet Database Management System") -set(CPACK_RPM_pytesting_PACKAGE_NAME "testing-python") -set(CPACK_RPM_pytesting_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_pytesting_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_pytesting_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-testing-python") +set(CPACK_RPM_pytesting_FILE_NAME "${CPACK_RPM_pytesting_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_pytesting_PACKAGE_SUMMARY "MonetDB - Monet Database Management System") set(CPACK_RPM_pytesting_PACKAGE_REQUIRES "%{name}-testing = %{version}-%{release}, %{name}-client-tests = %{version}-%{release}, /usr/bin/python3") set(CPACK_RPM_pytesting_PACKAGE_ARCHITECTURE "noarch") # TODO: detect rhel -set(CPACK_RPM_selinux_PACKAGE_NAME "selinux") -set(CPACK_RPM_selinux_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_selinux_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") +set(CPACK_RPM_selinux_PACKAGE_NAME "${CMAKE_PROJECT_NAME}-selinux") +set(CPACK_RPM_selinux_FILE_NAME "${CPACK_RPM_selinux_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_selinux_PACKAGE_SUMMARY "SELinux policy files for MonetDB") set(CPACK_RPM_selinux_PACKAGE_ARCHITECTURE "noarch") set(CPACK_RPM_selinux_PACKAGE_REQUIRES_POST "MonetDB5-server%{?_isa} = %{version}-%{release}, %{name}-SQL-server5%{?_isa} = %{version}-%{release}, /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles") @@ -134,6 +134,7 @@ set(CPACK_RPM_selinux_POST_UNINSTALL_SCR # might change this, or add the option to generate one based # on the cmake options. set(buildrequireslist + "cmake >= 3.12" "gcc" "bison" "/usr/bin/python3") diff --git a/common/utils/copybinary_support.h b/common/utils/copybinary_support.h --- a/common/utils/copybinary_support.h +++ b/common/utils/copybinary_support.h @@ -115,7 +115,7 @@ static inline void copy_binary_convert_date(void *p) { copy_binary_date *pp = (copy_binary_date*)p; - copy_binary_convert32(&pp->year); + copy_binary_convert16(&pp->year); } diff --git a/common/utils/mstring.h b/common/utils/mstring.h --- a/common/utils/mstring.h +++ b/common/utils/mstring.h @@ -35,6 +35,7 @@ strcpy_len(char *restrict dst, const cha * --enable-strict, so we just use the (more) expensive way of getting the * right answer (rescan the whole string) */ #if !defined(__GNUC__) || __GNUC__ > 7 || (__GNUC__ == 7 && __GNUC_MINOR__ > 5) +#if __GNUC__ < 11 /* This code is correct, but GCC gives a warning in certain * conditions, so we disable the warning temporarily. * The warning happens e.g. in @@ -50,6 +51,7 @@ GCC_Pragma("GCC diagnostic ignored \"-Wa return n + strlen(src + n); GCC_Pragma("GCC diagnostic pop") #endif +#endif } return strlen(src); } diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -955,8 +955,10 @@ hgeToStr(char **dst, size_t *len, const atommem(hgeStrlen); if (is_hge_nil(*src)) { if (external) { - return (ssize_t) strcpy_len(*dst, "nil", 4); + assert(*len >= strlen("nil") + 1); + return (ssize_t) strcpy(*dst, "nil"); } + assert(*len >= strlen(str_nil) + 1); strcpy(*dst, str_nil); return 1; } @@ -1360,9 +1362,11 @@ UUIDtoString(str *retval, size_t *len, c } if (is_uuid_nil(*value)) { if (external) { - return (ssize_t) strcpy_len(*retval, "nil", 4); - } - return (ssize_t) strcpy_len(*retval, str_nil, 2); + assert(*len >= strlen("nil") + 1); + return (ssize_t) strcpy(*retval, "nil"); + } + assert(*len >= strlen(str_nil) + 1); + return (ssize_t) strcpy(*retval, str_nil); } #ifdef HAVE_UUID uuid_unparse_lower(value->u, *retval); diff --git a/monetdb5/mal/mal_debugger.c b/monetdb5/mal/mal_debugger.c --- a/monetdb5/mal/mal_debugger.c +++ b/monetdb5/mal/mal_debugger.c @@ -43,6 +43,21 @@ typedef struct MDBSTATE{ #define skipWord(c, X) while (*(X) && (isalnum((unsigned char) *X))) { X++; } \ skipBlanc(c, X); +#define skipModule(C,B)\ +{\ + skipWord(C, B); \ + skipBlanc(C, B); \ + c = strchr(B,'.'); \ + if( c ){ \ + B = c + 1; \ + skipWord(cntxt, B); \ + skipBlanc(cntxt, B); \ + } \ + c = strchr(B,']'); \ + if (c) \ + B = c + 1; \ +} + /* Utilities * Dumping a stack on a file is primarilly used for debugging. * Printing the stack requires access to both the symbol table and @@ -1246,6 +1261,7 @@ retryRead: case 'l': /* list the current MAL block or module */ { int lstng; + c = b; lstng = LIST_MAL_NAME; if(*b == 'L') @@ -1255,24 +1271,17 @@ retryRead: if (*b != 0) { /* debug the block context */ MalBlkPtr m = mdbLocateMalBlk(cntxt, mb, b); - mnstr_printf(out, "#Inspect %s\n", b); + mnstr_printf(out, "#Inspect %s\n", c); if ( m ) mb = m; + else{ + mnstr_printf(out, "#MAL block not found '%s'\n", c); + break; + } - skipWord(cntxt, b); - skipBlanc(cntxt, b); - c = strchr(b,'.'); - if( c){ - b = c + 1; - skipWord(cntxt, b); - skipBlanc(cntxt, b); - } - c = strchr(b,']'); - if (c){ - b = c + 1; + skipModule(cntxt, b); goto partial; - } } else { /* * Listing the program starts at the pc last given. @@ -1310,19 +1319,18 @@ partial: case 'o': case 'O': /* optimizer and scheduler steps */ { - MalBlkPtr mdot = mb; + c = b; skipWord(cntxt, b); skipBlanc(cntxt, b); if (*b) { mnstr_printf(out, "#History of %s\n", b); - mdot = mdbLocateMalBlk(cntxt, mb, b); - if (mdot != NULL) - showMalBlkHistory(out, mdot); - else - mnstr_printf(out, "#'%s' not found\n", b); - } else{ - showMalBlkHistory(out, mb); - } + mb = mdbLocateMalBlk(cntxt, mb, b); + if (mb == NULL){ + mnstr_printf(out, "#'%s' not resolved\n", c); + break; + } + } + showMalBlkHistory(out, mb); break; } case 'r': /* reset program counter */ diff --git a/monetdb5/mal/mal_function.c b/monetdb5/mal/mal_function.c --- a/monetdb5/mal/mal_function.c _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list