Changeset: 115f5cd22de5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=115f5cd22de5
Modified Files:
configure.ag
monetdb5/extras/Makefile.ag
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_support.c
Branch: RIntegration-default
Log Message:
merge of monetdb5 tree
diffs (120 lines):
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -226,6 +226,13 @@ AC_ARG_ENABLE(gsl,
enable_gsl=$enableval,
enable_gsl=$dft_gsl)
+dft_rintegration=auto
+AC_ARG_ENABLE(rintegration,
+ AS_HELP_STRING([--enable-rintegration],
+ [enable support for R integration into MonetDB (default=auto)]),
+ enable_rintegration=$enableval,
+ enable_rintegration=$dft_rintegration)
+
dft_odbc=auto
AC_ARG_ENABLE(odbc,
AS_HELP_STRING([--enable-odbc],
@@ -2210,6 +2217,41 @@ AC_SUBST(SPHINXCLIENT_CFLAGS, $SPHINXCLI
AC_SUBST(SPHINXCLIENT_LIBS, $SPHINXCLIENT_LIBS)
AM_CONDITIONAL(HAVE_SPHINXCLIENT, test x"$have_sphinxclient" != xno)
+have_libr=no
+if test "x$enable_rintegration" != xno; then
+ case "$enable_rintegration" in
+ yes|auto)
+ XPATH="$PATH"
+ ;;
+ /*)
+ XPATH="$enable_rintegragtion"
+ enable_rintegration=yes
+ ;;
+ *)
+ AC_MSG_ERROR([--enable-rintegration value must be
yes|no|auto|absolute path of R cmd])
+ ;;
+ esac
+ AC_PATH_PROG(RCMD,R,,$XPATH)
+ if test "x$RCMD" = x; then
+ if test "x$enable_rintegration" = xyes; then
+ AC_MSG_ERROR([libR library required for R integration
support])
+ else
+ have_libr="no"
+ why_have_libr="(libR library not found)"
+ enable_rintegration=no
+ disable_rintegration="(libR library not found)"
+ fi
+ elif RHOME=`$RCMD RHOME` && libr_CFLAGS=`$RCMD CMD config --cppflags`
&& libr_LIBS=`$RCMD CMD config --ldflags`; then
+ have_libr=yes
+ AC_DEFINE(HAVE_LIBR, 1, [Define if you have libR installed])
+ AC_SUBST(libr_CFLAGS, $libr_CFLAGS)
+ AC_SUBST(libr_LIBS, $libr_LIBS)
+ AC_SUBST(RHOME, $RHOME)
+ AC_DEFINE_UNQUOTED(RHOME, "$RHOME", [The home of R])
+ fi
+fi
+AM_CONDITIONAL(HAVE_LIBR, test x"$have_libr" != xno)
+
# ODBC, only used by ODBC driver
if test "x$enable_odbc" != xno; then
have_unixodbc=auto
@@ -3343,6 +3385,7 @@ for comp in \
'gsl ' \
'fits ' \
'rdf ' \
+ 'rintegration' \
'datacell ' \
'odbc ' \
'jdbc ' \
diff --git a/monetdb5/extras/Makefile.ag b/monetdb5/extras/Makefile.ag
--- a/monetdb5/extras/Makefile.ag
+++ b/monetdb5/extras/Makefile.ag
@@ -15,5 +15,5 @@
# Copyright August 2008-2014 MonetDB B.V.
# All Rights Reserved.
-SUBDIRS = HAVE_RAPTOR?rdf HAVE_SPHINXCLIENT?sphinx mal_optimizer_template
+SUBDIRS = HAVE_RAPTOR?rdf HAVE_SPHINXCLIENT?sphinx mal_optimizer_template
HAVE_LIBR?rapi
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -197,6 +197,7 @@ str querylogRef;
str queryRef;
str rankRef;
str rank_grpRef;
+str rapiRef;
str reconnectRef;
str recycleRef;
str refineRef;
@@ -462,6 +463,7 @@ void optimizerInit(void)
queryRef = putName("query",5);
rankRef = putName("rank", 4);
rank_grpRef = putName("rank_grp", 8);
+ rapiRef = putName("batrapi", 7);
reconnectRef = putName("reconnect",9);
recycleRef = putName("recycle",7);
refineRef = putName("refine",6);
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -194,6 +194,7 @@ opt_export str querylogRef;
opt_export str queryRef;
opt_export str rankRef;
opt_export str rank_grpRef;
+opt_export str rapiRef;
opt_export str reconnectRef;
opt_export str recycleRef;
opt_export str refineRef;
diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c
--- a/monetdb5/optimizer/opt_support.c
+++ b/monetdb5/optimizer/opt_support.c
@@ -842,7 +842,8 @@ int isMapOp(InstrPtr p){
((getModuleId(p) == malRef && getFunctionId(p) == multiplexRef)
||
(getModuleId(p) == batcalcRef && getFunctionId(p) !=
mark_grpRef && getFunctionId(p) != rank_grpRef) ||
(getModuleId(p) != batcalcRef && getModuleId(p) != batRef &&
strncmp(getModuleId(p), "bat", 3) == 0) ||
- (getModuleId(p) == mkeyRef));
+ (getModuleId(p) == mkeyRef)) &&
+ getModuleId(p) != rapiRef;
}
int isLikeOp(InstrPtr p){
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list