Changeset: 1921396f46b8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1921396f46b8 Modified Files: .hgtags MonetDB.spec NT/monetdb_config.h.in buildtools/ChangeLog-Archive buildtools/ChangeLog.Aug2018 clients/Tests/exports.stable.out configure.ag debian/changelog gdk/gdk_logger.c gdk/gdk_logger.h geom/monetdb5/geom_upgrade.c libversions sql/include/sql_catalog.h sql/storage/bat/bat_logger.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c tools/mserver/monet_version.c.in tools/mserver/mserver5.c Branch: data-vaults Log Message:
Merge with default diffs (truncated from 2253 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -712,3 +712,5 @@ 3aaf6c916bd870cc478d3973241bc24cafbe1655 a242d6de1de3dc99a9583d96a61c53044108e576 Aug2018_7 3aaf6c916bd870cc478d3973241bc24cafbe1655 Aug2018_release a242d6de1de3dc99a9583d96a61c53044108e576 Aug2018_release +a2d8e19ac9d6f847dd59c5f12ff48aae815e6b5d Aug2018_9 +a2d8e19ac9d6f847dd59c5f12ff48aae815e6b5d Aug2018_SP1_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -108,7 +108,7 @@ Vendor: MonetDB BV <[email protected]> Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Aug2018/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Aug2018-SP1/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist # we need checkpolicy and selinux-policy-devel for the SELinux policy @@ -1038,6 +1038,18 @@ done %postun -p /sbin/ldconfig %changelog +* Fri Oct 05 2018 Sjoerd Mullender <[email protected]> - 11.31.9-20181005 +- Rebuilt. +- BZ#6640: timestamp_to_str returning incorrectly adjusted results +- BZ#6641: race condition in SQL UDF with update +- BZ#6642: Hanging query +- BZ#6646: Example SQLcopyinto.java does not work + +* Wed Oct 3 2018 Sjoerd Mullender <[email protected]> - 11.31.9-20181005 +- buildtools: On Ubuntu 18.10 (Cosmic Cuttlefish), the libmonetdb5-server-bam package + cannot be built because of an incompatibility in the libbam library + (it cannot be used in a shared object. + * Wed Aug 29 2018 Sjoerd Mullender <[email protected]> - 11.31.7-20180829 - Rebuilt. 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 @@ -80,9 +80,6 @@ /* Define if building universal (internal helper macro) */ /* #undef AC_APPLE_UNIVERSAL_BUILD */ -/* location where binaries are installed */ -/* #undef BINDIR */ - /* read-only architecture-independent data */ #define DATA_DIR PREFIX "\\share" @@ -95,6 +92,9 @@ /* architecture-dependent files */ #define EXEC_PREFIX PREFIX +/* location where binaries are installed */ +#define BINDIR EXEC_PREFIX "\\bin" + /* Define to nothing if C supports flexible array members, and to 1 if it does not. That way, with a declaration like `struct s { int n; double d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99 diff --git a/buildtools/ChangeLog-Archive b/buildtools/ChangeLog-Archive --- a/buildtools/ChangeLog-Archive +++ b/buildtools/ChangeLog-Archive @@ -1,6 +1,11 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Wed Oct 3 2018 Sjoerd Mullender <[email protected]> - 11.31.9-20181005 +- On Ubuntu 18.10 (Cosmic Cuttlefish), the libmonetdb5-server-bam package + cannot be built because of an incompatibility in the libbam library + (it cannot be used in a shared object. + * Tue Aug 28 2018 Sjoerd Mullender <[email protected]> - 11.31.5-20180829 - Build the MonetDB-cfitsio RPM and libmonetdb5-server-cfitsio Debian/Ubuntu package. diff --git a/buildtools/ChangeLog.Aug2018 b/buildtools/ChangeLog.Aug2018 --- a/buildtools/ChangeLog.Aug2018 +++ b/buildtools/ChangeLog.Aug2018 @@ -1,8 +1,3 @@ # ChangeLog file for buildtools # This file is updated with Maddlog -* Wed Oct 3 2018 Sjoerd Mullender <[email protected]> -- On Ubuntu 18.10 (Cosmic Cuttlefish), the libmonetdb5-server-bam package - cannot be built because of an incompatibility in the libbam library - (it cannot be used in a shared object. - 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 @@ -407,15 +407,15 @@ ssize_t lngFromStr(const char *src, size ssize_t lngToStr(str *dst, size_t *len, const lng *src); const lng lng_nil; gdk_return log_abort(logger *lg); -gdk_return log_bat(logger *lg, BAT *b, const char *n); -gdk_return log_bat_clear(logger *lg, const char *n); -gdk_return log_bat_persists(logger *lg, BAT *b, const char *n); -gdk_return log_bat_transient(logger *lg, const char *n); -gdk_return log_delta(logger *lg, BAT *uid, BAT *uval, const char *n); +gdk_return log_bat(logger *lg, BAT *b, const char *n, char tpe, oid id); +gdk_return log_bat_clear(logger *lg, const char *n, char tpe, oid id); +gdk_return log_bat_persists(logger *lg, BAT *b, const char *n, char tpe, oid id); +gdk_return log_bat_transient(logger *lg, const char *n, char tpe, oid id); +gdk_return log_delta(logger *lg, BAT *uid, BAT *uval, const char *n, char tpe, oid id); gdk_return log_sequence(logger *lg, int seq, lng id); gdk_return log_tend(logger *lg); gdk_return log_tstart(logger *lg); -gdk_return logger_add_bat(logger *lg, BAT *b, const char *name) __attribute__((__warn_unused_result__)); +gdk_return logger_add_bat(logger *lg, BAT *b, const char *name, char tpe, oid id) __attribute__((__warn_unused_result__)); lng logger_changes(logger *lg); gdk_return logger_cleanup(logger *lg, int keep_persisted_log_files); logger *logger_create(int debug, const char *fn, const char *logdir, int version, preversionfix_fptr prefuncp, postversionfix_fptr postfuncp, int keep_persisted_log_files); @@ -423,11 +423,13 @@ logger *logger_create_shared(int debug, gdk_return logger_del_bat(logger *lg, log_bid bid) __attribute__((__warn_unused_result__)); void logger_destroy(logger *lg); gdk_return logger_exit(logger *lg); -log_bid logger_find_bat(logger *lg, const char *name); +log_bid logger_find_bat(logger *lg, const char *name, char tpe, oid id); lng logger_read_last_transaction_id(logger *lg, char *dir, char *logger_file, int role); gdk_return logger_reload(logger *lg); gdk_return logger_restart(logger *lg); int logger_sequence(logger *lg, int seq, lng *id); +gdk_return logger_upgrade_bat(logger *lg, const char *name, char tpe, oid id) __attribute__((__warn_unused_result__)); +void logger_with_ids(logger *lg); void *mdlopen(const char *library, int mode); int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, const char *value); int mo_builtin_settings(opt **Set); diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -2749,18 +2749,6 @@ AM_CONDITIONAL([HAVE_DEVELOPER], [test " AC_SUBST([compilercall], ["$CC $CFLAGS $X_CFLAGS"]) AC_SUBST([linkercall], ["$LD $LDFLAGS"]) AC_SUBST([builtby], ["${USER}@`hostname`"]) -pcreversion="not linked to any PCRE library" -AS_VAR_IF([have_pcre], [yes], [ - pcreversion="compiled with `pkg-config --modversion libpcre 2>/dev/null`"]) -AC_SUBST([pcreversion]) -opensslversion="not linked to any openssl library" -AS_VAR_IF([have_openssl], [yes], [ - opensslversion="compiled with `openssl version 2>/dev/null`"]) -AC_SUBST([opensslversion]) -libxml2version="not linked to any libxml2 library" -AS_VAR_IF([have_libxml2], [yes], [ - libxml2version="compiled with `pkg-config --modversion libxml-2.0 2>/dev/null`"]) -AC_SUBST([libxml2version]) # provide different versions of the paths derived above AS_VAR_IF([prefix], [NONE], diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +monetdb (11.31.9) unstable; urgency=low + + * Rebuilt. + * BZ#6640: timestamp_to_str returning incorrectly adjusted results + * BZ#6641: race condition in SQL UDF with update + * BZ#6642: Hanging query + * BZ#6646: Example SQLcopyinto.java does not work + + -- Sjoerd Mullender <[email protected]> Fri, 05 Oct 2018 09:50:02 +0200 + +monetdb (11.31.9) unstable; urgency=low + + * buildtools: On Ubuntu 18.10 (Cosmic Cuttlefish), the libmonetdb5-server-bam package + cannot be built because of an incompatibility in the libbam library + (it cannot be used in a shared object. + + -- Sjoerd Mullender <[email protected]> Wed, 3 Oct 2018 09:50:02 +0200 + monetdb (11.31.7) unstable; urgency=low * Rebuilt. diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -74,6 +74,12 @@ #define LOG_USE 8 #define LOG_CLEAR 9 #define LOG_SEQ 10 +#define LOG_INSERT_ID 11 +#define LOG_UPDATE_ID 12 +#define LOG_CREATE_ID 13 +#define LOG_DESTROY_ID 14 +#define LOG_USE_ID 15 +#define LOG_CLEAR_ID 16 #ifdef HAVE_EMBEDDED #define printf(fmt,...) ((void) 0) @@ -89,6 +95,8 @@ #endif #endif +#define NAME(name,tpe,id) (name?name:"tpe id") + static char *log_commands[] = { NULL, "LOG_START", @@ -101,6 +109,13 @@ static char *log_commands[] = { "LOG_USE", "LOG_CLEAR", "LOG_SEQ", + "LOG_INSERT_ID", + "LOG_DELETE_ID", + "LOG_UPDATE_ID", + "LOG_CREATE_ID", + "LOG_DESTROY_ID", + "LOG_USE_ID", + "LOG_CLEAR_ID", }; typedef struct logformat_t { @@ -235,14 +250,16 @@ log_write_string(logger *l, const char * } static log_return -log_read_clear(logger *lg, trans *tr, char *name) +log_read_clear(logger *lg, trans *tr, char *name, char tpe, oid id) { if (lg->debug & 1) - fprintf(stderr, "#logger found log_read_clear %s\n", name); + fprintf(stderr, "#logger found log_read_clear %s\n", NAME(name, tpe, id)); if (tr_grow(tr) != GDK_SUCCEED) return LOG_ERR; tr->changes[tr->nr].type = LOG_CLEAR; - if ((tr->changes[tr->nr].name = GDKstrdup(name)) == NULL) + tr->changes[tr->nr].tpe = tpe; + tr->changes[tr->nr].cid = id; + if (name && (tr->changes[tr->nr].name = GDKstrdup(name)) == NULL) return LOG_ERR; tr->nr++; return LOG_OK; @@ -267,11 +284,11 @@ avoid_snapshot(logger *lg, log_bid bid) static gdk_return la_bat_clear(logger *lg, logaction *la) { - log_bid bid = logger_find_bat(lg, la->name); + log_bid bid = logger_find_bat(lg, la->name, la->tpe, la->cid); BAT *b; if (lg->debug & 1) - fprintf(stderr, "#la_bat_clear %s\n", la->name); + fprintf(stderr, "#la_bat_clear %s\n", NAME(la->name, la->tpe, la->cid)); /* do we need to skip these old updates */ if (avoid_snapshot(lg, bid)) @@ -318,6 +335,33 @@ log_read_seq(logger *lg, logformat *l) return LOG_OK; } +static gdk_return +log_write_id(logger *l, char tpe, oid id) +{ + lng lid = id; + if (lid < 0 || lid > 1000000) + assert(0); + if (mnstr_writeChr(l->log, tpe) && + mnstr_writeLng(l->log, id)) + return GDK_SUCCEED; + fprintf(stderr, "!ERROR: log_write_id: write failed\n"); + return GDK_FAIL; +} + +static int +log_read_id(logger *lg, char *tpe, oid *id) +{ + lng lid; + + if (mnstr_readChr(lg->log, tpe) != 1 || + mnstr_readLng(lg->log, &lid) != 1) { + fprintf(stderr, "!ERROR: log_read_id: read failed\n"); + return LOG_EOF; + } + *id = (oid)lid; + return LOG_OK; +} + #ifdef GDKLIBRARY_NIL_NAN static void * fltRead(void *dst, stream *s, size_t cnt) @@ -358,9 +402,9 @@ mbrRead(void *dst, stream *s, size_t cnt #endif static log_return -log_read_updates(logger *lg, trans *tr, logformat *l, char *name) +log_read_updates(logger *lg, trans *tr, logformat *l, char *name, int tpe, oid id) { - log_bid bid = logger_find_bat(lg, name); + log_bid bid = logger_find_bat(lg, name, tpe, id); BAT *b = BATdescriptor(bid); log_return res = LOG_OK; int ht = -1, tt = -1, tseq = 0; @@ -377,7 +421,9 @@ log_read_updates(logger *lg, trans *tr, int i; for (i = 0; i < tr->nr; i++) { _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
