Changeset: 147b678d679a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=147b678d679a Added Files: buildtools/selinux/ChangeLog.Apr2019 Modified Files: MonetDB.spec buildtools/ChangeLog.Apr2019 configure.ag gdk/ChangeLog.Apr2019 gdk/gdk_analytic.h gdk/gdk_analytic_bounds.c gdk/gdk_analytic_func.c tools/merovingian/ChangeLog.Apr2019 tools/merovingian/daemon/forkmserver.c tools/merovingian/utils/properties.h Branch: default Log Message:
Merge with Apr2019 branch. diffs (truncated from 4543 to 300 lines): diff --git a/buildtools/ChangeLog.Apr2019 b/buildtools/ChangeLog.Apr2019 --- a/buildtools/ChangeLog.Apr2019 +++ b/buildtools/ChangeLog.Apr2019 @@ -1,7 +1,13 @@ # ChangeLog file for buildtools # This file is updated with Maddlog +* Tue Mar 19 2019 Sjoerd Mullender <[email protected]> +- We now use the C11 atomic operations if available, although + libatomic_ops is still used if present and not disabled on the configure + command line. + * Wed Aug 29 2018 Sjoerd Mullender <[email protected]> - We now also build the Python 3 integration packages for Fedora, Debian, - and Ubuntu (not for Debian 8 or Ubuntu 14.04 which are too old). + Ubuntu, and Windows (not for Debian 8, Ubuntu 14.04, or EPEL 6 and 7 + which are too old). diff --git a/buildtools/selinux/ChangeLog.Apr2019 b/buildtools/selinux/ChangeLog.Apr2019 new file mode 100644 --- /dev/null +++ b/buildtools/selinux/ChangeLog.Apr2019 @@ -0,0 +1,9 @@ +# ChangeLog file for selinux +# This file is updated with Maddlog + +* Tue Mar 19 2019 Sjoerd Mullender <[email protected]> +- There is one tunable parameter, mserver5_can_read_home, which can + be set using "setsebool -P mserver5_can_read_home=true" to allow an + mserver5 process started by monetdbd under the control of systemd to + read files in users' home directories. + diff --git a/gdk/ChangeLog.Apr2019 b/gdk/ChangeLog.Apr2019 --- a/gdk/ChangeLog.Apr2019 +++ b/gdk/ChangeLog.Apr2019 @@ -1,6 +1,11 @@ # ChangeLog file for MonetDB # This file is updated with Maddlog +* Tue Mar 19 2019 Sjoerd Mullender <[email protected]> +- During processing, we now try to maintain the smallest and largest + values that occur in a BAT. This information is not saved across + server restarts. + * Mon Nov 12 2018 Sjoerd Mullender <[email protected]> - Added an extra argument of type `bool' to the atom to string and string to atom methods to indicate whether the string is for diff --git a/gdk/gdk_analytic.h b/gdk/gdk_analytic.h --- a/gdk/gdk_analytic.h +++ b/gdk/gdk_analytic.h @@ -18,19 +18,21 @@ gdk_export gdk_return GDKanalyticaldiff(BAT *r, BAT *b, BAT *p, int tpe); -gdk_export gdk_return GDKanalyticalntile(BAT *r, BAT *b, BAT *p, int tpe, const void* restrict ntile); -gdk_export gdk_return GDKanalyticallag(BAT *r, BAT *b, BAT *p, BUN lag, const void* restrict default_value, int tpe); -gdk_export gdk_return GDKanalyticallead(BAT *r, BAT *b, BAT *p, BUN lead, const void* restrict default_value, int tpe); +gdk_export gdk_return GDKanalyticalntile(BAT *r, BAT *b, BAT *p, int tpe, const void *restrict ntile); +gdk_export gdk_return GDKanalyticallag(BAT *r, BAT *b, BAT *p, BUN lag, const void *restrict default_value, int tpe); +gdk_export gdk_return GDKanalyticallead(BAT *r, BAT *b, BAT *p, BUN lead, const void *restrict default_value, int tpe); -gdk_export gdk_return GDKanalyticalwindowbounds(BAT *r, BAT *b, BAT *p, BAT *l, const void* restrict bound, - int tp1, int tp2, int unit, bool preceding, lng first_half); +gdk_export gdk_return GDKanalyticalwindowbounds(BAT *r, BAT *b, BAT *p, BAT *l, + const void *restrict bound, + int tp1, int tp2, int unit, + bool preceding, lng first_half); gdk_export gdk_return GDKanalyticalfirst(BAT *r, BAT *b, BAT *s, BAT *e, int tpe); gdk_export gdk_return GDKanalyticallast(BAT *r, BAT *b, BAT *s, BAT *e, int tpe); -gdk_export gdk_return GDKanalyticalnthvalue(BAT *r, BAT *b, BAT *s, BAT *e, BAT *l, const void* restrict bound, int tp1, int tp2); +gdk_export gdk_return GDKanalyticalnthvalue(BAT *r, BAT *b, BAT *s, BAT *e, BAT *l, const void *restrict bound, int tp1, int tp2); gdk_export gdk_return GDKanalyticalmin(BAT *r, BAT *b, BAT *s, BAT *e, int tpe); gdk_export gdk_return GDKanalyticalmax(BAT *r, BAT *b, BAT *s, BAT *e, int tpe); -gdk_export gdk_return GDKanalyticalcount(BAT *r, BAT *b, BAT *s, BAT *e, const bit* restrict ignore_nils, int tpe); +gdk_export gdk_return GDKanalyticalcount(BAT *r, BAT *b, BAT *s, BAT *e, const bit *restrict ignore_nils, int tpe); gdk_export gdk_return GDKanalyticalsum(BAT *r, BAT *b, BAT *s, BAT *e, int tp1, int tp2); gdk_export gdk_return GDKanalyticalprod(BAT *r, BAT *b, BAT *s, BAT *e, int tp1, int tp2); gdk_export gdk_return GDKanalyticalavg(BAT *r, BAT *b, BAT *s, BAT *e, int tpe); diff --git a/gdk/gdk_analytic_bounds.c b/gdk/gdk_analytic_bounds.c --- a/gdk/gdk_analytic_bounds.c +++ b/gdk/gdk_analytic_bounds.c @@ -11,460 +11,462 @@ #include "gdk_analytic.h" #include "gdk_calc_private.h" -#define ANALYTICAL_WINDOW_BOUNDS_ROWS_PRECEDING(LIMIT) \ - do { \ - lng calc1, calc2; \ - j = k; \ - for(; k<i; k++, rb++) { \ - lng rlimit = (lng) LIMIT; \ +#define ANALYTICAL_WINDOW_BOUNDS_ROWS_PRECEDING(LIMIT) \ + do { \ + lng calc1, calc2; \ + j = k; \ + for (; k < i; k++, rb++) { \ + lng rlimit = (lng) LIMIT; \ SUB_WITH_CHECK(k, rlimit, lng, calc1, GDK_lng_max, goto calc_overflow); \ ADD_WITH_CHECK(calc1, !first_half, lng, calc2, GDK_lng_max, goto calc_overflow); \ - *rb = MAX(calc2, j); \ - } \ - } while(0) + *rb = MAX(calc2, j); \ + } \ + } while (0) -#define ANALYTICAL_WINDOW_BOUNDS_ROWS_FOLLOWING(LIMIT) \ - do { \ - lng calc1, calc2; \ - for(; k<i; k++, rb++) { \ - lng rlimit = (lng) LIMIT; \ +#define ANALYTICAL_WINDOW_BOUNDS_ROWS_FOLLOWING(LIMIT) \ + do { \ + lng calc1, calc2; \ + for (; k < i; k++, rb++) { \ + lng rlimit = (lng) LIMIT; \ ADD_WITH_CHECK(rlimit, k, lng, calc1, GDK_lng_max, goto calc_overflow); \ ADD_WITH_CHECK(calc1, !first_half, lng, calc2, GDK_lng_max, goto calc_overflow); \ - *rb = MIN(calc2, i); \ - } \ - } while(0) + *rb = MIN(calc2, i); \ + } \ + } while (0) #define ANALYTICAL_WINDOW_BOUNDS_FIXED_RANGE_PRECEDING(TPE1, LIMIT, TPE2) \ - do { \ - lng m = k - 1; \ - TPE1 v, calc; \ - TPE2 rlimit; \ - for(; k<i; k++, rb++) { \ - rlimit = (TPE2) LIMIT; \ - v = bp[k]; \ - if(is_##TPE1##_nil(v)) { \ - for(j=k; ; j--) { \ - if(j == m) \ - break; \ - if(!is_##TPE1##_nil(bp[j])) \ - break; \ - } \ - } else { \ - for(j=k; ; j--) { \ - if(j == m) \ - break; \ - if(is_##TPE1##_nil(bp[j])) \ - break; \ + do { \ + lng m = k - 1; \ + TPE1 v, calc; \ + TPE2 rlimit; \ + for (; k < i; k++, rb++) { \ + rlimit = (TPE2) LIMIT; \ + v = bp[k]; \ + if (is_##TPE1##_nil(v)) { \ + for (j = k; ; j--) { \ + if (j == m) \ + break; \ + if (!is_##TPE1##_nil(bp[j])) \ + break; \ + } \ + } else { \ + for (j = k; ; j--) { \ + if (j == m) \ + break; \ + if (is_##TPE1##_nil(bp[j])) \ + break; \ SUB_WITH_CHECK(v, bp[j], TPE1, calc, GDK_##TPE1##_max, goto calc_overflow); \ if ((TPE2)(ABSOLUTE(calc)) > rlimit) \ - break; \ - } \ - } \ - j++; \ - *rb = j; \ - } \ - } while(0) + break; \ + } \ + } \ + j++; \ + *rb = j; \ + } \ + } while (0) #define ANALYTICAL_WINDOW_BOUNDS_FIXED_RANGE_FOLLOWING(TPE1, LIMIT, TPE2) \ - do { \ - TPE1 v, calc; \ - TPE2 rlimit; \ - for(; k<i; k++, rb++) { \ - rlimit = (TPE2) LIMIT; \ - v = bp[k]; \ - if(is_##TPE1##_nil(v)) { \ - for(j=k+1; j<i; j++) { \ - if(!is_##TPE1##_nil(bp[j])) \ - break; \ - } \ - } else { \ - for(j=k+1; j<i; j++) { \ - if(is_##TPE1##_nil(bp[j])) \ - break; \ + do { \ + TPE1 v, calc; \ + TPE2 rlimit; \ + for (; k < i; k++, rb++) { \ + rlimit = (TPE2) LIMIT; \ + v = bp[k]; \ + if (is_##TPE1##_nil(v)) { \ + for (j =k + 1; j < i; j++) { \ + if (!is_##TPE1##_nil(bp[j])) \ + break; \ + } \ + } else { \ + for (j = k + 1; j < i; j++) { \ + if (is_##TPE1##_nil(bp[j])) \ + break; \ SUB_WITH_CHECK(v, bp[j], TPE1, calc, GDK_##TPE1##_max, goto calc_overflow); \ if ((TPE2)(ABSOLUTE(calc)) > rlimit) \ - break; \ - } \ - } \ - *rb = j; \ - } \ - } while(0) + break; \ + } \ + } \ + *rb = j; \ + } \ + } while (0) #define ANALYTICAL_WINDOW_BOUNDS_FIXED_GROUPS_PRECEDING(TPE1, LIMIT, TPE2) \ - do { \ - lng m = k - 1; \ - for(; k<i; k++, rb++) { \ - TPE2 rlimit = (TPE2) LIMIT; \ - TPE1 v = bp[k]; \ - if(is_##TPE1##_nil(v)) { \ - for(j=k; ; j--) { \ - if(j == m) \ - break; \ - if(!is_##TPE1##_nil(bp[j])) \ - break; \ - } \ - } else { \ - for(j=k; ; j--) { \ - if(j == m) \ - break; \ - if(is_##TPE1##_nil(bp[j])) \ - break; \ - if(v != bp[j]) { \ - if(rlimit == 0) \ - break; \ - rlimit--; \ - v = bp[j]; \ - } \ - } \ - } \ - j++; \ - *rb = j; \ - } \ - } while(0) + do { \ + lng m = k - 1; \ + for (; k < i; k++, rb++) { \ + TPE2 rlimit = (TPE2) LIMIT; \ + TPE1 v = bp[k]; \ + if (is_##TPE1##_nil(v)) { \ + for (j = k; ; j--) { \ + if (j == m) \ + break; \ + if (!is_##TPE1##_nil(bp[j])) \ + break; \ + } \ + } else { \ + for (j = k; ; j--) { \ + if (j == m) \ + break; \ + if (is_##TPE1##_nil(bp[j])) \ + break; \ + if (v != bp[j]) { \ + if (rlimit == 0) \ + break; \ + rlimit--; \ + v = bp[j]; \ + } \ + } \ + } \ + j++; \ + *rb = j; \ + } \ + } while (0) #define ANALYTICAL_WINDOW_BOUNDS_FIXED_GROUPS_FOLLOWING(TPE1, LIMIT, TPE2) \ - do { \ - for(; k<i; k++, rb++) { \ - TPE2 rlimit = (TPE2) LIMIT; \ - TPE1 v = bp[k]; \ - if(is_##TPE1##_nil(v)) { \ - for(j=k+1; j<i; j++) { \ - if(!is_##TPE1##_nil(bp[j])) \ _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
