MonetDB: properties - Approved output
Changeset: fc394c11ede0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/fc394c11ede0 Modified Files: sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 Branch: properties Log Message: Approved output diffs (truncated from 603 to 300 lines): diff --git a/sql/test/emptydb/Tests/check.stable.out b/sql/test/emptydb/Tests/check.stable.out --- a/sql/test/emptydb/Tests/check.stable.out +++ b/sql/test/emptydb/Tests/check.stable.out @@ -4931,16 +4931,16 @@ select 'null in value_partitions.value', % %2, %1, id # name % char,bigint, int # type % 21, 1, 1 # length -% .%11,.%10, .tables # table_name -% %11, %10,id # name +% .%12,sys.%10,sys.tables # table_name +% %12, %10,id # name % char,bigint, int # type % 20, 1, 1 # length % .%2, sys.%1, sys._columns # table_name % %2, %1, id # name % char,bigint, int # type % 22, 1, 1 # length -% .%7, .%6,.columns # table_name -% %7, %6, id # name +% .%10,sys.%6, sys.columns # table_name +% %10, %6, id # name % char,bigint, int # type % 21, 1, 1 # length % .%2, sys.%1, sys.functions # table_name @@ -5071,8 +5071,8 @@ select 'null in value_partitions.value', % %2, %1, id # name % char,bigint, int # type % 22, 1, 1 # length -% .%171, .%170, .ids # table_name -% %171,%170, id # name +% .%176, .%170, .ids # table_name +% %176,%170, id # name % char,bigint, int # type % 17, 1, 1 # length % .%105, .%104, .var_values # table_name @@ -5107,32 +5107,32 @@ select 'null in value_partitions.value', % %2, %1, schema_id, name # name % char,bigint, int,varchar # type % 21, 1, 1, 0 # length -% .%11,.%10, .tables,.tables # table_name -% %11, %10,schema_id, name # name +% .%12,sys.%10,sys.tables, sys.tables # table_name +% %12, %10,schema_id, name # name % char,bigint, int,varchar # type % 20, 1, 1, 0 # length % .%2, sys.%1, sys._columns, sys._columns # table_name % %2, %1, table_id, name # name % char,bigint, int,varchar # type % 22, 1, 1, 0 # length -% .%7, .%6,.columns, .columns # table_name -% %7, %6, table_id, name # name +% .%10,sys.%6, sys.columns,sys.columns # table_name +% %10, %6, table_id, name # name % char,bigint, int,varchar # type % 21, 1, 1, 0 # length % .%2, sys.%1, sys._columns, sys._columns # table_name % %2, %1, table_id, number # name % char,bigint, int,int # type % 22, 1, 1, 1 # length -% .%7, .%6,.columns, .columns # table_name -% %7, %6, table_id, number # name +% .%10,sys.%6, sys.columns,sys.columns # table_name +% %10, %6, table_id, number # name % char,bigint, int,int # type % 21, 1, 1, 1 # length % .%21,.%20, .t # table_name % %21, %20,id # name % char,bigint, int # type % 161, 1, 1 # length -% .%35,.%34, .t # table_name -% %35, %34,id # name +% .%37,.%34, .t # table_name +% %37, %34,id # name % char,bigint, int # type % 159, 1, 1 # length % .%2, sys.%1, sys.f, sys.f, sys.f, sys.f, sys.f, sys.f, sys.f, sys.f, sys.f, sys.a # table_name @@ -5231,7 +5231,7 @@ select 'null in value_partitions.value', % %5, schema_id, id, name, schema_id, query, type, system, commit_action, access # name % char,int,int,varchar,int,varchar, smallint, boolean,smallint, smallint # type % 38, 1, 1, 0, 1, 0, 1, 5, 1, 1 # length -% .%14,.tables,.tables,.tables,.tables, .tables,.tables,.tables,.tables,.tables, .tables # table_name +% .%14,sys.tables, sys.tables, sys.tables, sys.tables, sys.tables, .tables,sys.tables, sys.tables, sys.tables, .tables # table_name % %14, schema_id, id, name, schema_id, query, type, system, commit_action, access, temporary # name % char,int,int,varchar,int,varchar, smallint, boolean,smallint, smallint, tinyint # type % 37, 1, 1, 0, 1, 0, 1, 5, 1, 1, 1 # length @@ -5239,7 +5239,7 @@ select 'null in value_partitions.value', % %5, type, id, name, schema_id, query, type, system, commit_action, access # name % char,smallint, int,varchar,int,varchar, smallint, boolean,smallint, smalli
MonetDB: properties - Tunning cardinality estimation for distinc...
Changeset: c47cfa18f023 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c47cfa18f023 Modified Files: sql/server/rel_statistics.c Branch: properties Log Message: Tunning cardinality estimation for distinct projections and single joins diffs (155 lines): diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -604,12 +604,36 @@ trivial_project_exp_card(sql_exp *e) return e->type == e_atom && e->f ? (BUN) list_length(e->f) : 1; } +static BUN +rel_calc_nuniques(sql_rel *rel, sql_rel *l, list *exps) +{ + BUN nuniques = 0; + + /* compute the highest number of unique values */ + if (!list_empty(exps)) { + for (node *n = exps->h ; n && nuniques != BUN_NONE ; n = n->next) { + sql_exp *e = n->data; + sql_rel *bt = NULL; + prop *p = NULL; + + if (e->type == e_column && is_unique(e) && + name_find_column(rel, e->l, e->r, -1, &bt) && bt && (p = find_prop(bt->p, PROP_COUNT))) { + nuniques = MAX(nuniques, p->value.lval); + } else if ((p = find_prop(e->p, PROP_NUNIQUES))) { + nuniques = MAX(nuniques, (BUN) p->value.dval); + } else { + nuniques = BUN_NONE; + } + } + } + return nuniques != BUN_NONE ? nuniques : get_rel_count(l); +} + static sql_rel * rel_get_statistics_(visitor *v, sql_rel *rel) { /* Don't prune updates as pruning will possibly result in removing the joins which therefore cannot be used for constraint checking */ uint8_t has_special_modify = *(uint8_t*) v->data; - prop *p; bool can_be_pruned = !has_special_modify && v->storage_based_opt; /* Don't look at the same relation twice */ @@ -635,34 +659,33 @@ rel_get_statistics_(visitor *v, sql_rel case op_except: { bool empty_cross = false; int i = 0; - sql_rel *l = rel->l, *r = rel->r; + sql_rel *l = rel->l, *pl = rel->l, *r = rel->r, *pr = rel->r; - while (is_sample(l->op) || is_topn(l->op)) /* skip topN and sample relations in the middle */ - l = l->l; - while (is_sample(r->op) || is_topn(r->op)) - r = r->l; + while (is_sample(pl->op) || is_topn(pl->op)) /* skip topN and sample relations in the middle */ + pl = pl->l; + while (is_sample(r->op) || is_topn(pr->op)) + pr = pr->l; /* if it's not a projection, then project and propagate statistics */ - if (!is_project(l->op) && !is_base(l->op)) { - l = rel_project(v->sql->sa, l, rel_projections(v->sql, l, NULL, 0, 1)); - set_count_prop(v->sql->sa, l, get_rel_count(l->l)); - l->exps = exps_exp_visitor_bottomup(v, l, l->exps, 0, &rel_propagate_statistics, false); + if (!is_project(pl->op) && !is_base(l->op)) { + pl = rel_project(v->sql->sa, pl, rel_projections(v->sql, pl, NULL, 0, 1)); + set_count_prop(v->sql->sa, pl, get_rel_count(pl->l)); + pl->exps = exps_exp_visitor_bottomup(v, pl, pl->exps, 0, &rel_propagate_statistics, false); } - if (!is_project(r->op) && !is_base(r->op)) { - r = rel_project(v->sql->sa, r, rel_projections(v->sql, r, NULL, 0, 1)); - set_count_prop(v->sql->sa, r, get_rel_count(r->l)); - r->exps = exps_exp_visitor_bottomup(v, r, r->exps, 0, &rel_propagate_statistics, false); + if (!is_project(pr->op) && !is_base(pr->op)) { + pr = rel_project(v->sql->sa, pr, rel_projections(v->sql, pr, NULL, 0, 1)); + set_count_prop(v->sql->sa, pr, get_rel_count(pr->l)); + pr->exps = exps_exp_visitor_bottomup(v, pr, pr->exps, 0, &rel_propagate_statistics, false); } for (node *n = rel->exps->h ; n ; n = n->next) { - empty_cross |= rel_setop_get_statistics(v->sql, rel, l->exps, r->exps, n->data, i); + empty_cross |= rel_setop_get_statistics(v->sql, rel, pl->exps, pr->exps, n->data, i); i++; } - l = rel->l; - r = rel->r; /* propagate row count */ if (is_union(rel->op)) { - BUN lv = get_rel_count(l), rv = get_rel_count(r); + BUN lv = need_distinct(rel) ? rel_calc_nuniques(rel, pl, pl->exps) : get_rel_count(pl), +
MonetDB: properties - Defensive lines
Changeset: 076f4226e181 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/076f4226e181 Modified Files: sql/server/rel_statistics.c Branch: properties Log Message: Defensive lines diffs (27 lines): diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -607,10 +607,9 @@ trivial_project_exp_card(sql_exp *e) static BUN rel_calc_nuniques(sql_rel *rel, sql_rel *l, list *exps) { - BUN nuniques = 0; - - /* compute the highest number of unique values */ if (!list_empty(exps)) { + BUN nuniques = 0; + /* compute the highest number of unique values */ for (node *n = exps->h ; n && nuniques != BUN_NONE ; n = n->next) { sql_exp *e = n->data; sql_rel *bt = NULL; @@ -625,8 +624,9 @@ rel_calc_nuniques(sql_rel *rel, sql_rel nuniques = BUN_NONE; } } + return nuniques != BUN_NONE ? nuniques : get_rel_count(l); } - return nuniques != BUN_NONE ? nuniques : get_rel_count(l); + return get_rel_count(l); } static sql_rel * ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - Count active rows only
Changeset: 6f1b2a03dad5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6f1b2a03dad5 Modified Files: sql/server/rel_optimizer.c Branch: default Log Message: Count active rows only diffs (12 lines): diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -89,7 +89,7 @@ merge_table_prune_and_unionize(visitor * return sql_error(v->sql, 02, SQLSTATE(42000) "The %s '%s.%s' should have at least one table associated", TABLE_TYPE_DESCRIPTION(pt->type, pt->properties), pt->s->base.name, pt->base.name); /* Do not include empty partitions */ - if (isTable(pt) && pt->access == TABLE_READONLY && !store->storage_api.count_col(v->sql->session->tr, ol_first_node(pt->columns)->data, 0)) + if (isTable(pt) && pt->access == TABLE_READONLY && !store->storage_api.count_col(v->sql->session->tr, ol_first_node(pt->columns)->data, 10)) /* count active rows only */ continue; if (!table_privs(v->sql, pt, PRIV_SELECT)) /* Test for privileges */ ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: properties - Count active rows only
Changeset: c77536b5aca6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c77536b5aca6 Modified Files: sql/server/rel_statistics.c Branch: properties Log Message: Count active rows only diffs (14 lines): diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -651,8 +651,8 @@ rel_get_statistics_(visitor *v, sql_rel rel_basetable_column_get_statistics(v->sql, rel, n->data); } /* Set table row count. TODO? look for remote/replica tables. Don't look at storage for declared tables, because it won't be cleaned */ - if (isTable(t) && t->s && !isDeclaredTable(t)) - set_count_prop(v->sql->sa, rel, (BUN)store->storage_api.count_col(v->sql->session->tr, ol_first_node(t->columns)->data, 0)); + if (isTable(t) && t->s && !isDeclaredTable(t)) /* count active rows only */ + set_count_prop(v->sql->sa, rel, (BUN)store->storage_api.count_col(v->sql->session->tr, ol_first_node(t->columns)->data, 10)); } break; case op_union: case op_inter: ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jul2021 - Changelog blurb.
Changeset: d739b2c3a14c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d739b2c3a14c Modified Files: sql/ChangeLog.Jul2021 Branch: Jul2021 Log Message: Changelog blurb. diffs (13 lines): diff --git a/sql/ChangeLog.Jul2021 b/sql/ChangeLog.Jul2021 --- a/sql/ChangeLog.Jul2021 +++ b/sql/ChangeLog.Jul2021 @@ -1,3 +1,9 @@ # ChangeLog file for sql # This file is updated with Maddlog +* Mon Apr 25 2022 Sjoerd Mullender +- GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables + as far as the table content is concerned. The schema information + stays global. This fixes an issue with concurrent access and cleanup + of stale data. + ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jan2022 - Merge with Jul2021 branch.
Changeset: 4292a507e8b7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/4292a507e8b7 Modified Files: sql/ChangeLog.Jan2022 Branch: Jan2022 Log Message: Merge with Jul2021 branch. diffs (16 lines): diff --git a/sql/ChangeLog.Jan2022 b/sql/ChangeLog.Jan2022 --- a/sql/ChangeLog.Jan2022 +++ b/sql/ChangeLog.Jan2022 @@ -1,6 +1,12 @@ # ChangeLog file for sql # This file is updated with Maddlog +* Mon Apr 25 2022 Sjoerd Mullender +- GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables + as far as the table content is concerned. The schema information + stays global. This fixes an issue with concurrent access and cleanup + of stale data. + * Thu Apr 14 2022 Sjoerd Mullender - The NO CONSTRAINT option of the COPY INTO query has been removed. It didn't work and it was never a good idea anyway. ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: properties - Propagate number of uniques over joins (my...
Changeset: 12daba096f46 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/12daba096f46 Modified Files: sql/server/rel_statistics.c Branch: properties Log Message: Propagate number of uniques over joins (my mistake) diffs (19 lines): diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -155,13 +155,8 @@ rel_propagate_column_ref_statistics(mvc set_has_nil(e); if (!is_outerjoin(rel->op) && found_without_semantics) /* at an outer join, null values pass */ set_has_no_nil(e); - if (is_join(rel->op)) { - prop *est; - if (is_unique(e) && !still_unique) - set_not_unique(e); - if ((est = find_prop(e->p, PROP_NUNIQUES))) /* remove unique estimation after a join */ - e->p = prop_remove(e->p, est); - } + if (is_join(rel->op) && is_unique(e) && !still_unique) + set_not_unique(e); return e; } case op_table: ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jan2022 - Make sure we get the correct day and month na...
Changeset: 2bddce9d7b62 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/2bddce9d7b62 Modified Files: buildtools/conf/Maddlog Branch: Jan2022 Log Message: Make sure we get the correct day and month name abbreviations. diffs (13 lines): diff --git a/buildtools/conf/Maddlog b/buildtools/conf/Maddlog --- a/buildtools/conf/Maddlog +++ b/buildtools/conf/Maddlog @@ -189,6 +189,9 @@ fi file=ChangeLog.$RANDOM +# make sure we get the correct day and month names +export LC_ALL=en_US.utf-8 + case "$CL" in */*) cd "${CL%/*}" ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - We need English day and month name abbreviati...
Changeset: af7ae2102bee for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/af7ae2102bee Modified Files: sql/ChangeLog Branch: default Log Message: We need English day and month name abbreviations. diffs (12 lines): diff --git a/sql/ChangeLog b/sql/ChangeLog --- a/sql/ChangeLog +++ b/sql/ChangeLog @@ -1,7 +1,7 @@ # ChangeLog file for sql # This file is updated with Maddlog -* do apr 21 2022 Nuno Faria +* Thu Apr 21 2022 Nuno Faria - Added the UNLOGGED TABLE feature. * Fri Feb 4 2022 Sjoerd Mullender ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jul2021 - Pre-release version number update.
Changeset: 015a25b68cb2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/015a25b68cb2 Modified Files: .bumpversion.cfg MonetDB.spec clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc cmake/monetdb-versions.cmake gdk/libbat.rc monetdb5/tools/libmonetdb5.rc Branch: Jul2021 Log Message: Pre-release version number update. diffs (189 lines): diff --git a/.bumpversion.cfg b/.bumpversion.cfg --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 11.41.22 +current_version = 11.41.23 commit = False tag = False diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1,5 +1,5 @@ %global name MonetDB -%global version 11.41.22 +%global version 11.41.23 %{!?buildno: %global buildno %(date +%Y%m%d)} # Use bcond_with to add a --with option; i.e., "without" is default. diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc --- a/clients/mapilib/mapi.rc +++ b/clients/mapilib/mapi.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #define sversion(major,minor,patch)#major "." #minor "." #patch "\0" 1 VERSIONINFO - FILEVERSION version(11,41,22) - PRODUCTVERSION version(11,41,22) + FILEVERSION version(11,41,23) + PRODUCTVERSION version(11,41,23) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -21,14 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB Application Interface DLL\0" - VALUE "FileVersion", sversion(11,41,22) + VALUE "FileVersion", sversion(11,41,23) VALUE "InternalName", "Mapi\0" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "Mapi.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB Client Libraries\0" - VALUE "ProductVersion", sversion(11,41,22) + VALUE "ProductVersion", sversion(11,41,23) VALUE "SpecialBuild", "\0" END END diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc --- a/clients/odbc/driver/driver.rc +++ b/clients/odbc/driver/driver.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #define sversion(major,minor,patch)#major "." #minor "." #patch "\0" 1 VERSIONINFO - FILEVERSION version(11,41,22) - PRODUCTVERSION version(11,41,22) + FILEVERSION version(11,41,23) + PRODUCTVERSION version(11,41,23) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -21,14 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB ODBC Driver DLL\0" - VALUE "FileVersion", sversion(11,41,22) + VALUE "FileVersion", sversion(11,41,23) VALUE "InternalName", "MonetODBC\0" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "MonetODBC.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB SQL Server\0" - VALUE "ProductVersion", sversion(11,41,22) + VALUE "ProductVersion", sversion(11,41,23) VALUE "SpecialBuild", "\0" END END diff --git a/clients/odbc/winsetup/setup.rc b/clients/odbc/winsetup/setup.rc --- a/clients/odbc/winsetup/setup.rc +++ b/clients/odbc/winsetup/setup.rc @@ -65,8 +65,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION version(11,41,22) - PRODUCTVERSION version(11,41,22) + FILEVERSION version(11,41,23) + PRODUCTVERSION version(11,41,23) FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -83,12 +83,12 @@ BEGIN BEGIN VALUE "CompanyName", "MonetDB B.V." VALUE "FileDescription", "MonetDB ODBC Setup DLL" -VALUE "FileVersion", sversion(11,41,22) +VALUE "FileVersion", sversion(11,41,23) VALUE "InternalName", "MonetODBCs.dll" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021" VALUE "OriginalFilename", "MonetODBCs.dll" VALUE "ProductName", "MonetDB SQL Server" -VALUE "ProductVersion", sversion(11,41,22) +VALUE "ProductVersion", sversion(11,41,23) END END BLOCK "VarFileInfo" diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake --- a/cmake/monetdb-versions.cmake +++ b/cmake/monetdb-versions.cmake @@ -8,10 +8,10 @@ set(MONETDB_VERSION_MAJOR "11") set(MONETDB_VERSION_MINOR "41") -set(MONETDB_VERSION_PATCH "22") +set(MONETDB_VERSION_PATCH "23") if(RELEASE_VERSION) - set(MONETDB_RELEASE "unreleased") + set(MONETDB_RELEASE "Jul2021-SP6") endif() set(MONETDB_VERSION "${MONETDB_VERSION_MAJOR}.${MONETDB_VERSION_MINOR}.${MONETDB_VERSION_PATCH}") diff --git a/gdk/libbat.rc b/gdk/libbat.rc --- a/gdk/libbat.rc +++ b/gdk/libbat.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG
MonetDB: Jul2021 - Updated library versions.
Changeset: 029b99ea66ca for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/029b99ea66ca Modified Files: cmake/monetdb-versions.cmake Branch: Jul2021 Log Message: Updated library versions. diffs (12 lines): diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake --- a/cmake/monetdb-versions.cmake +++ b/cmake/monetdb-versions.cmake @@ -53,7 +53,7 @@ set(MONETDB_VERSION "${MONETDB_VERSION_M # common/options and common/utils) set(GDK_VERSION_CURRENT "23") set(GDK_VERSION_MINOR "0") -set(GDK_VERSION_PATCH "8") +set(GDK_VERSION_PATCH "9") math(EXPR GDK_VERSION_MAJOR "${GDK_VERSION_CURRENT} - ${GDK_VERSION_MINOR}") set(GDK_VERSION "${GDK_VERSION_MAJOR}.${GDK_VERSION_MINOR}.${GDK_VERSION_PATCH}") ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jan2022 - Merge with Jul2021 branch, not changing any f...
Changeset: 8741e74c5861 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8741e74c5861 Modified Files: .bumpversion.cfg MonetDB.spec clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc cmake/monetdb-versions.cmake gdk/libbat.rc monetdb5/tools/libmonetdb5.rc Branch: Jan2022 Log Message: Merge with Jul2021 branch, not changing any files. ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jul2021 - Moved contents of ChangeLog.Jul2021 to MonetD...
Changeset: 2e54857a9130 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/2e54857a9130 Modified Files: MonetDB.spec debian/changelog misc/packages/deb/changelog misc/packages/rpm/changelog sql/ChangeLog-Archive sql/ChangeLog.Jul2021 Branch: Jul2021 Log Message: Moved contents of ChangeLog.Jul2021 to MonetDB.spec, debian/changelog and ChangeLog-Archive. diffs (117 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -84,7 +84,7 @@ Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ BugURL: https://bugs.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Jul2021-SP5/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Jul2021-SP6/%{name}-%{version}.tar.bz2 # The Fedora packaging document says we need systemd-rpm-macros for # the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7 @@ -846,6 +846,15 @@ else fi %changelog +* Mon Apr 25 2022 Sjoerd Mullender - 11.41.23-20220425 +- Rebuilt. + +* Mon Apr 25 2022 Sjoerd Mullender - 11.41.23-20220425 +- sql: GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables + as far as the table content is concerned. The schema information + stays global. This fixes an issue with concurrent access and cleanup + of stale data. + * Tue Mar 22 2022 Sjoerd Mullender - 11.41.21-20220322 - Rebuilt. diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,18 @@ +monetdb (11.41.23) unstable; urgency=low + + * Rebuilt. + + -- Sjoerd Mullender Mon, 25 Apr 2022 13:18:19 +0200 + +monetdb (11.41.23) unstable; urgency=low + + * sql: GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables +as far as the table content is concerned. The schema information +stays global. This fixes an issue with concurrent access and cleanup +of stale data. + + -- Sjoerd Mullender Mon, 25 Apr 2022 13:18:19 +0200 + monetdb (11.41.21) unstable; urgency=low * Rebuilt. diff --git a/misc/packages/deb/changelog b/misc/packages/deb/changelog --- a/misc/packages/deb/changelog +++ b/misc/packages/deb/changelog @@ -1,3 +1,18 @@ +monetdb (11.41.23) unstable; urgency=low + + * Rebuilt. + + -- Sjoerd Mullender Mon, 25 Apr 2022 13:18:19 +0200 + +monetdb (11.41.23) unstable; urgency=low + + * sql: GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables +as far as the table content is concerned. The schema information +stays global. This fixes an issue with concurrent access and cleanup +of stale data. + + -- Sjoerd Mullender Mon, 25 Apr 2022 13:18:19 +0200 + monetdb (11.41.21) unstable; urgency=low * Rebuilt. diff --git a/misc/packages/rpm/changelog b/misc/packages/rpm/changelog --- a/misc/packages/rpm/changelog +++ b/misc/packages/rpm/changelog @@ -1,3 +1,12 @@ +* Mon Apr 25 2022 Sjoerd Mullender - 11.41.23-20220425 +- Rebuilt. + +* Mon Apr 25 2022 Sjoerd Mullender - 11.41.23-20220425 +- sql: GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables + as far as the table content is concerned. The schema information + stays global. This fixes an issue with concurrent access and cleanup + of stale data. + * Tue Mar 22 2022 Sjoerd Mullender - 11.41.21-20220322 - Rebuilt. diff --git a/sql/ChangeLog-Archive b/sql/ChangeLog-Archive --- a/sql/ChangeLog-Archive +++ b/sql/ChangeLog-Archive @@ -1,6 +1,12 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Mon Apr 25 2022 Sjoerd Mullender - 11.41.23-20220425 +- GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables + as far as the table content is concerned. The schema information + stays global. This fixes an issue with concurrent access and cleanup + of stale data. + * Thu Oct 28 2021 Sjoerd Mullender - 11.41.13-20211213 - Number parsing for SQL was fixed. If a number was immediately followed by letters (i.e. without a space), the number was accepted and the diff --git a/sql/ChangeLog.Jul2021 b/sql/ChangeLog.Jul2021 --- a/sql/ChangeLog.Jul2021 +++ b/sql/ChangeLog.Jul2021 @@ -1,9 +1,3 @@ # ChangeLog file for sql # This file is updated with Maddlog -* Mon Apr 25 2022 Sjoerd Mullender -- GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables - as far as the table content is concerned. The schema information - stays global. This fixes an issue with concurrent access and cleanup - of stale data. - ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jul2021 - Setting tag Jul2021_23 for the release build.
Changeset: 4c0961b1cf9d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/4c0961b1cf9d Modified Files: .hgtags Branch: Jul2021 Log Message: Setting tag Jul2021_23 for the release build. diffs (8 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -828,3 +828,4 @@ 8c015afafb5903ea59b0e2cffac1138a0d82e007 8c015afafb5903ea59b0e2cffac1138a0d82e007 Jul2021_SP4_release cab90a348501b045e19cee5cebcc44f3800bd0a8 Jul2021_21 cab90a348501b045e19cee5cebcc44f3800bd0a8 Jul2021_SP5_release +2e54857a91306cc6304825c5596f65d00595db6b Jul2021_23 ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jan2022 - Merge with Jul2021 branch.
Changeset: ba75dc29380e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/ba75dc29380e Modified Files: .hgtags MonetDB.spec cmake/monetdb-versions.cmake debian/changelog misc/packages/deb/changelog misc/packages/rpm/changelog sql/ChangeLog-Archive Branch: Jan2022 Log Message: Merge with Jul2021 branch. diffs (8 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -763,3 +763,4 @@ cab90a348501b045e19cee5cebcc44f3800bd0a8 5872f047d97c98d3a848514438b8f97fa446855d Jan2022_11 025239a5a6f122042798c0f1132a2c6298514e06 Jan2022_13 025239a5a6f122042798c0f1132a2c6298514e06 Jan2022_SP2_release +2e54857a91306cc6304825c5596f65d00595db6b Jul2021_23 ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jul2021 - Post release build.
Changeset: 912eb2f9422d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/912eb2f9422d Modified Files: .bumpversion.cfg MonetDB.spec clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc cmake/monetdb-versions.cmake gdk/libbat.rc monetdb5/tools/libmonetdb5.rc Branch: Jul2021 Log Message: Post release build. diffs (189 lines): diff --git a/.bumpversion.cfg b/.bumpversion.cfg --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 11.41.23 +current_version = 11.41.24 commit = False tag = False diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1,5 +1,5 @@ %global name MonetDB -%global version 11.41.23 +%global version 11.41.24 %{!?buildno: %global buildno %(date +%Y%m%d)} # Use bcond_with to add a --with option; i.e., "without" is default. diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc --- a/clients/mapilib/mapi.rc +++ b/clients/mapilib/mapi.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #define sversion(major,minor,patch)#major "." #minor "." #patch "\0" 1 VERSIONINFO - FILEVERSION version(11,41,23) - PRODUCTVERSION version(11,41,23) + FILEVERSION version(11,41,24) + PRODUCTVERSION version(11,41,24) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -21,14 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB Application Interface DLL\0" - VALUE "FileVersion", sversion(11,41,23) + VALUE "FileVersion", sversion(11,41,24) VALUE "InternalName", "Mapi\0" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "Mapi.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB Client Libraries\0" - VALUE "ProductVersion", sversion(11,41,23) + VALUE "ProductVersion", sversion(11,41,24) VALUE "SpecialBuild", "\0" END END diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc --- a/clients/odbc/driver/driver.rc +++ b/clients/odbc/driver/driver.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #define sversion(major,minor,patch)#major "." #minor "." #patch "\0" 1 VERSIONINFO - FILEVERSION version(11,41,23) - PRODUCTVERSION version(11,41,23) + FILEVERSION version(11,41,24) + PRODUCTVERSION version(11,41,24) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -21,14 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB ODBC Driver DLL\0" - VALUE "FileVersion", sversion(11,41,23) + VALUE "FileVersion", sversion(11,41,24) VALUE "InternalName", "MonetODBC\0" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "MonetODBC.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB SQL Server\0" - VALUE "ProductVersion", sversion(11,41,23) + VALUE "ProductVersion", sversion(11,41,24) VALUE "SpecialBuild", "\0" END END diff --git a/clients/odbc/winsetup/setup.rc b/clients/odbc/winsetup/setup.rc --- a/clients/odbc/winsetup/setup.rc +++ b/clients/odbc/winsetup/setup.rc @@ -65,8 +65,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION version(11,41,23) - PRODUCTVERSION version(11,41,23) + FILEVERSION version(11,41,24) + PRODUCTVERSION version(11,41,24) FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -83,12 +83,12 @@ BEGIN BEGIN VALUE "CompanyName", "MonetDB B.V." VALUE "FileDescription", "MonetDB ODBC Setup DLL" -VALUE "FileVersion", sversion(11,41,23) +VALUE "FileVersion", sversion(11,41,24) VALUE "InternalName", "MonetODBCs.dll" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021" VALUE "OriginalFilename", "MonetODBCs.dll" VALUE "ProductName", "MonetDB SQL Server" -VALUE "ProductVersion", sversion(11,41,23) +VALUE "ProductVersion", sversion(11,41,24) END END BLOCK "VarFileInfo" diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake --- a/cmake/monetdb-versions.cmake +++ b/cmake/monetdb-versions.cmake @@ -8,10 +8,10 @@ set(MONETDB_VERSION_MAJOR "11") set(MONETDB_VERSION_MINOR "41") -set(MONETDB_VERSION_PATCH "23") +set(MONETDB_VERSION_PATCH "24") if(RELEASE_VERSION) - set(MONETDB_RELEASE "Jul2021-SP6") + set(MONETDB_RELEASE "unreleased") endif() set(MONETDB_VERSION "${MONETDB_VERSION_MAJOR}.${MONETDB_VERSION_MINOR}.${MONETDB_VERSION_PATCH}") diff --git a/gdk/libbat.rc b/gdk/libbat.rc --- a/gdk/libbat.rc +++ b/gdk/libbat.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #de
MonetDB: Jan2022 - Merge with Jul2021 branch, not changing any f...
Changeset: 5666dcbd97ec for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/5666dcbd97ec Modified Files: .bumpversion.cfg MonetDB.spec clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc cmake/monetdb-versions.cmake gdk/libbat.rc monetdb5/tools/libmonetdb5.rc Branch: Jan2022 Log Message: Merge with Jul2021 branch, not changing any files.. ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Oct2020 - Merge with Jun2020 branch.
Changeset: 42963de663cb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/42963de663cb Modified Files: gdk/gdk_logger.c Branch: Oct2020 Log Message: Merge with Jun2020 branch. diffs (25 lines): diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -1179,6 +1179,12 @@ logger_readlog(logger *lg, char *filenam char tpe; oid id; + if (l.flag == 0) { + /* end of useful content */ + assert(l.tid == 0); + assert(l.nr == 0); + break; + } t1 = time(NULL); if (t1 - t0 > 10) { lng fpos; @@ -1317,8 +1323,6 @@ logger_readlog(logger *lg, char *filenam else err = log_read_clear(lg, tr, name, tpe, id); break; - case 0: - break; default: err = LOG_ERR; } ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Jul2021 - Merge with Oct2020 branch.
Changeset: edcddf84ccf4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/edcddf84ccf4 Modified Files: gdk/gdk_logger.c gdk/gdk_logger_old.c Branch: Jul2021 Log Message: Merge with Oct2020 branch. diffs (25 lines): diff --git a/gdk/gdk_logger_old.c b/gdk/gdk_logger_old.c --- a/gdk/gdk_logger_old.c +++ b/gdk/gdk_logger_old.c @@ -1077,6 +1077,12 @@ logger_readlog(old_logger *lg, char *fil char tpe; oid id; + if (l.flag == 0) { + /* end of useful content */ + assert(l.tid == 0); + assert(l.nr == 0); + break; + } t1 = time(NULL); if (t1 - t0 > 10) { lng fpos; @@ -1215,8 +1221,6 @@ logger_readlog(old_logger *lg, char *fil else err = log_read_clear(lg, tr, name, tpe, id); break; - case 0: - break; default: err = LOG_ERR; } ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: userprofile - merge with default
Changeset: deac65e612dc for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/deac65e612dc Modified Files: sql/backends/monet5/sql.c sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_user.c sql/common/sql_backend.c sql/common/sql_backend.h sql/server/rel_schema.c sql/server/sql_parser.y sql/server/sql_privileges.c sql/server/sql_privileges.h sql/storage/bat/bat_table.c Branch: userprofile Log Message: merge with default diffs (truncated from 1235697 to 300 lines): diff --git a/.bumpversion.cfg b/.bumpversion.cfg --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 11.42.0 +current_version = 11.44.0 commit = False tag = False diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -406,40 +406,27 @@ ccf383750d69e9fe0ea9d9a047e8980d9c6d4d1e e821c6a9dd33b30ccbb51376b6db7355cf12684e Jun2006_root d3db8bef1dd54bcfb335599338a374b4ca8975fa Jun2010_root 659965ec908548fa64649bce37f84e245428ce7b Jun2010_1 -659965ec908548fa64649bce37f84e245428ce7b Jun2010_1 d83c56c4bba705257e09846d7f7e23bf5bd96627 Jun2010_1 -d83c56c4bba705257e09846d7f7e23bf5bd96627 Jun2010_1 -c0927c19d26910bb3fb5a5acba438a0ca5bba182 Jun2010_1 c0927c19d26910bb3fb5a5acba438a0ca5bba182 Jun2010_1 e042ecc2e895b1bb5f06da65d0db6a8756cdb6d3 Jun2010_1 2077db505b7c36be4009ea92f0ce0c25600a4e22 Jun2010_3 -2077db505b7c36be4009ea92f0ce0c25600a4e22 Jun2010_3 -700a31b47b8a8fd449607d16f14c5c96d3c503cb Jun2010_3 700a31b47b8a8fd449607d16f14c5c96d3c503cb Jun2010_3 e4fe1c3cabfee2bba0b620aee6c3e9d569d37e17 Jun2010_3 -e4fe1c3cabfee2bba0b620aee6c3e9d569d37e17 Jun2010_3 -9aa479df22dda265b8c685f9e15b0899244b0184 Jun2010_3 9aa479df22dda265b8c685f9e15b0899244b0184 Jun2010_3 a6dd584e5bee4d0ec428e6aade193c263c55cdb3 Jun2010_3 19ede2d368c6cba18d6b67cd8bde9d51af2ac9f8 Jun2010_5 -19ede2d368c6cba18d6b67cd8bde9d51af2ac9f8 Jun2010_5 931928c216bc600a35580fa19f73daac66bd3571 Jun2010_5 f0df8bc4610227ef4d0b54b21f978c0c3cb3f31f Oct2010_root ae12a56d3420aae3cf9928d4a7ddae30d3bf70be Oct2010_1 -ae12a56d3420aae3cf9928d4a7ddae30d3bf70be Oct2010_1 5740074a9a9b6cc9919304f76a3a6924dde4768e Oct2010_1 -5740074a9a9b6cc9919304f76a3a6924dde4768e Oct2010_1 -49a13817f9ce7c7d75476f9cb37ab29b9a30a9c8 Oct2010_1 49a13817f9ce7c7d75476f9cb37ab29b9a30a9c8 Oct2010_1 491925a23d21d3599a5680618f4f00f8b8710c78 Oct2010_1 be8749b7640878f829575ef9daa995810d6fe25d Oct2010_3 3dc7b6687e454fc31ce9d3887aa01e457de4e9f2 Mar2011_root e4e992bb9279acc293403527538d9909f46f2325 Mar2011_1 8a1a1b65992cd98423eee70cef0986beb3b7360d Apr2011_root -e4e992bb9279acc293403527538d9909f46f2325 Mar2011_1 be8ff3e8c6150ec40f4e0d1ba9789bec23621f88 Mar2011_1 568733c4fc9fc0275d4b264fa188df6c70ede9cf Apr2011_1 -568733c4fc9fc0275d4b264fa188df6c70ede9cf Apr2011_1 ff43c1f6f50cf795cf12b9336f74fd86686a5fd6 Apr2011_1 1833949cae477d8f1efde8caea6608c04f67ad6d Apr2011_3 c8a6189f95ae3d7cfb8d14f3b002c1077a4c437c Apr2011_SP1_release @@ -447,7 +434,6 @@ b540445f1e7aa333708963a7afb46acd1914fdb3 dbf80a87be87b463e6603221e0ed6e31d85d94c3 Apr2011_5 bb8536db427b60b0226bbdec8dbfddfa7a26f37f Apr2011_SP2_release 0fd8df3e7fc2f320fe7638af8e4883bf433ef61b Apr2011_7 -bb8536db427b60b0226bbdec8dbfddfa7a26f37f Apr2011_SP2_release a155d5445790c798ddf7a3e1b54094c13e1b3eaa Apr2011_SP2_release 63ab846843295f7bd7be2f4d6c523c65d66e7edb Aug2011_1 17d6b84121f74b9d5c53c941086638d7ad89f425 Aug2011_release @@ -457,17 +443,14 @@ 7cd3f2a92ef77ccabd7ab3259887d0ae301be654 2355808f3ea00ae69994e2fc7541661fc612b18b Aug2011_5 477cc2a87348df99b4eab237501d1113e5cb21d8 Aug2011_SP2_release 5ab2786b8f740c3e9fd1578605cec2bcd7725bc2 Aug2011_7 -477cc2a87348df99b4eab237501d1113e5cb21d8 Aug2011_SP2_release f022d32377c51b00599ecb014a72ea7ea2d6b8ba Aug2011_SP2_release 0e42a9ccf4c65e301f76c721ea84e976de6ede84 Aug2011_9 95911663ea9e3823837168d3f64328360aaf061a Aug2011_SP3_release 600e707d12ac73973bfd4538c11bd340cf6094ae Dec2011_1 d9968eb987609db9990da16db1de57737107502f Dec2011_release 14ff565c407c49df8512d7a4b29b583b76a505c6 Dec2011_3 -d9968eb987609db9990da16db1de57737107502f Dec2011_release 6dbadba38a4635b6319f2ba966f5dde6efab037d Dec2011_release 2373eb4ee98b690aa72b86bebf4b2b47c87aa77c Dec2011_5 -6dbadba38a4635b6319f2ba966f5dde6efab037d Dec2011_release 32665cf67d03011ff1fcc2c8e118370c47e5fae6 Dec2011_release d159bb1ba293002773b896353854b14aeb4e5cd1 Dec2011_7 f47248f30989933b245a4d6f2e31a9e443f1078b Dec2011_SP1_release @@ -479,7 +462,6 @@ 62f7cc254c8e83e5021d8230ed5b8e62c3793dd8 961301b12e2c230afc5471fefcc3d7af9ab3e98f Apr2012_3 cbc7f297899d61201e4d5a8cb06ae3aacf070111 Apr2012_SP1_release 4a6a6523c78992de5d3a1e7a72454250f4964881 Apr2012_5 -cbc7f297899d61201e4d5a8cb06ae3aacf070111 Apr2012_SP1_release ebb4a17093e63a199a1d5d27855aa8a31c7e7785 Apr2012_SP1_release 06c3e1846c2fc399d72edcac1ed0d877934fab67 Jun2012_root 94ffb491c3f2a9dc47c1371760b928bb7d35c050 Apr2012_7 @@ -487,10 +469,8 @@ 95df797091e0a19c18771378f80eb865274
MonetDB: properties - Propagate more statistics for global aggre...
Changeset: e18c0cb3ea1e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/e18c0cb3ea1e Modified Files: sql/server/rel_rewriter.c sql/server/rel_statistics.c sql/server/rel_statistics_functions.c sql/test/BugTracker-2015/Tests/quantile_function_resolution.Bug-3773.test sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.test sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.test sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.test sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-0join-view.test sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-3join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-3join-query.stable.out.32bit sql/test/SQLancer/Tests/sqlancer09.test sql/test/SQLancer/Tests/sqlancer17.test sql/test/Tests/keys.test sql/test/miscellaneous/Tests/simple_plans.test sql/test/miscellaneous/Tests/simple_selects.test sql/test/miscellaneous/Tests/unique_keys.test Branch: properties Log Message: Propagate more statistics for global aggregates. Forgot to propagate NOT NULL flag on lists of values diffs (truncated from 546 to 300 lines): diff --git a/sql/server/rel_rewriter.c b/sql/server/rel_rewriter.c --- a/sql/server/rel_rewriter.c +++ b/sql/server/rel_rewriter.c @@ -225,6 +225,7 @@ rewrite_simplify(visitor *v, uint8_t cyc /* make sure the single expression is false, so the generate NULL values won't match */ rel->exps->h->data = exp_atom_bool(v->sql->sa, 0); rel->l = rel_project(v->sql->sa, NULL, nexps); + set_count_prop(v->sql->sa, rel->l, 1); set_count_prop(v->sql->sa, rel, 0); rel->card = CARD_ATOM; v->changes++; diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -178,7 +178,7 @@ rel_propagate_column_ref_statistics(mvc if (!has_nil(found)) set_has_no_nil(e); if (is_unique(found) || (need_distinct(rel) && list_length(rel->exps) == 1) || - (is_groupby(rel->op) && list_length(rel->r) == 1 && exps_find_exp(rel->r, e))) + (is_groupby(rel->op) && (list_empty(rel->r) || (list_length(rel->r) == 1 && exps_find_exp(rel->r, e) set_unique(e); /* propagate unique estimation for known cases */ if (is_groupby(rel->op) && list_empty(rel->r) && !find_prop(e->p, PROP_NUNIQUES)) { /* global aggregate case */ @@ -373,6 +373,7 @@ rel_propagate_statistics(visitor *v, sql } break; case e_aggr: case e_func: { + BUN lv; sql_subfunc *f = e->f; if (!f->func->s) { @@ -389,8 +390,18 @@ rel_propagate_statistics(visitor *v, sql if (look) look(sql, e); } - if (!is_semantics(e) && e->l && !have_nil(e->l) && (e->type != e_aggr || (is_groupby(rel->op) && list_length(rel->r + /* for global aggregates with no semantics, if the left relation has values, then the output won't be NULL */ + if (!is_semantics(e) && e->l && !have_nil(e->l) && + (e->type != e_aggr || (is_groupby(rel->op) && list_length(rel->r)) || ((lv = get_rel_count(rel->l)) != BUN_NONE && lv > 0))) set_has_no_nil(e); + /* set properties for global aggregates */ + if (e->type == e_aggr && is_groupby(rel->op) && list_empty(rel->r)) { + if (!find_prop(e->p, PROP_NUNIQUES)) { + prop *p = e->p = prop_create(sql->sa, PROP_NUNIQUES, e->p); + p->value.dval = 1; + } + set_unique(e); + } } break; case e_atom: { if (e->l) { @@ -405,10 +416,12 @@ rel_propagate_statistics(visitor *v, sql list *vals = (list *) e->f; sql_exp *first = vals->h ? vals->h->data : NULL; atom *max = NULL, *min = NULL; /* all child values must have a valid min/max */ + int has_nil = 0; if (first) { max = ((lval = find_prop_and_get(first->p, PROP_MAX))) ? lval : NULL; min = ((lval = find_prop_and_get(firs
MonetDB: default - Merged with Jan2022
Changeset: 3e981b046658 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/3e981b046658 Modified Files: .bumpversion.cfg MonetDB.spec clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc cmake/monetdb-versions.cmake gdk/libbat.rc monetdb5/tools/libmonetdb5.rc Branch: default Log Message: Merged with Jan2022 diffs (37 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -763,3 +763,4 @@ cab90a348501b045e19cee5cebcc44f3800bd0a8 5872f047d97c98d3a848514438b8f97fa446855d Jan2022_11 025239a5a6f122042798c0f1132a2c6298514e06 Jan2022_13 025239a5a6f122042798c0f1132a2c6298514e06 Jan2022_SP2_release +2e54857a91306cc6304825c5596f65d00595db6b Jul2021_23 diff --git a/buildtools/conf/Maddlog b/buildtools/conf/Maddlog --- a/buildtools/conf/Maddlog +++ b/buildtools/conf/Maddlog @@ -189,6 +189,9 @@ fi file=ChangeLog.$RANDOM +# make sure we get the correct day and month names +export LC_ALL=en_US.utf-8 + case "$CL" in */*) cd "${CL%/*}" diff --git a/sql/ChangeLog.Jan2022 b/sql/ChangeLog.Jan2022 --- a/sql/ChangeLog.Jan2022 +++ b/sql/ChangeLog.Jan2022 @@ -1,6 +1,12 @@ # ChangeLog file for sql # This file is updated with Maddlog +* Mon Apr 25 2022 Sjoerd Mullender +- GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables + as far as the table content is concerned. The schema information + stays global. This fixes an issue with concurrent access and cleanup + of stale data. + * Thu Apr 14 2022 Sjoerd Mullender - The NO CONSTRAINT option of the COPY INTO query has been removed. It didn't work and it was never a good idea anyway. ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: properties - Merged with default
Changeset: 903e58fcc7aa for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/903e58fcc7aa Modified Files: sql/server/rel_optimizer.c Branch: properties Log Message: Merged with default diffs (85 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -763,3 +763,4 @@ cab90a348501b045e19cee5cebcc44f3800bd0a8 5872f047d97c98d3a848514438b8f97fa446855d Jan2022_11 025239a5a6f122042798c0f1132a2c6298514e06 Jan2022_13 025239a5a6f122042798c0f1132a2c6298514e06 Jan2022_SP2_release +2e54857a91306cc6304825c5596f65d00595db6b Jul2021_23 diff --git a/buildtools/conf/Maddlog b/buildtools/conf/Maddlog --- a/buildtools/conf/Maddlog +++ b/buildtools/conf/Maddlog @@ -189,6 +189,9 @@ fi file=ChangeLog.$RANDOM +# make sure we get the correct day and month names +export LC_ALL=en_US.utf-8 + case "$CL" in */*) cd "${CL%/*}" diff --git a/sql/ChangeLog b/sql/ChangeLog --- a/sql/ChangeLog +++ b/sql/ChangeLog @@ -1,7 +1,7 @@ # ChangeLog file for sql # This file is updated with Maddlog -* do apr 21 2022 Nuno Faria +* Thu Apr 21 2022 Nuno Faria - Added the UNLOGGED TABLE feature. * Fri Feb 4 2022 Sjoerd Mullender diff --git a/sql/ChangeLog.Jan2022 b/sql/ChangeLog.Jan2022 --- a/sql/ChangeLog.Jan2022 +++ b/sql/ChangeLog.Jan2022 @@ -1,6 +1,12 @@ # ChangeLog file for sql # This file is updated with Maddlog +* Mon Apr 25 2022 Sjoerd Mullender +- GLOBAL TEMPORARY tables are now treated like LOCAL TEMPORARY tables + as far as the table content is concerned. The schema information + stays global. This fixes an issue with concurrent access and cleanup + of stale data. + * Thu Apr 14 2022 Sjoerd Mullender - The NO CONSTRAINT option of the COPY INTO query has been removed. It didn't work and it was never a good idea anyway. diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -89,7 +89,7 @@ merge_table_prune_and_unionize(visitor * return sql_error(v->sql, 02, SQLSTATE(42000) "The %s '%s.%s' should have at least one table associated", TABLE_TYPE_DESCRIPTION(pt->type, pt->properties), pt->s->base.name, pt->base.name); /* Do not include empty partitions */ - if (isTable(pt) && pt->access == TABLE_READONLY && !store->storage_api.count_col(v->sql->session->tr, ol_first_node(pt->columns)->data, 0)) + if (isTable(pt) && pt->access == TABLE_READONLY && !store->storage_api.count_col(v->sql->session->tr, ol_first_node(pt->columns)->data, 10)) /* count active rows only */ continue; if (!table_privs(v->sql, pt, PRIV_SELECT)) /* Test for privileges */ diff --git a/sql/test/BugTracker-2021/Tests/All b/sql/test/BugTracker-2021/Tests/All --- a/sql/test/BugTracker-2021/Tests/All +++ b/sql/test/BugTracker-2021/Tests/All @@ -7,7 +7,7 @@ union-groupby.Bug-7108 merge-stmt.wrong-error.Bug-7109 remote-table-groupby.Bug-7110 conditional-execution-round.Bug-7125 -lowercase-cryllic.Bug-7126 +NOT_WIN32?lowercase-cryllic.Bug-7126 unnest-union.Bug-7127 subquery-missing.Bug-7128 batcalc-between-undefined.Bug-7129 diff --git a/sql/test/mapi/Tests/All b/sql/test/mapi/Tests/All --- a/sql/test/mapi/Tests/All +++ b/sql/test/mapi/Tests/All @@ -4,7 +4,7 @@ sample4 smack00 smack01 python3_dbapi -NOT_WIN32?utf8test +utf8test HAVE_HGE?mal_int128 HAVE_HGE?sql_int128 HAVE_HGE?python3_int128 ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: properties - Tunning grouping estimates
Changeset: ae4780eb3d9d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/ae4780eb3d9d Modified Files: sql/server/rel_statistics.c Branch: properties Log Message: Tunning grouping estimates diffs (82 lines): diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -616,8 +616,12 @@ trivial_project_exp_card(sql_exp *e) } static BUN -rel_calc_nuniques(sql_rel *rel, sql_rel *l, list *exps) +rel_calc_nuniques(sql_rel *l, list *exps) { + BUN lv = get_rel_count(l); + + if (lv == 0) + return 0; if (!list_empty(exps)) { BUN nuniques = 0; /* compute the highest number of unique values */ @@ -626,18 +630,18 @@ rel_calc_nuniques(sql_rel *rel, sql_rel sql_rel *bt = NULL; prop *p = NULL; - if (e->type == e_column && is_unique(e) && - name_find_column(rel, e->l, e->r, -1, &bt) && bt && (p = find_prop(bt->p, PROP_COUNT))) { + if ((p = find_prop(e->p, PROP_NUNIQUES))) { + nuniques = MAX(nuniques, (BUN) p->value.dval); + } else if (rel_find_exp_and_corresponding_rel(l, e, false, &bt, NULL) && bt && (p = find_prop(bt->p, PROP_COUNT))) { nuniques = MAX(nuniques, p->value.lval); - } else if ((p = find_prop(e->p, PROP_NUNIQUES))) { - nuniques = MAX(nuniques, (BUN) p->value.dval); } else { nuniques = BUN_NONE; } } - return nuniques != BUN_NONE ? nuniques : get_rel_count(l); + if (nuniques != BUN_NONE) + return nuniques; } - return get_rel_count(l); + return lv; } static sql_rel * @@ -695,8 +699,8 @@ rel_get_statistics_(visitor *v, sql_rel /* propagate row count */ if (is_union(rel->op)) { - BUN lv = need_distinct(rel) ? rel_calc_nuniques(rel, pl, pl->exps) : get_rel_count(pl), - rv = need_distinct(rel) ? rel_calc_nuniques(rel, pr, pr->exps) : get_rel_count(pr); + BUN lv = need_distinct(rel) ? rel_calc_nuniques(pl, pl->exps) : get_rel_count(pl), + rv = need_distinct(rel) ? rel_calc_nuniques(pr, pr->exps) : get_rel_count(pr); if (lv == 0 && rv == 0) { /* both sides empty */ if (can_be_pruned) @@ -711,8 +715,8 @@ rel_get_statistics_(visitor *v, sql_rel set_count_prop(v->sql->sa, rel, (rv > (BUN_MAX - lv)) ? BUN_MAX : (lv + rv)); /* overflow check */ } } else if (is_inter(rel->op) || is_except(rel->op)) { - BUN lv = need_distinct(rel) ? rel_calc_nuniques(rel, pl, pl->exps) : get_rel_count(pl), - rv = need_distinct(rel) ? rel_calc_nuniques(rel, pr, pr->exps) : get_rel_count(pr); + BUN lv = need_distinct(rel) ? rel_calc_nuniques(pl, pl->exps) : get_rel_count(pl), + rv = need_distinct(rel) ? rel_calc_nuniques(pr, pr->exps) : get_rel_count(pr); if (lv == 0) { /* left side empty */ if (can_be_pruned) @@ -841,7 +845,7 @@ rel_get_statistics_(visitor *v, sql_rel case op_project: { if (l) { if (need_distinct(rel)) { - set_count_prop(v->sql->sa, rel, rel_calc_nuniques(rel, l, rel->exps)); + set_count_prop(v->sql->sa, rel, rel_calc_nuniques(l, rel->exps)); } else { set_count_prop(v->sql->sa, rel, get_rel_count(l)); } @@ -861,7 +865,7 @@ rel_get_statistics_(visitor *v, sql_rel if (list_empty(rel->r)) { set_count_prop(v->sql->sa, rel, 1); } else { - set_count_prop(v->sql->sa, rel, rel_calc_nuniques(rel, l, rel->r)); + set_count_prop(v->sql->sa, rel, rel_calc_nuniques(l, rel->r)); } } break; default: ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: properties - If the right side of an intersection is em...
Changeset: fcf36ca9522e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/fcf36ca9522e Modified Files: sql/server/rel_statistics.c Branch: properties Log Message: If the right side of an intersection is empty, the result is empty. Also attempt to propagate counts at joins if one of the sides is unknown diffs (86 lines): diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -709,8 +709,10 @@ rel_get_statistics_(visitor *v, sql_rel set_count_prop(v->sql->sa, rel, 0); } else if (can_be_pruned && lv == 0 && !rel_is_ref(rel)) { /* left side empty */ rel = set_setop_side(v, rel, r); + empty_cross = false; /* don't rewrite again */ } else if (can_be_pruned && rv == 0 && !rel_is_ref(rel)) { /* right side empty */ rel = set_setop_side(v, rel, l); + empty_cross = false; /* don't rewrite again */ } else if (lv != BUN_NONE && rv != BUN_NONE) { set_count_prop(v->sql->sa, rel, (rv > (BUN_MAX - lv)) ? BUN_MAX : (lv + rv)); /* overflow check */ } @@ -723,8 +725,18 @@ rel_get_statistics_(visitor *v, sql_rel empty_cross = true; else set_count_prop(v->sql->sa, rel, 0); - } else if (can_be_pruned && !empty_cross && rv == 0 && !rel_is_ref(rel)) { /* right side empty */ - rel = set_setop_side(v, rel, l); + } else if (rv == 0) { /* right side empty */ + if (is_inter(rel->op)) { + if (can_be_pruned) + empty_cross = true; + else + set_count_prop(v->sql->sa, rel, 0); + } else if (can_be_pruned && !rel_is_ref(rel)) { + rel = set_setop_side(v, rel, l); + empty_cross = false; /* don't rewrite again */ + } else { + set_count_prop(v->sql->sa, rel, lv); + } } else { set_count_prop(v->sql->sa, rel, lv); } @@ -741,7 +753,7 @@ rel_get_statistics_(visitor *v, sql_rel } list_hash_clear(rel->exps); sql_rel *l = rel_project(v->sql->sa, NULL, rel->exps); - set_count_prop(v->sql->sa, l, 0); + set_count_prop(v->sql->sa, l, 1); l = rel_select(v->sql->sa, l, exp_atom_bool(v->sql->sa, 0)); set_count_prop(v->sql->sa, l, 0); rel->op = op_project; @@ -809,25 +821,23 @@ rel_get_statistics_(visitor *v, sql_rel set_count_prop(v->sql->sa, rel, join_idx_estimate); } else if (uniques_estimate != BUN_MAX) { set_count_prop(v->sql->sa, rel, uniques_estimate); + } else if (list_length(rel->exps) == 1 && (exp_is_false(rel->exps->h->data) || exp_is_null(rel->exps->h->data))) { + /* corner cases for outer joins */ + if (is_left(rel->op)) { + set_count_prop(v->sql->sa, rel, lv); + } else if (is_right(rel->op)) { + set_count_prop(v->sql->sa, rel, rv); + } else if (is_full(rel->op) && lv != BUN_NONE && rv != BUN_NONE) { + set_count_prop(v->sql->sa, rel, (rv > (BUN_MAX - lv)) ? BUN_MAX : (lv + rv)); /* overflow check */ + } else if (lv != BUN_NONE && rv != BUN_NONE) { + set_count_prop(v->sql->sa, rel, 0); + } + } else if (lv == 0) { + set_count_prop(v->sql->sa, rel, (is_right(rel->op) || is_full(rel->op)) ? rv : 0); + } else if (rv == 0) { + set_count_prop(v->sql->sa, rel, (is_left(rel->op) || is_full(rel->op)) ? lv : 0); } else if (lv != BUN_NONE && rv != BUN_NONE) { - if (list_length(rel->exps) == 1 && (exp_is_false(rel->exps->h->data) || exp_is_null(rel->exps->h->data))) { - /* corner cases
MonetDB: properties - My mistake, use right relations
Changeset: 8bc75e695e56 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8bc75e695e56 Modified Files: sql/server/rel_statistics.c Branch: properties Log Message: My mistake, use right relations diffs (25 lines): diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -699,8 +699,8 @@ rel_get_statistics_(visitor *v, sql_rel /* propagate row count */ if (is_union(rel->op)) { - BUN lv = need_distinct(rel) ? rel_calc_nuniques(pl, pl->exps) : get_rel_count(pl), - rv = need_distinct(rel) ? rel_calc_nuniques(pr, pr->exps) : get_rel_count(pr); + BUN lv = need_distinct(rel) ? rel_calc_nuniques(l, l->exps) : get_rel_count(l), + rv = need_distinct(rel) ? rel_calc_nuniques(r, r->exps) : get_rel_count(r); if (lv == 0 && rv == 0) { /* both sides empty */ if (can_be_pruned) @@ -717,8 +717,8 @@ rel_get_statistics_(visitor *v, sql_rel set_count_prop(v->sql->sa, rel, (rv > (BUN_MAX - lv)) ? BUN_MAX : (lv + rv)); /* overflow check */ } } else if (is_inter(rel->op) || is_except(rel->op)) { - BUN lv = need_distinct(rel) ? rel_calc_nuniques(pl, pl->exps) : get_rel_count(pl), - rv = need_distinct(rel) ? rel_calc_nuniques(pr, pr->exps) : get_rel_count(pr); + BUN lv = need_distinct(rel) ? rel_calc_nuniques(l, l->exps) : get_rel_count(l), + rv = need_distinct(rel) ? rel_calc_nuniques(r, r->exps) : get_rel_count(r); if (lv == 0) { /* left side empty */ if (can_be_pruned) ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: properties - Check column expressions only
Changeset: 8d21b53d98b9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8d21b53d98b9 Modified Files: sql/server/rel_statistics.c Branch: properties Log Message: Check column expressions only diffs (12 lines): diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c --- a/sql/server/rel_statistics.c +++ b/sql/server/rel_statistics.c @@ -632,7 +632,7 @@ rel_calc_nuniques(sql_rel *l, list *exps if ((p = find_prop(e->p, PROP_NUNIQUES))) { nuniques = MAX(nuniques, (BUN) p->value.dval); - } else if (rel_find_exp_and_corresponding_rel(l, e, false, &bt, NULL) && bt && (p = find_prop(bt->p, PROP_COUNT))) { + } else if (e->type == e_column && rel_find_exp_and_corresponding_rel(l, e, false, &bt, NULL) && bt && (p = find_prop(bt->p, PROP_COUNT))) { nuniques = MAX(nuniques, p->value.lval); } else { nuniques = BUN_NONE; ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org