Changeset: 5323c72004c9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5323c72004c9
Modified Files:
bootstrap
clients/Tests/exports.stable.out
configure.ag
sql/backends/monet5/datacell/datacell.c
sql/backends/monet5/datacell/emitter.c
sql/backends/monet5/datacell/receptor.c
sql/common/sql_changeset.c
sql/storage/store.c
sql/storage/store_sequence.c
testing/difflib.c
Branch: default
Log Message:
Merge with Jan2014 branch.
diffs (truncated from 488 to 300 lines):
diff --git a/bootstrap b/bootstrap
--- a/bootstrap
+++ b/bootstrap
@@ -56,3 +56,6 @@ aclocal ${_m4_extra_dirs} &&
autoheader &&
automake --add-missing --copy --foreign &&
autoconf
+if [ -f buildtools/conf/install-sh -a ! -x buildtools/conf/install-sh ]; then
+ chmod +x buildtools/conf/install-sh
+fi
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
@@ -269,14 +269,14 @@ MT_Lock *volatile GDKlocklist;
ATOMIC_FLAG volatile GDKlocklistlock;
ATOMIC_TYPE volatile GDKlocksleepcnt;
void GDKlockstatistics(int);
-void *GDKmalloc(size_t size) __attribute__((__alloc_size__(1)));
+void *GDKmalloc(size_t size);
size_t GDKmem_cursize(void);
-void *GDKmmap(const char *path, int mode, size_t len)
__attribute__((__alloc_size__(3)));
+void *GDKmmap(const char *path, int mode, size_t len);
int GDKms(void);
int GDKnr_threads;
void GDKqsort(void *h, void *t, const void *base, size_t n, int hs, int ts,
int tpe);
void GDKqsort_rev(void *h, void *t, const void *base, size_t n, int hs, int
ts, int tpe);
-void *GDKrealloc(void *pold, size_t size) __attribute__((__alloc_size__(2)));
+void *GDKrealloc(void *pold, size_t size);
void GDKsetenv(str name, str value);
ssize_t GDKstrFromStr(unsigned char *dst, const unsigned char *src, ssize_t
len);
str GDKstrdup(const char *s);
@@ -287,7 +287,7 @@ lng GDKusec(void);
BAT *GDKval;
const char *GDKversion(void);
size_t GDKvm_cursize(void);
-void *GDKzalloc(size_t size) __attribute__((__alloc_size__(1)));
+void *GDKzalloc(size_t size);
void HASHdestroy(BAT *b);
BUN HASHlist(Hash *h, BUN i);
BUN HASHprobe(Hash *h, const void *v);
@@ -318,7 +318,7 @@ void MT_locktrace_end(void);
char *MT_locktrace_nme[65536];
void MT_locktrace_start(void);
struct Mallinfo MT_mallinfo(void);
-void *MT_mmap(const char *path, int mode, size_t len)
__attribute__((__alloc_size__(3)));
+void *MT_mmap(const char *path, int mode, size_t len);
int MT_munmap(void *p, size_t len);
int MT_path_absolute(const char *path);
void MT_sleep_ms(unsigned int ms);
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -407,9 +407,20 @@ case "$CC_version" in
CC_ver="clang-$gcc_ver"
;;
*)
- AC_MSG_WARN([compiler not recognized: `$CC --version` says
+ CC_version="`$CC -V 2>&1`"
+ case "$CC_version" in
+ *Sun\ Ceres\ C\ *|*Sun\ C\ *)
+ # developer/sunstudioexpress and
+ # developer/sunstudio12u1 respectively
+ CC_ver="suncc-`echo "$CC_version" | sed -n 's/.*Sun Ceres C
\(.*\) SunOS.*/\1/p;s/.*Sun C \(.*\) SunOS.*/\1/p'`"
+ ;;
+ *)
+ AC_MSG_WARN([compiler not recognized: `$CC --version` says
$CC_version
- ]);;
+ ])
+ ;;
+ esac
+ ;;
esac
AC_MSG_RESULT($CC_ver)
@@ -419,6 +430,7 @@ yes!*clang*!clang-*) ;;
yes!*gcc*!clang-*) ;;
yes!*gcc*!gcc-*) ;;
!*icc*!icc-*) ;;
+*!*!suncc-*) ;;
*) AC_MSG_WARN([compiler potentially not (correctly) recognized:
GCC=$GCC
CC=$CC
@@ -1129,6 +1141,8 @@ AC_PATH_PROG(BASH,bash, /usr/bin/bash, $
AC_CHECK_PROG(RM,rm,rm -f)
AC_CHECK_PROG(MV,mv,mv -f)
AC_PROG_LN_S
+AC_CHECK_PROGS(DIFF,gdiff diff)
+AC_DEFINE_UNQUOTED([DIFF], "$DIFF", [Program to perform diffs])
AC_CHECK_PROGS(RPMBUILD,rpmbuild rpm)
@@ -1873,8 +1887,8 @@ if test "x$have_pthread" != xno; then
save_LIBS="$LIBS"
save_CPPFLAGS="$CPPFLAGS"
case $GCC-$have_pthread-$CC_ver in
- yes-auto-clang-5.0|yes-yes-clang-5.0)
- # clang 5.0 (at least on Mac OSX Mavericks) does not
+ yes-auto-clang-5.*|yes-yes-clang-5.*)
+ # clang 5.* (at least on Mac OSX Mavericks) does not
# seem to have / require -pthread as compiler
# option; on Mac OSX Mavericks, "Apple LLVM version
# 5.0 (clang-500.2.79) (based on LLVM 3.3svn)"
@@ -1900,7 +1914,7 @@ if test "x$have_pthread" != xno; then
LIBS="$LIBS $PTHREAD_LIBS"
pthread_found=yes
AC_SEARCH_LIBS([sem_init], [pthreadGC2 pthreadGC1
pthreadGC pthread],
- [LIBS="$LIBS $ac_cv_search_sem_init"],
+ [test "$ac_cv_search_sem_init" = "none
required" || LIBS="$LIBS $ac_cv_search_sem_init"],
[pthread_found=no])
if test x"$pthread_found" = xno ; then
pthread_found=yes
@@ -2467,9 +2481,21 @@ if test x"$have_atomic_ops" = x"yes" ; t
why_have_atomic_ops="(atomic_ops do not compile with Intel's
icc)"
;;
*)
- AC_DEFINE(HAVE_LIBATOMIC_OPS, 1, [Define if you have the
libatomic_ops library])
+ # On some systems, notably OpenIndiana, atomic_ops may
+ # seem to be installed in that there is a pkg-config
+ # file for it, but that file contains incorrect
+ # information, and can not, in fact, be used. The
+ # bogus pkg-config file for atomic_ops is part of the
+ # library/gc package.
+ save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $atomic_ops_CFLAGS"
- LIBS="$LIBS $atomic_ops_LIBS"
+
AC_CHECK_HEADERS([atomic_ops.h],[have_atomic_ops=yes],[have_atomic_ops=no
why_have_atomic_ops="(atomic_ops was incorrectly installed (happens on at least
Solaris/OpenIndiana))"])
+ CFAGS="$save_CFLAGS"
+ if test x"$have_atomic_ops" = x"yes" ; then
+ AC_DEFINE(HAVE_LIBATOMIC_OPS, 1, [Define if you have
the libatomic_ops library])
+ CFLAGS="$CFLAGS $atomic_ops_CFLAGS"
+ LIBS="$LIBS $atomic_ops_LIBS"
+ fi
;;
esac
fi
@@ -2996,6 +3022,9 @@ AC_SUBST(HWCOUNTERS_LIBS)
AC_SUBST(HWCOUNTERS_INCS)
dnl check dependencies (might need more than just SQL)
+if test x"$enable_sql" = xyes && test x"$enable_monetdb5" = x"no" ; then
+ AC_MSG_ERROR([MonetDB/SQL requires MonetDB5${disable_monetdb5:+
$disable_monetdb5}.])
+fi
if test x"$enable_sql" = xauto && test x"$enable_monetdb5" = x"no" ; then
enable_sql=no
if test "x$disable_sql" = x; then
diff --git a/sql/backends/monet5/datacell/datacell.c
b/sql/backends/monet5/datacell/datacell.c
--- a/sql/backends/monet5/datacell/datacell.c
+++ b/sql/backends/monet5/datacell/datacell.c
@@ -89,12 +89,12 @@ DCprelude(Client cntxt, MalBlkPtr mb, Ma
MT_lock_init( &dcLock, "datacellLock");
#endif
addPipeDefinition(cntxt, "datacell_pipe",
-
"optimizer.inline();optimizer.remap();optimizer.datacell();optimizer.garbageCollector();"
-
"optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();"
-
"optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();"
-
"optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.reorder();"
-
"optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();"
-
"optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();");
+ "optimizer.inline();
optimizer.remap();optimizer.datacell();optimizer.costModel();"
+ "optimizer.coercions(); optimizer.evaluate(); optimizer.emptySet();
optimizer.aliases();"
+ "optimizer.pushselect(); optimizer.mitosis(); optimizer.mergetable();
optimizer.deadcode();"
+ "optimizer.commonTerms(); optimizer.joinPath(); optimizer.reorder();
optimizer.deadcode();"
+ "optimizer.reduce(); optimizer.matpack(); optimizer.dataflow();
optimizer.querylog();"
+ "optimizer.multiplex(); optimizer.garbageCollector();");
return MAL_SUCCEED;
}
diff --git a/sql/backends/monet5/datacell/emitter.c
b/sql/backends/monet5/datacell/emitter.c
--- a/sql/backends/monet5/datacell/emitter.c
+++ b/sql/backends/monet5/datacell/emitter.c
@@ -114,7 +114,7 @@ EMemitterStartInternal(int *ret, str *tb
throw(MAL, "emitter.new", "Group '%s' has no members", *tbl);
em->table.format = GDKzalloc(sizeof(Column) * (len + 1));
- em->table.format[0].c[0] = NULL;
+ em->table.format[0].c = NULL;
em->table.format[0].name = NULL;
em->table.format[0].sep = "[ ";
em->table.format[0].seplen = (int) strlen(em->table.format[0].sep);
@@ -126,23 +126,22 @@ EMemitterStartInternal(int *ret, str *tb
throw(MAL, "receptor.new", "Could not access
descriptor");
}
- em->table.format[j].c[0] = BATcopy(b, b->htype, b->ttype,
FALSE);
- em->table.format[j].ci[0] =
bat_iterator(em->table.format[j].c[0]);
+ em->table.format[j].c = BATcopy(b, b->htype, b->ttype, FALSE);
+ em->table.format[j].ci = bat_iterator(em->table.format[j].c);
em->table.format[j].name = baskets[idx].cols[i];
em->table.format[j].sep = ",";
em->table.format[j].seplen = (int)
strlen(em->table.format[j].sep);
- em->table.format[j].type =
GDKstrdup(ATOMname(em->table.format[j].c[0]->ttype));
- em->table.format[j].adt = em->table.format[j].c[0]->ttype;
+ em->table.format[j].type =
GDKstrdup(ATOMname(em->table.format[j].c->ttype));
+ em->table.format[j].adt = em->table.format[j].c->ttype;
em->table.format[j].nullstr = "";
- em->table.format[j].tostr = &TABLETadt_toStr;
- em->table.format[j].frstr = &TABLETadt_frStr;
+ em->table.format[j].tostr = (void*) &TABLETadt_toStr;
+ em->table.format[j].frstr = (void*) &TABLETadt_frStr;
em->table.format[j].extra = em->table.format + j;
em->table.format[j].len = 0;
em->table.format[j].nillen = 0;
em->table.format[j].data = NULL;
j++;
}
- GDKfree(em->table.format[j - 1].sep);
em->table.format[j - 1].sep = "\n";
em->table.format[j - 1].seplen = (int) strlen(em->table.format[j -
1].sep);
em->table.nr_attrs = j;
@@ -274,7 +273,6 @@ static void
EMbody(Emitter em)
{
BUN cnt;
- size_t j;
int k, ret;
BAT *b;
@@ -326,27 +324,27 @@ bodyRestart:
*/
BSKTlock(&em->lck, &em->name, &em->delay);
for (k = 0; k < baskets[em->bskt].colcount; k++) {
- if (em->table.format[k].c[0])
- BBPunfix(em->table.format[k].c[0]->batCacheid);
+ if (em->table.format[k].c)
+ BBPunfix(em->table.format[k].c->batCacheid);
b = baskets[em->bskt].primary[k];
- em->table.format[k].c[0] = BATcopy(b, b->htype,
b->ttype, TRUE);
- em->table.format[k].ci[0] = bat_iterator(b);
+ em->table.format[k].c = BATcopy(b, b->htype, b->ttype,
TRUE);
+ em->table.format[k].ci = bat_iterator(b);
BATclear(b, FALSE);
}
BSKTunlock(&em->lck, &em->name);
- if ((cnt = BATcount(em->table.format[0].c[0]))) {
+ if ((cnt = BATcount(em->table.format[0].c))) {
MTIMEcurrent_timestamp(&baskets[em->bskt].seen);
em->cycles++;
- cnt = BATcount(em->table.format[1].c[0]);
+ cnt = BATcount(em->table.format[1].c);
#ifdef _DEBUG_EMITTER_
mnstr_printf(EMout, "#Emit " BUNFMT " tuples \n", cnt);
#endif
em->table.nr = cnt;
(void) MTIMEcurrent_timestamp(&em->lastseen);
- ret = TABLEToutput_file(&em->table,
em->table.format[1].c[0], em->emitter);
- em->sent += (int) BATcount(em->table.format[1].c[0]);
+ ret = TABLEToutput_file(&em->table,
em->table.format[1].c, em->emitter);
+ em->sent += (int) BATcount(em->table.format[1].c);
#ifdef _DEBUG_EMITTER_
if (ret < 0)
mnstr_printf(EMout, "#Tuple emission failed\n");
@@ -491,7 +489,7 @@ EMtable(int *nameId, int *hostId, int *p
BATseqbase(status, 0);
for (; em; em = em->nxt)
- if ( em->table.format[1].c[0]){
+ if ( em->table.format[1].c){
BUNappend(name, em->name, FALSE);
BUNappend(host, em->host, FALSE);
BUNappend(port, &em->port, FALSE);
@@ -500,7 +498,7 @@ EMtable(int *nameId, int *hostId, int *p
BUNappend(status, statusname[em->status], FALSE);
BUNappend(seen, &em->lastseen, FALSE);
BUNappend(cycles, &em->cycles, FALSE);
- em->pending += (int) BATcount(em->table.format[1].c[0]);
+ em->pending += (int) BATcount(em->table.format[1].c);
BUNappend(pending, &em->pending, FALSE);
BUNappend(sent, &em->sent, FALSE);
}
diff --git a/sql/backends/monet5/datacell/receptor.c
b/sql/backends/monet5/datacell/receptor.c
--- a/sql/backends/monet5/datacell/receptor.c
+++ b/sql/backends/monet5/datacell/receptor.c
@@ -139,14 +139,14 @@ RCreceptorStartInternal(int *ret, str *t
throw(MAL, "receptor.new", "Could not access
descriptor");
}
BBPincref(b->batCacheid, TRUE);
- fmt[j].c[0] = b;
+ fmt[j].c = b;
fmt[j].name = baskets[idx].cols[i];
fmt[j].sep = ",";
fmt[j].seplen = 1;
fmt[j].type = GDKstrdup(ATOMname(b->ttype));
fmt[j].adt = (b)->ttype;
- fmt[j].tostr = &TABLETadt_toStr;
- fmt[j].frstr = &TABLETadt_frStr;
+ fmt[j].tostr = (void*) &TABLETadt_toStr;
+ fmt[j].frstr = (void*) &TABLETadt_frStr;
fmt[j].extra = fmt + j;
fmt[j].len = fmt[j].nillen =
ATOMlen(fmt[j].adt,
ATOMnilptr(fmt[j].adt));
@@ -345,7 +345,7 @@ insert_val(Column *fmt, char *s, char *e
/* string needs the quotes included */
s = find_quote(s, quote);
if (!s) {
- snprintf(buf, BUFSIZ, "quote '%c' expected but not
found in \"%s\" from line " BUNFMT "\n", quote, s, BATcount(fmt->c[0]));
+ snprintf(buf, BUFSIZ, "quote '%c' expected but not
found in \"%s\" from line " BUNFMT "\n", quote, s, BATcount(fmt->c));
*err = GDKstrdup(buf);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list