Changeset: c18064fd9dc4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c18064fd9dc4 Modified Files: clients/Tests/MAL-signatures-hge.test clients/Tests/MAL-signatures.test gdk/gdk_logger.c sql/backends/monet5/sql_scenario.c Branch: insertonly Log Message:
Merge with default branch. diffs (truncated from 6415 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -810,3 +810,4 @@ 79dbf838f04483a2d9ccce8332090ff91b18caec 573511e0e7bf2f7ab11f00b45711aab5f1aff6f2 Jun2023_5 573511e0e7bf2f7ab11f00b45711aab5f1aff6f2 Jun2023_SP1_release ce63ebe9a78c52ef0cbe8fd6f2159d2637f0387c Jun2023_7 +1efa83c6409769d13b2ee30e497d5f7ab42fa955 Jun2023_9 diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -860,13 +860,16 @@ fi %endif %changelog +* Wed Sep 27 2023 Sjoerd Mullender <sjo...@acm.org> - 11.47.9-20230927 +- Rebuilt. +- GH#7402: Privileges on merge table not propagated to partition tables + * Mon Sep 25 2023 Sjoerd Mullender <sjo...@acm.org> - 11.47.7-20230925 - Rebuilt. - GH#7094: Drop remote tables in transactions and rollback - GH#7303: Improve the performance of multi-column filters - GH#7400: VM max memory is not check correctly for cgroups v2 - GH#7401: Column aliases used incorrectly in UNION subqueries -- GH#7402: Privileges on merge table not propagated to partition tables * Fri Sep 22 2023 Sjoerd Mullender <sjo...@acm.org> - 11.47.7-20230925 - gdk: Fixed a number of data races (race conditions). diff --git a/clients/Tests/MAL-signatures-hge.test b/clients/Tests/MAL-signatures-hge.test --- a/clients/Tests/MAL-signatures-hge.test +++ b/clients/Tests/MAL-signatures-hge.test @@ -3494,6 +3494,26 @@ command algebra.likeselect(X_0:bat[:str] PCRElikeselect; Select all head values of the first input BAT for which the@tail value is "like" the given (SQL-style) pattern and for@which the head value occurs in the tail of the second input@BAT.@Input is a dense-headed BAT, output is a dense-headed BAT with in@the tail the head value of the input BAT for which the@relationship holds. The output BAT is sorted on the tail value. algebra +markjoin +command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:lng) (X_5:bat[:oid], X_6:bat[:bit]) +ALGmark2join; +Mark join with candidate lists +algebra +markjoin +command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:lng) (X_5:bat[:oid], X_6:bat[:oid], X_7:bat[:bit]) +ALGmark3join; +Mark join with candidate lists +algebra +markjoin +command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) (X_6:bat[:oid], X_7:bat[:bit]) +ALGmarkjoin; +Left mark join with candidate lists, produces left output and mark flag; +algebra +markselect +command algebra.markselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) +ALGmarkselect; +Group on group-ids, return aggregated anyequal or allnotequal +algebra not_like command algebra.not_like(X_0:str, X_1:str, X_2:str, X_3:bit):bit PCREnotlike; @@ -3504,6 +3524,11 @@ command algebra.orderidx(X_0:bat[:any_1] OIDXorderidx; Create an order index algebra +outercrossproduct +command algebra.outercrossproduct(X_0:bat[:any_1], X_1:bat[:any_2], X_2:bat[:oid], X_3:bat[:oid], X_4:bit) (X_5:bat[:oid], X_6:bat[:oid]) +ALGoutercrossproduct3; +Compute the outer cross product of both input bats +algebra outerjoin command algebra.outerjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:bit, X_6:lng):bat[:oid] ALGouterjoin1; @@ -3514,6 +3539,11 @@ command algebra.outerjoin(X_0:bat[:any_1 ALGouterjoin; Left outer join with candidate lists algebra +outerselect +command algebra.outerselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) +ALGouterselect; +Per input lid return atleast one row, if none of the predicates (p) hold, return a nil, else 'all' true cases. +algebra project pattern algebra.project(X_0:bat[:any_1], X_1:any_3):bat[:any_3] ALGprojecttail; diff --git a/clients/Tests/MAL-signatures.test b/clients/Tests/MAL-signatures.test --- a/clients/Tests/MAL-signatures.test +++ b/clients/Tests/MAL-signatures.test @@ -2929,6 +2929,26 @@ command algebra.likeselect(X_0:bat[:str] PCRElikeselect; Select all head values of the first input BAT for which the@tail value is "like" the given (SQL-style) pattern and for@which the head value occurs in the tail of the second input@BAT.@Input is a dense-headed BAT, output is a dense-headed BAT with in@the tail the head value of the input BAT for which the@relationship holds. The output BAT is sorted on the tail value. algebra +markjoin +command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:lng) (X_5:bat[:oid], X_6:bat[:bit]) +ALGmark2join; +Mark join with candidate lists +algebra +markjoin +command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:lng) (X_5:bat[:oid], X_6:bat[:oid], X_7:bat[:bit]) +ALGmark3join; +Mark join with candidate lists +algebra +markjoin +command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) (X_6:bat[:oid], X_7:bat[:bit]) +ALGmarkjoin; +Left mark join with candidate lists, produces left output and mark flag; +algebra +markselect +command algebra.markselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) +ALGmarkselect; +Group on group-ids, return aggregated anyequal or allnotequal +algebra not_like command algebra.not_like(X_0:str, X_1:str, X_2:str, X_3:bit):bit PCREnotlike; @@ -2939,6 +2959,11 @@ command algebra.orderidx(X_0:bat[:any_1] OIDXorderidx; Create an order index algebra +outercrossproduct +command algebra.outercrossproduct(X_0:bat[:any_1], X_1:bat[:any_2], X_2:bat[:oid], X_3:bat[:oid], X_4:bit) (X_5:bat[:oid], X_6:bat[:oid]) +ALGoutercrossproduct3; +Compute the outer cross product of both input bats +algebra outerjoin command algebra.outerjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:bit, X_6:lng):bat[:oid] ALGouterjoin1; @@ -2949,6 +2974,11 @@ command algebra.outerjoin(X_0:bat[:any_1 ALGouterjoin; Left outer join with candidate lists algebra +outerselect +command algebra.outerselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) +ALGouterselect; +Per input lid return atleast one row, if none of the predicates (p) hold, return a nil, else 'all' true cases. +algebra project pattern algebra.project(X_0:bat[:any_1], X_1:any_3):bat[:any_3] ALGprojecttail; 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 @@ -159,6 +159,7 @@ BAT *BATintersectcand(BAT *a, BAT *b); gdk_return BATjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); gdk_return BATkey(BAT *b, bool onoff); gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); +gdk_return BATmarkjoin(BAT **r1p, BAT **r2p, BAT **r3p, BAT *l, BAT *r, BAT *sl, BAT *sr, BUN estimate) __attribute__((__warn_unused_result__)); BAT *BATmaskedcands(oid hseq, BUN nr, BAT *masked, bool selected); void *BATmax(BAT *b, void *aggr); void *BATmax_skipnil(BAT *b, void *aggr, bit skipnil); @@ -172,6 +173,7 @@ BAT *BATnil_grp(BAT *l, BAT *g, BAT *e, bool BATordered(BAT *b); bool BATordered_rev(BAT *b); gdk_return BATorderidx(BAT *b, bool stable); +gdk_return BAToutercross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool max_one) __attribute__((__warn_unused_result__)); gdk_return BATouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool match_one, BUN estimate) __attribute__((__warn_unused_result__)); gdk_return BATprint(stream *s, BAT *b); gdk_return BATprintcolumns(stream *s, int argc, BAT *argv[]); @@ -212,7 +214,7 @@ BBPrec *BBP[N_BBPINIT]; gdk_return BBPaddfarm(const char *dirname, uint32_t rolemask, bool logerror); void BBPcold(bat i); int BBPfix(bat b); -unsigned BBPheader(FILE *fp, int *lineno, bat *bbpsize, lng *logno, lng *transid); +unsigned BBPheader(FILE *fp, int *lineno, bat *bbpsize, lng *logno, lng *transid, bool allow_hge_upgrade); bat BBPindex(const char *nme); void BBPkeepref(BAT *b) __attribute__((__nonnull__(1))); bat BBPlimit; @@ -1037,6 +1039,8 @@ const char *mal_version(void); stream *maleventstream; const char *manifoldRef; const char *mapiRef; +const char *markjoinRef; +const char *markselectRef; const char *maskRef; const char *matRef; const char *maxRef; @@ -1112,7 +1116,9 @@ str operatorName(int i); void opt_pipes_reset(void); str optimizeMALBlock(Client cntxt, MalBlkPtr mb); const char *optimizerRef; +const char *outercrossRef; const char *outerjoinRef; +const char *outerselectRef; const char *packIncrementRef; const char *packRef; const char *parametersRef; diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake --- a/cmake/monetdb-versions.cmake +++ b/cmake/monetdb-versions.cmake @@ -72,5 +72,5 @@ set(STREAM_VERSION "${STREAM_VERSION_MAJ # version of the SQL library (subdirectory sql) set(SQL_VERSION_MAJOR "14") set(SQL_VERSION_MINOR "0") -set(SQL_VERSION_PATCH "3") +set(SQL_VERSION_PATCH "4") set(SQL_VERSION "${SQL_VERSION_MAJOR}.${SQL_VERSION_MINOR}.${SQL_VERSION_PATCH}") diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +monetdb (11.47.9) unstable; urgency=low + + * Rebuilt. + * GH#7402: Privileges on merge table not propagated to partition tables + + -- Sjoerd Mullender <sjo...@acm.org> Wed, 27 Sep 2023 09:04:30 +0200 + monetdb (11.47.7) unstable; urgency=low * Rebuilt. @@ -5,7 +12,6 @@ monetdb (11.47.7) unstable; urgency=low * GH#7303: Improve the performance of multi-column filters * GH#7400: VM max memory is not check correctly for cgroups v2 * GH#7401: Column aliases used incorrectly in UNION subqueries - * GH#7402: Privileges on merge table not propagated to partition tables -- Sjoerd Mullender <sjo...@acm.org> Mon, 25 Sep 2023 12:24:55 +0200 diff --git a/debian/compat b/debian/compat --- a/debian/compat +++ b/debian/compat @@ -1,1 +1,1 @@ -9 +12 diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: MonetDB BV <i...@monetdb.org Homepage: https://www.monetdb.org/ Vcs-Browser: https://dev.monetdb.org/hg/MonetDB/ Vcs-Hg: https://dev.monetdb.org/hg/MonetDB/ -Build-Depends: debhelper (>= 9), cmake (>= 3.12), bison, +Build-Depends: debhelper (>= 12), cmake (>= 3.12), bison, libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.10.0), libpcre3-dev, libreadline-dev, liblzma-dev, liblz4-dev (>= 1.8.0), libxml2-dev, pkg-config, @@ -339,17 +339,3 @@ Description: MonetDB testing Python prog testing the MonetDB packages. You probably don't need this, unless you are a developer, but if you do want to test, this is the package you need. - -Package: monetdb-dbg -Architecture: any -Section: debug -Priority: optional -Depends: ${misc:Depends} -Description: Debugging symbols for monetdb packages - MonetDB is a database management system that is developed from a - main-memory perspective with use of a fully decomposed storage model, - automatic index management, extensibility of data types and search - accelerators. It also has an SQL front end. - . - This package contains the debugging symbols for all monetdb binary - packages. diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -48,4 +48,12 @@ override_dh_auto_configure: override_dh_auto_test: override_dh_strip: - dh_strip --dbg-package=monetdb-dbg + dh_strip --dbgsym-migration='monetdb-dbg (<<11.47.8)' + +override_dh_auto_install: + dh_auto_install + rm debian/tmp/usr/bin/monetdb_mtest.sh + rm -r debian/tmp/usr/share/monetdb + rm debian/tmp/usr/lib/*/monetdb5/lib_opt_sql_append.so + rm debian/tmp/usr/lib/*/monetdb5/lib_microbenchmark*.so + rm debian/tmp/usr/lib/*/monetdb5/lib_udf*.so diff --git a/gdk/ChangeLog b/gdk/ChangeLog --- a/gdk/ChangeLog +++ b/gdk/ChangeLog @@ -1,3 +1,9 @@ # ChangeLog file for GDK # This file is updated with Maddlog +* Thu Sep 28 2023 Sjoerd Mullender <sjo...@acm.org> +- We now prevent accidental upgrades from a database without 128 bit + integers to one with 128 bit integers (also known as HUGEINT) from + happening. Upgrades will only be done if the server is started with + the option --set allow_hge_upgrade=yes. + diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -2302,9 +2302,13 @@ gdk_export BAT *BATthetaselect(BAT *b, B gdk_export BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, role_t role); gdk_export gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool max_one) __attribute__((__warn_unused_result__)); +gdk_export gdk_return BAToutercross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool max_one) + __attribute__((__warn_unused_result__)); gdk_export gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); +gdk_export gdk_return BATmarkjoin(BAT **r1p, BAT **r2p, BAT **r3p, BAT *l, BAT *r, BAT *sl, BAT *sr, BUN estimate) + __attribute__((__warn_unused_result__)); gdk_export gdk_return BATouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool match_one, BUN estimate) __attribute__((__warn_unused_result__)); gdk_export gdk_return BATthetajoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int op, bool nil_matches, BUN estimate) diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org