Changeset: c840f7c71292 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c840f7c71292
Modified Files:
configure.ag
sql/backends/monet5/sql.mx
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/vaults/fits.c
Branch: headless
Log Message:
Merge with default branch.
diffs (truncated from 2703 to 300 lines):
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -25,7 +25,7 @@
BuildRequires: bison
BuildRequires: bzip2-devel
-BuildRequires: cfitsio-devel
+# BuildRequires: cfitsio-devel
BuildRequires: flex
BuildRequires: geos-devel >= 2.2.0
BuildRequires: libcurl-devel
@@ -376,7 +376,7 @@
%exclude %{_libdir}/monetdb5/sql.mal
%exclude %{_libdir}/monetdb5/sql_bpm.mal
%{_libdir}/monetdb5/*.mal
-%{_libdir}/monetdb5/autoload/*_fits.mal
+# %{_libdir}/monetdb5/autoload/*_fits.mal
%{_libdir}/monetdb5/autoload/*_vault.mal
%exclude %{_libdir}/monetdb5/lib_geom.so
# %exclude %{_libdir}/monetdb5/lib_rdf.so
@@ -527,6 +527,7 @@
--enable-bits=%{bits} \
--enable-java=no \
--enable-rdf=no \
+ --enable-fits=no \
--with-valgrind=no \
--with-mseed=no \
%{?oid32:--enable-oid32} \
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -146,6 +146,13 @@
enable_rdf=$enableval,
enable_rdf=$dft_rdf)
+dft_fits=no
+AC_ARG_ENABLE(fits,
+ AS_HELP_STRING([--enable-fits],
+ [enable support for FITS (default=no)]),
+ enable_fits=$enableval,
+ enable_fits=$dft_fits)
+
dft_sql=auto
AC_ARG_ENABLE(sql,
AS_HELP_STRING([--enable-sql],
@@ -2349,18 +2356,18 @@
AM_CONDITIONAL(HAVE_MSEED, test x"$have_mseed" != xno)
# geos, only used in geom module
+have_geos=auto
+GEOS_INCS=''
+GEOS_LIBS=''
+AC_ARG_WITH(geos,
+ AS_HELP_STRING([--with-geos=DIR],
+ [geos library is installed in DIR]),
+ have_geos="$withval")
case "$enable_geom" in
yes|auto)
GEOS_VERSION_REQUIRED_MIN=2.2.0
dnl GEOS_VERSION_REQUIRED_MAX=3.0.0
- have_geos=auto
GEOS_CONFIG=''
- GEOS_INCS=''
- GEOS_LIBS=''
- AC_ARG_WITH(geos,
- AS_HELP_STRING([--with-geos=DIR],
- [geos library is installed in DIR]),
- have_geos="$withval")
if test "x$have_geos" != xno; then
case "$have_geos" in
yes|auto)
@@ -2368,74 +2375,45 @@
;;
*)
XPATH="$have_geos/bin"
+ have_geos=yes
;;
esac
AC_PATH_PROG(GEOS_CONFIG,geos-config,,$XPATH)
if test "x$GEOS_CONFIG" = x; then
- AC_MSG_ERROR([geos-config not found in $XPATH])
- have_geos=no
+ if test "x$have_geos" = "xyes" ; then
+ AC_MSG_ERROR([geos-config not found in $XPATH])
+ else
+ have_geos=no
+ fi
fi
fi
if test "x$have_geos" != xno; then
- dnl AC_MSG_CHECKING([for Geos >= $GEOS_VERSION_REQUIRED_MIN, but <
$GEOS_VERSION_REQUIRED_MAX])
- AC_MSG_CHECKING([for Geos >= $GEOS_VERSION_REQUIRED_MIN])
+ AC_MSG_CHECKING([for geos >= $GEOS_VERSION_REQUIRED_MIN])
GEOS_VERSION="`$GEOS_CONFIG --version`"
AC_MSG_RESULT(found $GEOS_VERSION)
- wrong=''
if test MONETDB_VERSION_TO_NUMBER(echo $GEOS_VERSION) -lt
MONETDB_VERSION_TO_NUMBER(echo $GEOS_VERSION_REQUIRED_MIN); then
- wrong="too old"
- fi
- dnl if test MONETDB_VERSION_TO_NUMBER(echo $GEOS_VERSION) -ge
MONETDB_VERSION_TO_NUMBER(echo $GEOS_VERSION_REQUIRED_MAX); then
- dnl wrong="not yet supported"
- dnl fi
- if test "x$wrong" != x; then
- AC_MSG_ERROR([Geos version $GEOS_VERSION is $wrong])
- have_geos=no
+ if test "x$have_geos" = "xyes" ; then
+ AC_MSG_ERROR([geos version $GEOS_VERSION is too
old])
+ else
+ have_geos=no
+ fi
fi
fi
if test "x$have_geos" != xno; then
- case "$GCC-$CC-`$GEOS_CONFIG --prefix`-`$GEOS_CONFIG
--includes`" in
- -*icc*-/usr-/usr/include)
- dnl icc complains about Geos' header file, at
- dnl least if Geos is found in the default
- dnl place and we set GEOS_INCS & GEOS_LIBS.
- dnl Since setting GEOS_INCS & GEOS_LIBS is
- dnl not strictly required in this case, we
- dnl omit setting them in this case.
- ;;
- *)
- dnl GEOS_INCS="-I`$GEOS_CONFIG --includes`"
- dnl GEOS_LIBS="`$GEOS_CONFIG --libs`"
- GEOS_INCS="`$GEOS_CONFIG --cflags`"
- GEOS_LIBS="`$GEOS_CONFIG --ldflags`"
- ;;
- esac
- save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GEOS_INCS"
- AC_CHECK_HEADER(geos_c.h, AC_DEFINE(HAVE_GEOS_C_H, 1, [Define
to 1 if you have the <geos_c.h> header file.]), [AC_MSG_ERROR([geos_c.h not
found]); have_geos=no])
- CPPFLAGS="$save_CPPFLAGS"
+ GEOS_INCS="`$GEOS_CONFIG --cflags`"
+ GEOS_LIBS="`$GEOS_CONFIG --ldflags`"
fi
- if test "x$have_geos" != xno; then
- save_LIBS="$LIBS"
- LIBS="$LIBS $GEOS_LIBS"
- AC_CHECK_LIB(geos_c, GEOSEnvelope, :, have_geos=no)
- LIBS="$save_LIBS"
- fi
- if test "x$have_geos" != xno; then
- GEOS_LIBS="$GEOS_LIBS -lgeos_c"
- AC_DEFINE(HAVE_SQLGETPRIVATEPROFILESTRING, 1, [Define if you
have the SQLGetPrivateProfileString function])
- fi
- AC_SUBST(GEOS_INCS)
- AC_SUBST(GEOS_LIBS)
if test "x$have_geos" = xno; then
if test "x$enable_geom" = xyes; then
- AC_MSG_ERROR([No geos library found for geom module])
+ AC_MSG_ERROR([geos library required for geom module])
fi
# no geos, so don't compile geom
enable_geom=no
fi
;;
esac
+AC_SUBST(GEOS_INCS)
+AC_SUBST(GEOS_LIBS)
dnl check for the performance counters library
have_pcl=auto
@@ -2489,9 +2467,12 @@
AC_SUBST(PCL_CFLAGS)
AC_SUBST(PCL_LIBS)
-PKG_CHECK_MODULES([cfitsio], [cfitsio],
- [have_cfitsio=yes; AC_DEFINE(HAVE_CFITSIO, 1, [Define if you have the
cfitsio library])],
- [have_cfitsio=no])
+have_cfitsio=no
+if test "x$enable_fits" != xno; then
+ PKG_CHECK_MODULES([cfitsio], [cfitsio],
+ [have_cfitsio=yes; AC_DEFINE(HAVE_CFITSIO, 1, [Define if you
have the cfitsio library])],
+ [have_cfitsio=no; if test "x$enable_fits" = xyes; then
AC_MSG_ERROR([cfitsio library required for FITS support]); fi])
+fi
AM_CONDITIONAL(HAVE_CFITSIO, test x"$have_cfitsio" != xno)
LIBGC_CFLAGS=
@@ -2945,11 +2926,11 @@
AC_DEFINE(MX_CXX_SUFFIX, "cc", [Suffix for C++ files])
dnl check dependencies (might need more than just SQL)
-if test x"$enable_sql" = xyes && test x"$enable_monetdb5" != x"yes" ; then
+if test x"$enable_sql" = xyes && test x"$enable_monetdb5" = x"no" ; then
AC_MSG_ERROR([sql needs monetdb5]);
fi
if test x"$enable_sql" = xauto && test x"$enable_monetdb5" = x"no" ; then
- enable_sql = no
+ enable_sql=no
fi
dnl output
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,7 @@
Homepage: http://www.monetdb.org/
Vcs-Browser: http://dev.monetdb.org/hg/MonetDB/
Vcs-Hg: http://dev.monetdb.org/hg/MonetDB/
-Build-Depends: debhelper (>= 5), autotools-dev, cdbs, bison, flex, libbz2-dev,
libcfitsio3-dev, libcurl4-gnutls-dev, libgeos-dev, libpcre3-dev, libperl-dev,
libreadline5-dev, libssl-dev, libxml2-dev, perl, python, ruby, rubygems, swig,
unixodbc-dev, uuid-dev, zlib1g-dev
+Build-Depends: debhelper (>= 5), autotools-dev, cdbs, bison, flex, libbz2-dev,
libcurl4-gnutls-dev, libgeos-dev, libpcre3-dev, libperl-dev, libreadline5-dev,
libssl-dev, libxml2-dev, perl, python, ruby, rubygems, swig, unixodbc-dev,
uuid-dev, zlib1g-dev
# Build-Depends: libraptor1-dev
Standards-Version: 3.8.0
diff --git a/debian/monetdb5-server.install b/debian/monetdb5-server.install
--- a/debian/monetdb5-server.install
+++ b/debian/monetdb5-server.install
@@ -1,9 +1,7 @@
debian/tmp/usr/bin/mserver5 usr/bin
debian/tmp/usr/lib/libmonetdb5.so.* usr/lib
debian/tmp/usr/lib/monetdb5/autoload/70_vault.mal usr/lib/monetdb5/autoload
-debian/tmp/usr/lib/monetdb5/autoload/72_fits.mal usr/lib/monetdb5/autoload
debian/tmp/usr/lib/monetdb5/lib_crackers.so usr/lib/monetdb5
-debian/tmp/usr/lib/monetdb5/lib_fits.so usr/lib/monetdb5
debian/tmp/usr/lib/monetdb5/lib_mal_compiler.so usr/lib/monetdb5
debian/tmp/usr/lib/monetdb5/lib_vault.so usr/lib/monetdb5
debian/tmp/usr/lib/monetdb5/aggr.mal usr/lib/monetdb5
@@ -36,7 +34,6 @@
debian/tmp/usr/lib/monetdb5/counters.mal usr/lib/monetdb5
debian/tmp/usr/lib/monetdb5/crackers.mal usr/lib/monetdb5
debian/tmp/usr/lib/monetdb5/factories.mal usr/lib/monetdb5
-debian/tmp/usr/lib/monetdb5/fits.mal usr/lib/monetdb5
debian/tmp/usr/lib/monetdb5/group.mal usr/lib/monetdb5
debian/tmp/usr/lib/monetdb5/groupby.mal usr/lib/monetdb5
debian/tmp/usr/lib/monetdb5/histogram.mal usr/lib/monetdb5
diff --git a/debian/rules b/debian/rules
--- a/debian/rules
+++ b/debian/rules
@@ -3,4 +3,4 @@
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
-DEB_CONFIGURE_EXTRA_FLAGS := --enable-strict=no --enable-assert=no
--enable-debug=no --enable-optimize=yes --enable-java=no --enable-rdf=no
--with-valgrind=no --with-mseed=no --with-rubygem-dir=lib/ruby/gems/1.8
+DEB_CONFIGURE_EXTRA_FLAGS := --enable-strict=no --enable-assert=no
--enable-debug=no --enable-optimize=yes --enable-java=no --enable-rdf=no
--enable-fits=no --with-valgrind=no --with-mseed=no
--with-rubygem-dir=lib/ruby/gems/1.8
diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx
--- a/sql/backends/monet5/sql.mx
+++ b/sql/backends/monet5/sql.mx
@@ -62,6 +62,14 @@
address SQLcatalog
comment "a catalog statement";
+pattern catalog(type:int,grantee:str,role:str):void
+address SQLcatalog
+comment "a grant/revoke role statement";
+
+pattern
catalog(type:int,tname:str,grantee:str,privs:int,cname:str,grant:int,grantor:int):void
+address SQLcatalog
+comment "a grant/revoke privileges statement";
+
pattern eval(cmd:str):void
address SQLstatement
comment "Compile and execute a single sql statement";
@@ -1994,6 +2002,16 @@
}
+static char *
+SaveArgReference(MalStkPtr stk, InstrPtr pci, int arg)
+{
+ char *val = *(str*)getArgReference(stk, pci, arg);
+
+ if (val && strcmp(val, str_nil) == 0)
+ val = NULL;
+ return val;
+}
+
str
SQLcatalog(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
{
@@ -2031,12 +2049,9 @@
msg = drop_seq( sql, sname, name);
} break;
case DDL_CREATE_SCHEMA: {
- str name = *(str*) getArgReference(stk, pci, 3);
+ str name = SaveArgReference(stk, pci, 3);
int auth_id = sql->role_id;
- if (name && strcmp(name, str_nil) == 0)
- name = NULL;
-
if (name && (auth_id = sql_find_auth(sql, name)) < 0) {
msg = sql_message("CREATE SCHEMA: no such authorization
'%s'", name);
}
@@ -2098,6 +2113,41 @@
msg = drop_key( sql, sname, name, action);
} break;
+ case DDL_GRANT_ROLES: {
+ char *auth = SaveArgReference(stk, pci, 3);
+
+ msg = sql_grant_role( sql, sname /*grantee */, auth);
+ } break;
+ case DDL_REVOKE_ROLES: {
+ char *auth = SaveArgReference(stk, pci, 3);
+
+ msg = sql_revoke_role( sql, sname /*grantee */, auth);
+ } break;
+ case DDL_GRANT: {
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list