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

Reply via email to