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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list