Changeset: b33b4961a7b3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b33b4961a7b3
Modified Files:
sql/server/rel_optimize_proj.c
sql/server/rel_optimize_sel.c
sql/server/rel_select.c
sql/server/rel_unnest.c
Branch: balanced_union
Log Message:
Merges default
diffs (truncated from 3222 to 300 lines):
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -824,3 +824,4 @@ 95d8feaa1167b5ba87bd99253c3f4e62ebf528a1
dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_5
dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_SP1_release
d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_7
+d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_SP2_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -151,7 +151,6 @@ BuildRequires: pkgconfig(libR)
# BuildRequires: pkgconfig(gdal) # -DSHP=ON
# BuildRequires: pkgconfig(netcdf) # -DNETCDF=ON
# BuildRequires: pkgconfig(proj) # -DWITH_PROJ=ON
-# BuildRequires: pkgconfig(snappy) # -DWITH_SNAPPY=ON
# BuildRequires: pkgconfig(valgrind) # -DWITH_VALGRIND=ON
%if (0%{?fedora} >= 22)
@@ -868,7 +867,6 @@ sed -i 's/1\.2/1.1/' misc/selinux/monetd
-DWITH_PCRE=ON \
-DWITH_PROJ=OFF \
-DWITH_READLINE=ON \
- -DWITH_SNAPPY=OFF \
-DWITH_VALGRIND=OFF \
-DWITH_XML2=ON \
-DWITH_ZLIB=ON
@@ -895,9 +893,6 @@ install -d -m 0775 %{buildroot}%{_locals
install -d -m 0775 %{buildroot}%{_rundir}/monetdb
# remove unwanted stuff
-# .la files
-rm -f %{buildroot}%{_libdir}/*.la
-rm -f %{buildroot}%{_libdir}/monetdb5/*.la
rm -f %{buildroot}%{_libdir}/monetdb5/lib_opt_sql_append.so
rm -f %{buildroot}%{_libdir}/monetdb5/lib_microbenchmark*.so
rm -f %{buildroot}%{_libdir}/monetdb5/lib_udf*.so
diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -69,8 +69,8 @@ CINTEGRATION Enable support for C
CMAKE_SUMMARY Show a summary of the cmake configuration (for debug
purposes, default=OFF)
CMAKE_UNITTESTS Build and run the unittest for the build system
(default=OFF)
FITS Enable support for FITS
-GEOM Enable support for geom module
-INT128 Enable support for 128-bit integers
+GEOM Enable support for geom module (using libgeos library)
+INT128 Enable support for 128-bit integers (if compiler supports
them)
NETCDF Enable support for netcdf
ODBC Compile the MonetDB ODBC driver
PY3INTEGRATION Enable support for Python 3 integration into MonetDB
@@ -82,7 +82,9 @@ TESTING Enable support for t
WITH_BZ2 Include bz2 support
WITH_CMOCKA Include cmocka support (default=OFF)
WITH_CURL Include curl support
+WITH_LZ4 Include lz4 support
WITH_LZMA Include lzma support
+WITH_OPENSSL Include TLS support (secure client/server connection)
WITH_PCRE Include pcre support
WITH_PROJ Include proj support
WITH_READLINE Include readline support
@@ -98,27 +100,27 @@ On Fedora, the following packages are re
``bison``, ``cmake``, ``gcc``, ``pkgconf``, ``python3``.
The following packages are optional but recommended:
-``bzip2-devel``, ``pcre-devel``, ``readline-devel``,
-``xz-devel``, ``zlib-devel``.
+``bzip2-devel``, ``lz4-devel``, ``openssl-devel``, ``pcre-devel``,
+``readline-devel``, ``xz-devel``, ``zlib-devel``.
The following packages are optional:
``cfitsio-devel``, ``gdal-devel``, ``geos-devel``, ``libasan``,
-``libcurl-devel``, ``libxml2-devel``, ``netcdf-devel``, ``proj-devel``,
-``python3-devel``, ``python3-numpy``, ``R-core-devel``,
-``unixODBC-devel``, ``valgrind-devel``.
+``libcmocka-devel``, ``libcurl-devel``, ``libxml2-devel``,
+``netcdf-devel``, ``proj-devel``, ``python3-devel``, ``python3-numpy``,
+``R-core-devel``, ``unixODBC-devel``, ``valgrind-devel``.
On Ubuntu and Debian the following packages are required:
``bison``, ``cmake``, ``gcc``, ``pkg-config``, ``python3``.
The following packages are optional but recommended:
-``libbz2-dev``, ``libpcre3-dev``, ``libreadline-dev``,
-``liblzma-dev``, ``zlib1g-dev``.
+``libbz2-dev``, ``liblz4-dev``, ``libpcre3-dev``, ``libreadline-dev``,
+``liblzma-dev``, ``libssl-dev``, ``zlib1g-dev``.
The following packages are optional:
-``libasan5``, ``libcfitsio-dev``, ``libcurl4-gnutls-dev``,
-``libgdal-dev``, ``libgeos-dev``, ``libnetcdf-dev``, ``libproj-dev``,
-``libxml2-dev``, ``python3-dev``, ``python3-numpy``, ``r-base-dev``,
-``unixodbc-dev``, ``valgrind``.
+``libasan5``, ``libcfitsio-dev``, ``libcmocka-dev``,
+``libcurl4-gnutls-dev``, ``libgdal-dev``, ``libgeos-dev``,
+``libnetcdf-dev``, ``libproj-dev``, ``libxml2-dev``, ``python3-dev``,
+``python3-numpy``, ``r-base-dev``, ``unixodbc-dev``, ``valgrind``.
``cmake`` must be at least version 3.12, ``python`` must be at least
version 3.5.
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -120,7 +120,6 @@ BAT *BATdescriptor(bat i);
BAT *BATdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool not_in,
BUN estimate);
BAT *BATdiffcand(BAT *a, BAT *b);
gdk_return BATextend(BAT *b, BUN newcap)
__attribute__((__warn_unused_result__));
-void BATfakeCommit(BAT *b);
gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps,
BUN n, bool asc, bool nilslast, bool distinct)
__attribute__((__warn_unused_result__));
restrict_t BATgetaccess(BAT *b);
ValPtr BATgetprop(BAT *b, enum prop_t idx);
@@ -452,7 +451,7 @@ gdk_return VARcalcsub(ValPtr ret, const
gdk_return VARcalcxor(ValPtr ret, const ValRecord *lft, const ValRecord *rgt);
gdk_return VARconvert(ValPtr ret, const ValRecord *v, uint8_t scale1, uint8_t
scale2, uint8_t precision);
void VIEWbounds(BAT *b, BAT *view, BUN l, BUN h);
-BAT *VIEWcreate(oid seq, BAT *b);
+BAT *VIEWcreate(oid seq, BAT *b, BUN l, BUN h);
size_t _MT_npages;
size_t _MT_pagesize;
const union _dbl_nil_t _dbl_nil_;
diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
--- a/clients/mapiclient/mhelp.c
+++ b/clients/mapiclient/mhelp.c
@@ -92,10 +92,10 @@ SQLhelp sqlhelp1[] = {
"ident",
"See also
https://www.monetdb.org/documentation/user-guide/sql-manual/data-definition/privileges/"},
{"ANALYZE",
- "Collect column/table/schema data statistics for analysis and
optimizer usage",
- "ANALYZE ident [ . ident [ column_list ] ] [SAMPLE size] [MINMAX]",
+ "Analyze and update column data statistics of column(s) of one or all
tables in a schema",
+ "ANALYZE ident [ . ident [ column_list ] ]",
"ident,column_list",
- "See also
https://www.monetdb.org/documentation/admin-guide/monitoring/table-statistics/"},
+ "See also
https://www.monetdb.org/documentation/user-guide/sql-manual/data-manipulation/analyze-statement/"},
{"CALL",
"Call a stored procedure",
"CALL qname '(' [ scalar_expression [',' ...] ] ')' | CALL ident '.'
ident",
diff --git a/clients/odbc/driver/SQLConnect.c b/clients/odbc/driver/SQLConnect.c
--- a/clients/odbc/driver/SQLConnect.c
+++ b/clients/odbc/driver/SQLConnect.c
@@ -251,7 +251,7 @@ MNDBConnect(ODBCDbc *dbc,
}
if (mid == NULL || mapi_error(mid)) {
/* Client unable to establish connection */
- addDbcError(dbc, "08001", NULL, 0);
+ addDbcError(dbc, "08001", mid ? mapi_error_str(mid) : NULL, 0);
rc = SQL_ERROR;
/* clean up */
if (mid)
diff --git a/cmake/Modules/FindSnappy.cmake b/cmake/Modules/FindSnappy.cmake
deleted file mode 100644
--- a/cmake/Modules/FindSnappy.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-# - Find snappy
-# Find the native snappy headers and libraries.
-#
-# SNAPPY_INCLUDE_DIR - where to find snappy.h, etc.
-# SNAPPY_LIBRARIES - List of libraries when using snappy.
-# SNAPPY_FOUND - True if snappy found.
-
-find_path(SNAPPY_INCLUDE_DIR NAMES snappy.h)
-find_library(SNAPPY_LIBRARIES NAMES snappy)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Snappy
- DEFAULT_MSG
- SNAPPY_LIBRARIES
- SNAPPY_INCLUDE_DIR)
-
-mark_as_advanced(SNAPPY_INCLUDE_DIR
- SNAPPY_LIBRARIES)
-
-if(SNAPPY_FOUND)
- if(NOT TARGET SNAPPY::SNAPPY AND
- (EXISTS "${SNAPPY_LIBRARIES}"))
- add_library(SNAPPY::SNAPPY UNKNOWN IMPORTED)
- set_target_properties(SNAPPY::SNAPPY
- PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${SNAPPY_INCLUDE_DIR}")
-
- if(EXISTS "${SNAPPY_LIBRARIES}")
- set_target_properties(SNAPPY::SNAPPY
- PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
- IMPORTED_LOCATION "${SNAPPY_LIBRARIES}")
- endif()
- endif()
-endif()
diff --git a/cmake/monetdb-defines.cmake b/cmake/monetdb-defines.cmake
--- a/cmake/monetdb-defines.cmake
+++ b/cmake/monetdb-defines.cmake
@@ -85,6 +85,7 @@ function(monetdb_configure_defines)
check_symbol_exists("getopt_long" "getopt.h" HAVE_GETOPT_LONG)
cmake_pop_check_state()
check_function_exists("getrlimit" HAVE_GETRLIMIT)
+ check_function_exists("gettid" HAVE_GETTID)
check_function_exists("gettimeofday" HAVE_GETTIMEOFDAY)
check_function_exists("getuid" HAVE_GETUID)
check_symbol_exists("gmtime_r" "time.h" HAVE_GMTIME_R)
@@ -146,7 +147,6 @@ macro(monetdb_macro_variables)
set(HAVE_LIBZ ${ZLIB_FOUND})
set(HAVE_LIBLZ4 ${LZ4_FOUND})
set(HAVE_PROJ ${PROJ_FOUND})
- set(HAVE_SNAPPY ${SNAPPY_FOUND})
set(HAVE_FITS ${CFITSIO_FOUND})
set(HAVE_VALGRIND ${VALGRIND_FOUND})
set(HAVE_NETCDF ${NETCDF_FOUND})
diff --git a/cmake/monetdb-findpackages.cmake b/cmake/monetdb-findpackages.cmake
--- a/cmake/monetdb-findpackages.cmake
+++ b/cmake/monetdb-findpackages.cmake
@@ -65,10 +65,6 @@ if(WITH_PROJ)
find_package(Proj 6.0)
endif()
-if(WITH_SNAPPY)
- find_package(Snappy)
-endif()
-
if(WITH_VALGRIND)
find_package(Valgrind)
endif()
diff --git a/cmake/monetdb-functions.cmake b/cmake/monetdb-functions.cmake
--- a/cmake/monetdb-functions.cmake
+++ b/cmake/monetdb-functions.cmake
@@ -98,7 +98,6 @@ function(monetdb_cmake_summary)
message(STATUS "Zlib library: ${ZLIB_FOUND}")
message(STATUS "Lz4 library: ${LZ4_FOUND}")
message(STATUS "Proj library: ${PROJ_FOUND}")
- message(STATUS "Snappy library: ${SNAPPY_FOUND}")
message(STATUS "Geos library: ${GEOS_FOUND}")
message(STATUS "Gdal library: ${GDAL_FOUND}")
message(STATUS "Fits library: ${CFITSIO_FOUND}")
diff --git a/cmake/monetdb-options.cmake b/cmake/monetdb-options.cmake
--- a/cmake/monetdb-options.cmake
+++ b/cmake/monetdb-options.cmake
@@ -133,10 +133,6 @@ option(WITH_PCRE
"Include pcre support"
ON)
-option(WITH_SNAPPY
- "Include snappy support"
- ON)
-
option(WITH_VALGRIND
"Include valgrind support"
ON)
diff --git a/common/utils/matomic.h b/common/utils/matomic.h
--- a/common/utils/matomic.h
+++ b/common/utils/matomic.h
@@ -18,7 +18,6 @@
* The following operations are defined:
* ATOMIC_VAR_INIT -- initializer for the variable (not necessarily atomic!);
* ATOMIC_INIT -- initialize the variable (not necessarily atomic!);
- * ATOMIC_DESTROY -- destroy the variable
* ATOMIC_GET -- return the value of a variable;
* ATOMIC_SET -- set the value of a variable;
* ATOMIC_XCG -- set the value of a variable, return original value;
@@ -72,17 +71,17 @@
#if ATOMIC_LLONG_LOCK_FREE != 1
#error "we need _Atomic(unsigned [long] long) to be lock free"
#endif
-typedef atomic_ulong ATOMIC_TYPE;
+typedef atomic_ulong ATOMIC_TYPE __attribute__((__aligned__(8)));
typedef unsigned long ATOMIC_BASE_TYPE;
#else
-typedef atomic_ullong ATOMIC_TYPE;
+typedef atomic_ullong ATOMIC_TYPE __attribute__((__aligned__(8)));
typedef unsigned long long ATOMIC_BASE_TYPE;
#endif
#elif SIZEOF_LONG == 8
#if ATOMIC_LONG_LOCK_FREE != 2
#error "we need _Atomic(unsigned long) to be lock free"
#endif
-typedef atomic_ulong ATOMIC_TYPE;
+typedef atomic_ulong ATOMIC_TYPE __attribute__((__aligned__(8)));
typedef unsigned long ATOMIC_BASE_TYPE;
#else
#error "we need a 64 bit atomic type"
@@ -97,24 +96,23 @@ typedef unsigned long ATOMIC_BASE_TYPE;
#if ATOMIC_LLONG_LOCK_FREE != 1
#error "we need _Atomic(unsigned [long] long) to be lock free"
#endif
-typedef atomic_ulong ATOMIC_TYPE;
+typedef atomic_ulong ATOMIC_TYPE __attribute__((__aligned__(8)));
typedef unsigned long ATOMIC_BASE_TYPE;
#else
-typedef volatile atomic_ullong ATOMIC_TYPE;
+typedef volatile atomic_ullong ATOMIC_TYPE __attribute__((__aligned__(8)));
typedef unsigned long long ATOMIC_BASE_TYPE;
#endif
#elif SIZEOF_LONG == 8
#if ATOMIC_LONG_LOCK_FREE != 2
#error "we need _Atomic(unsigned long) to be lock free"
#endif
-typedef volatile atomic_ulong ATOMIC_TYPE;
+typedef volatile atomic_ulong ATOMIC_TYPE __attribute__((__aligned__(8)));
typedef unsigned long ATOMIC_BASE_TYPE;
#else
#error "we need a 64 bit atomic type"
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]