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

Reply via email to