Changeset: b1d90acb1b2b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b1d90acb1b2b
Added Files:
sql/test/BugTracker-2016/Tests/storagemodel.stable.out.Windows
sql/test/BugTracker-2017/Tests/null-quantile.Bug-6218.sql
sql/test/BugTracker-2017/Tests/null-quantile.Bug-6218.stable.err
sql/test/BugTracker-2017/Tests/null-quantile.Bug-6218.stable.out
sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6216.sql
sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6216.stable.err
sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6216.stable.out
sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6217.sql
sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6217.stable.err
sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6217.stable.out
Removed Files:
monetdb5/extras/sphinx/30_sphinx.mal
monetdb5/extras/sphinx/Makefile.ag
monetdb5/extras/sphinx/sphinx.c
monetdb5/extras/sphinx/sphinx.h
monetdb5/extras/sphinx/sphinx.mal
sql/test/BugTracker-2016/Tests/storagemodel.stable.out.32bit
sql/test/BugTracker-2016/Tests/storagemodel.stable.out.int128
Modified Files:
MonetDB.spec
NT/monetdb_config.h.in
NT/rules.msc
clients/Tests/All
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
configure.ag
debian/rules
gdk/ChangeLog
gdk/gdk.h
gdk/gdk_aggr.c
gdk/gdk_batop.c
gdk/gdk_imprints.c
gdk/gdk_interprocess.c
gdk/gdk_logger.c
gdk/gdk_orderidx.c
gdk/gdk_private.h
gdk/gdk_select.c
gdk/gdk_utils.c
monetdb5/ChangeLog
monetdb5/extras/Makefile.ag
monetdb5/mal/mal_resource.h
monetdb5/mal/mal_runtime.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_result.h
sql/include/sql_catalog.h
sql/storage/bat/res_table.c
sql/storage/sql_storage.h
sql/test/BugDay_2005-12-19_2.9.3/Tests/NULL_in_CASE.SF-1211335.stable.out
sql/test/BugTracker-2009/Tests/TribooleanFailureWithSubquery.SF-2679434.stable.out
sql/test/BugTracker-2009/Tests/TribooleanFailureWithSubquery.SF-2679434.stable.out.int128
sql/test/BugTracker-2009/Tests/set_and_arg_null.SF-2812729.stable.out
sql/test/BugTracker-2009/Tests/utf8_bug.SF-2822855.stable.out
sql/test/BugTracker-2013/Tests/All
sql/test/BugTracker-2014/Tests/copy-into.Bug-3481.SQL.py
sql/test/BugTracker-2014/Tests/copy-into.Bug-3481.stable.out
sql/test/BugTracker-2014/Tests/ifthenelse.Bug-3629.stable.out
sql/test/BugTracker-2015/Tests/All
sql/test/BugTracker-2015/Tests/string_split.Bug-3564.stable.out
sql/test/BugTracker-2016/Tests/storagemodel.sql
sql/test/BugTracker-2016/Tests/storagemodel.stable.err
sql/test/BugTracker-2016/Tests/storagemodel.stable.out
sql/test/BugTracker-2017/Tests/All
sql/test/BugTracker/Tests/case_with_aggr.SF-1876779.stable.out
sql/test/BugTracker/Tests/case_with_aggr.SF-1876779.stable.out.int128
sql/test/Tests/identifiers.stable.out
sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.SQL.py
sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.out
sql/test/VOC/Tests/median.Bug-3096.stable.out
sql/test/bugs/Tests/aggr_single_value.stable.out
sql/test/bugs/Tests/aggr_single_value.stable.out.int128
sql/test/orderidx/Tests/simpletable.stable.out
sql/test/orderidx/Tests/smalltable.stable.out
sql/test/pg_regress/Tests/date.stable.out
sql/test/pg_regress/Tests/interval.stable.out
sql/test/pg_regress/Tests/interval.stable.out.int128
sql/test/pg_regress/Tests/strings.stable.out
sql/test/pg_regress/Tests/strings_concat.stable.out
sql/test/quantiles/Tests/quantiles.stable.out
sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.sql
sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out
sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql
sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out
sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.sql
sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.out
testing/Mfilter.py
testing/Mtest.py.in
tools/merovingian/daemon/connections.c
Branch: data-vaults
Log Message:
Merge with default
diffs (truncated from 3734 to 300 lines):
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -78,6 +78,14 @@
%endif
%endif
+# If the _without_pcre macro is not set, the PCRE library is used for
+# the implementation of the SQL LIKE and ILIKE operators. Otherwise
+# the POSIX regex functions are used. The macro can be set when using
+# mock by passing it the flag --without=pcre.
+%if %{?_without_pcre:0}%{!?_without_pcre:1}
+%define with_pcre 1
+%endif
+
%if %{fedpkgs}
# If the _without_rintegration macro is not set, the MonetDB-R RPM
# will be created. The macro can be set when using mock by passing it
@@ -151,11 +159,12 @@ BuildRequires: libatomic_ops-devel
BuildRequires: libcurl-devel
BuildRequires: xz-devel
# BuildRequires: libmicrohttpd-devel
-# BuildRequires: libsphinxclient-devel
BuildRequires: libuuid-devel
BuildRequires: libxml2-devel
BuildRequires: openssl-devel
+%if %{?with_pcre:1}%{!?with_pcre:0}
BuildRequires: pcre-devel >= 4.5
+%endif
BuildRequires: readline-devel
BuildRequires: unixODBC-devel
# BuildRequires: uriparser-devel
@@ -901,13 +910,13 @@ developer, but if you do want to test, t
--with-libxml2=yes \
--with-lzma=yes \
--with-openssl=yes \
+ --with-regex=%{?with_pcre:PCRE}%{!?with_pcre:POSIX} \
--with-proj=no \
--with-pthread=yes \
--with-python2=yes \
--with-python3=no \
--with-readline=yes \
--with-samtools=%{?with_samtools:yes}%{!?with_samtools:no} \
- --with-sphinxclient=no \
--with-unixodbc=yes \
--with-uuid=yes \
--with-valgrind=no \
diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -493,9 +493,6 @@
/* Define to 1 if the system has the type `socklen_t'. */
#define HAVE_SOCKLEN_T 1
-/* Define if you have the sphinxclient library */
-/* #undef HAVE_SPHINXCLIENT */
-
/* Define if you have the SQLGetPrivateProfileString function */
#define HAVE_SQLGETPRIVATEPROFILESTRING 1
diff --git a/NT/rules.msc b/NT/rules.msc
--- a/NT/rules.msc
+++ b/NT/rules.msc
@@ -396,11 +396,6 @@ create_winconfig_conds_new_py:
!ELSE
$(ECHO) HAVE_SAMTOOLS_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py"
!ENDIF
-!IFDEF HAVE_SPHINXCLIENT
- $(ECHO) HAVE_SPHINXCLIENT_FALSE='#' >>
"$(TOPDIR)\winconfig_conds_new.py"
-!ELSE
- $(ECHO) HAVE_SPHINXCLIENT_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py"
-!ENDIF
!IFDEF HAVE_SQL
$(ECHO) HAVE_SQL_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py"
!ELSE
diff --git a/clients/Tests/All b/clients/Tests/All
--- a/clients/Tests/All
+++ b/clients/Tests/All
@@ -1,3 +1,3 @@
exports
-HAVE_FITS&HAVE_GEOM&HAVE_LIBPY&HAVE_LIBR&HAVE_LIDAR&HAVE_NETCDF&HAVE_SAMTOOLS&HAVE_SHP&HAVE_SPHINXCLIENT?MAL-signatures
+HAVE_FITS&HAVE_GEOM&HAVE_LIBPY&HAVE_LIBR&HAVE_LIDAR&HAVE_NETCDF&HAVE_SAMTOOLS&HAVE_SHP?MAL-signatures
MERCURIAL?malcheck
diff --git a/clients/Tests/MAL-signatures.stable.out
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -8321,12 +8321,6 @@ Ready.
[ "shp", "attach", "pattern shp.attach(filename:str):void ",
"SHPattach;", "Register an ESRI Shapefile in the vault catalog" ]
[ "shp", "import", "pattern shp.import(fileid:int):void ",
"SHPimport;", "Import an ESRI Shapefile with given id into the vault" ]
[ "shp", "import", "pattern shp.import(fileid:int, po:wkb):void ",
"SHPpartialimport;", "Partially import an ESRI Shapefile with given id into
the vault" ]
-[ "sphinx", "search", "function sphinx.search(q:str):bat[:lng];",
"", "" ]
-[ "sphinx", "searchIndex", "function sphinx.searchIndex(q:str,
i:str):bat[:lng];", "", "" ]
-[ "sphinx", "searchIndexLimit", "command sphinx.searchIndexLimit(q:str,
i:str, l:int):bat[:lng] ", "SPHINXsearchIndexLimit;", "Search the
query on the specified index, with limit" ]
-[ "sphinx", "sphinx_search", "function
sphinx.sphinx_search(q:str):bat[:lng];", "", "" ]
-[ "sphinx", "sphinx_searchIndex", "function
sphinx.sphinx_searchIndex(q:str, i:str):bat[:lng];", "", "" ]
-[ "sphinx", "sphinx_searchIndexLimit", "function
sphinx.sphinx_searchIndexLimit(q:str, i:str, l:int):bat[:lng];", "",
"" ]
[ "sql", "abort", "pattern sql.abort():void ", "SQLabort;",
"Trigger the abort operation for a MAL block" ]
[ "sql", "affectedRows", "pattern sql.affectedRows(mvc:int, nr:lng):int
", "mvc_affected_rows_wrap;", "export the number of affected rows by
the current query" ]
[ "sql", "all", "inline function sql.all(b:bat[:any_1], gp:bat[:oid],
gpe:bat[:oid], no_nil:bit):bat[:any_1];", "", "" ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -10683,12 +10683,6 @@ Ready.
[ "shp", "attach", "pattern shp.attach(filename:str):void ",
"SHPattach;", "Register an ESRI Shapefile in the vault catalog" ]
[ "shp", "import", "pattern shp.import(fileid:int):void ",
"SHPimport;", "Import an ESRI Shapefile with given id into the vault" ]
[ "shp", "import", "pattern shp.import(fileid:int, po:wkb):void ",
"SHPpartialimport;", "Partially import an ESRI Shapefile with given id into
the vault" ]
-[ "sphinx", "search", "function sphinx.search(q:str):bat[:lng];",
"", "" ]
-[ "sphinx", "searchIndex", "function sphinx.searchIndex(q:str,
i:str):bat[:lng];", "", "" ]
-[ "sphinx", "searchIndexLimit", "command sphinx.searchIndexLimit(q:str,
i:str, l:int):bat[:lng] ", "SPHINXsearchIndexLimit;", "Search the
query on the specified index, with limit" ]
-[ "sphinx", "sphinx_search", "function
sphinx.sphinx_search(q:str):bat[:lng];", "", "" ]
-[ "sphinx", "sphinx_searchIndex", "function
sphinx.sphinx_searchIndex(q:str, i:str):bat[:lng];", "", "" ]
-[ "sphinx", "sphinx_searchIndexLimit", "function
sphinx.sphinx_searchIndexLimit(q:str, i:str, l:int):bat[:lng];", "",
"" ]
[ "sql", "abort", "pattern sql.abort():void ", "SQLabort;",
"Trigger the abort operation for a MAL block" ]
[ "sql", "affectedRows", "pattern sql.affectedRows(mvc:int, nr:lng):int
", "mvc_affected_rows_wrap;", "export the number of affected rows by
the current query" ]
[ "sql", "all", "inline function sql.all(b:bat[:any_1], gp:bat[:oid],
gpe:bat[:oid], no_nil:bit):bat[:any_1];", "", "" ]
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -1686,38 +1686,59 @@ AS_CASE([$host],
AC_DEFINE([HAVE_OPENSSL], 1, [Define if you have the
OpenSSL library])])])])
-# PCRE library
-# required on Windows, optional on POSIX systems with GNU regex
-req_pcre_ver='4.5'
-PKG_CHECK_MODULES([pcre], [libpcre >= $req_pcre_ver],
- [have_pcre=yes], [have_pcre=no; why_have_pcre="(libpcre >=
$req_pcre_ver not found)"])
-AS_VAR_IF([have_pcre], [yes], [
- AC_MSG_CHECKING([whether pcre comes with UTF-8 support])
- save_LIBS="$LIBS"
- LIBS="$LIBS $pcre_LIBS"
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $pcre_CFLAGS"
- AC_RUN_IFELSE([AC_LANG_PROGRAM(
- [[@%:@include <pcre.h>]],
- [[int rc; pcre_config(PCRE_CONFIG_UTF8, &rc); exit(!rc);]])],
- [AC_MSG_RESULT([yes])],
- [have_pcre=no; why_have_pcre="(libpcre found but no UTF-8
support)"; AC_MSG_RESULT([no])],
- [AC_MSG_RESULT([assuming yes])])
- LIBS="$save_LIBS"
- CFLAGS="$save_CFLAGS"])
+org_have_regex=auto
+dft_regex=auto
+AC_ARG_WITH([regex],
+ [AS_HELP_STRING([--with-regex=TYPE],
+ [use either PRCE or POSIX regular expressions (default=PCRE if
available)])],
+ [AS_CASE([$withval],
+ [pcre|PCRE], [have_regex=pcre],
+ [posix|POSIX], [have_regex=posix],
+ [auto|AUTO], [have_regex=auto],
+ [AC_MSG_ERROR([--with-regex argument must be either PCRE or
POSIX])])],
+ [have_regex=$dft_regex])
+
+AS_VAR_IF([have_regex], [posix],
+ [have_pcre=no; why_have_pcre="(PCRE disabled)"],
+ [
+ # PCRE library
+ # required on Windows, optional on POSIX systems with GNU regex
+ req_pcre_ver='4.5'
+ PKG_CHECK_MODULES([pcre], [libpcre >= $req_pcre_ver],
+ [have_pcre=yes],
+ [AS_VAR_IF([have_regex], [pcre],
+ [AC_MSG_ERROR([PCRE library not found or not usable])],
+ [have_pcre=no; why_have_pcre="(libpcre >= $req_pcre_ver
not found)"])])
+ AS_VAR_IF([have_pcre], [yes], [
+ AC_MSG_CHECKING([whether pcre comes with UTF-8 support])
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $pcre_LIBS"
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $pcre_CFLAGS"
+ AC_RUN_IFELSE([AC_LANG_PROGRAM(
+ [[@%:@include <pcre.h>]],
+ [[int rc; pcre_config(PCRE_CONFIG_UTF8, &rc);
exit(!rc);]])],
+ [AC_MSG_RESULT([yes])],
+ [have_pcre=no; why_have_pcre="(libpcre found but no
UTF-8 support)"; AC_MSG_RESULT([no])],
+ [AC_MSG_RESULT([assuming yes])])
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+ have_regex=PCRE])
+ ])
AS_VAR_IF([have_pcre], [yes], [
AC_DEFINE([HAVE_LIBPCRE], 1, [Define if you have the pcre library])])
AM_CONDITIONAL([HAVE_PCRE], [test x"$have_pcre" != xno])
have_gnuregex=yes
-AS_VAR_IF([have_pcre], [yes], [], [
+AS_VAR_IF([have_pcre], [no], [
+ AC_MSG_CHECKING([whether for POSIX regex support])
AC_RUN_IFELSE([AC_LANG_PROGRAM(
[[@%:@include <regex.h>]],
[[regex_t re; regcomp(&re, "hello",
REG_EXTENDED|REG_NOSUB);]])],
- [AC_MSG_RESULT([yes])],
- [have_gnuregex=no],
- [have_gnuregex=no])
+ [AC_MSG_RESULT([yes]); have_regex=POSIX],
+ [AC_MSG_RESULT([no]); have_gnuregex=no],
+ [AC_MSG_RESULT([no]); have_gnuregex=no])
])
AS_CASE([$enable_monetdb5-$have_pcre-$have_gnuregex],
@@ -1798,38 +1819,6 @@ AS_VAR_IF([have_valgrind], [no], [], [
[AC_DEFINE([HAVE_VALGRIND], 1, [Define if you have valgrind
installed and want to use it])],
[AS_VAR_IF([have_valgrind], [yes], [AC_MSG_ERROR([no valgrind
support found])])])])
-# check for sphinxclient
-org_have_sphinxclient="auto"
-have_sphinxclient=$org_have_sphinxclient
-AC_ARG_WITH([sphinxclient],
- [AS_HELP_STRING([--with-sphinxclient=DIR], [sphinxclient library is
installed in DIR])],
- [have_sphinxclient="$withval"])
-AS_VAR_IF([have_sphinxclient], [no], [], [
- AS_CASE([$have_sphinxclient],
- [auto|yes], [],
- [
- SPHINXCLIENT_CFLAGS="-I$have_sphinxclient/include"
- SPHINXCLIENT_LIBS="-L$have_sphinxclient/lib"])
-
- save_CPPFLAGS="$CPPFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CPPFLAGS="$CPPFLAGS $SPHINXCLIENT_CFLAGS"
- LDFLAGS="$LDFLAGS $SPHINXCLIENT_LIBS"
- AC_CHECK_HEADER([sphinxclient.h],
- AC_CHECK_LIB([sphinxclient], [sphinx_create],
- [AC_DEFINE([HAVE_SPHINXCLIENT], 1, [Define if you have
the sphinxclient library])]
- [have_sphinxclient=yes]
- [SPHINXCLIENT_LIBS="$SPHINXCLIENT_LIBS -lsphinxclient"],
- [AS_VAR_IF([have_sphinxclient], [auto], [],
[AC_MSG_ERROR([-lsphinxclient library not found])])
- have_sphinxclient=no;
why_have_sphinxclient="(sphinxclient library not found)" ]),
- [AS_VAR_IF([have_sphinxclient], [auto], [],
[AC_MSG_ERROR([sphinxclient.h header not found])])
- have_sphinxclient=no; why_have_sphinxclient="(sphinxclient.h
header not found)" ])
- LDFLAGS="$save_LDFLAGS"
- CPPFLAGS="$save_CPPFLAGS"])
-AC_SUBST([SPHINXCLIENT_CFLAGS], [$SPHINXCLIENT_CFLAGS])
-AC_SUBST([SPHINXCLIENT_LIBS], [$SPHINXCLIENT_LIBS])
-AM_CONDITIONAL([HAVE_SPHINXCLIENT], [test x"$have_sphinxclient" != xno])
-
# R API (R UDFs)
have_libr=no
AS_VAR_IF([enable_rintegration], [no], [], [
@@ -2282,7 +2271,7 @@ AS_VAR_IF([have_gdal], [no], [], [
AS_VAR_IF([have_gdal], [no],
[],
[AS_VAR_IF([have_gdal], [pkgconf],
- [],
+ [have_gdal=yes],
[save_CPPFLAGS="$CPPFLAGS"
save_LDFLAGS="$LDFLAGS"
save_LIBS="$LIBS"
@@ -3075,15 +3064,14 @@ for comp in \
'lidar ' \
'netcdf ' \
'openssl ' \
- 'pcre ' \
'proj ' \
'pthread ' \
'python2 ' \
'python3 ' \
'readline ' \
+ 'regex ' \
'samtools ' \
'shp ' \
- 'sphinxclient ' \
'unixodbc ' \
'valgrind ' \
'zlib ' \
@@ -3096,7 +3084,9 @@ for comp in \
[-no-no], [why="(by default)"],
[-no-*], [why="(by command line option)"])
echo $ECHO_N " $comp = $ECHO_C"
- AS_VAR_IF([have], [no], [echo "no $why"], [echo "yes"])
+ AS_VAR_IF([have], [no],
+ [echo "no $why"],
+ [AS_VAR_IF([have], [auto], [echo "yes"], [echo "$have"])])
done
AS_VAR_IF([have_hge], [yes], [
hge_bits='128'
diff --git a/debian/rules b/debian/rules
--- a/debian/rules
+++ b/debian/rules
@@ -50,8 +50,8 @@ override_dh_auto_configure:
--with-python2=yes \
--with-python3=no \
--with-readline=yes \
+ --with-regex=PCRE \
--with-samtools=yes \
- --with-sphinxclient=no \
--with-unixodbc=yes \
--with-uuid=yes \
--with-valgrind=no \
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog file for MonetDB
# This file is updated with Maddlog
+* Fri Feb 17 2017 Sjoerd Mullender <[email protected]>
+- BATsort may now create an order index as a by product.
+- Quantile calculations now use the order index if available (and use
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list