MonetDB: Jun2020 - Forgot to commit test
Changeset: 64623c7bb530 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=64623c7bb530 Added Files: sql/test/Users/Tests/createUserRollback.SQL.py Branch: Jun2020 Log Message: Forgot to commit test diffs (30 lines): diff --git a/sql/test/Users/Tests/createUserRollback.SQL.py b/sql/test/Users/Tests/createUserRollback.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/Users/Tests/createUserRollback.SQL.py @@ -0,0 +1,25 @@ +import sys +try: +from MonetDBtesting import process +except ImportError: +import process + +with process.client('sql', stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) as c: +out, err = c.communicate(''' +START TRANSACTION; + +CREATE USER "1" WITH PASSWORD '1' NAME '1' SCHEMA "sys"; +CREATE SCHEMA "ups" AUTHORIZATION "1"; +ALTER USER "1" SET SCHEMA "ups"; + +select * from sys.db_users; --error, doesn't exist + +COMMIT; --it will rollback +''') +sys.stdout.write(out) +sys.stderr.write(err) + +with process.client('sql',user='1',passwd='1', stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) as c: # error should not be possible to login +out, err = c.communicate('SELECT 1;') +sys.stdout.write(out) +sys.stderr.write(err) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Creating a new user and schema authorization,...
Changeset: f6e96977dd11 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f6e96977dd11 Modified Files: sql/test/Users/Tests/All Branch: Jun2020 Log Message: Creating a new user and schema authorization, then rollbacking creates a crash when the user which was never created attempts to login :( diffs (8 lines): diff --git a/sql/test/Users/Tests/All b/sql/test/Users/Tests/All --- a/sql/test/Users/Tests/All +++ b/sql/test/Users/Tests/All @@ -28,3 +28,4 @@ copyinto schemaRights metadataConsistency sessioncontrol +createUserRollback ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2020 branch.
Changeset: c6efc22e6551 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c6efc22e6551 Modified Files: sql/backends/monet5/sql_upgrades.c sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/check.SQL.py sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: default Log Message: Merge with Jun2020 branch. diffs (truncated from 737 to 300 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2093,6 +2093,18 @@ sql_update_jun2020(Client c, mvc *sql, c * see also function load_func() in store.c */ pos += snprintf(buf + pos, bufsize - pos, "update sys.functions set language = language - 2 where language in (8, 9);\n"); + sql_subtype tp; + sql_find_subtype(&tp, "varchar", 0, 0); + sql_subfunc *f = sql_bind_func(sql->sa, sys, "listagg", &tp, &tp, F_AGGR); + pos += snprintf(buf + pos, bufsize - pos, + "insert into sys.args values" + " (%d, %d, 'arg_2', 'varchar', 0, 0, %d, 2);\n", + store_next_oid(), f->func->base.id, ARG_IN); + + pos += snprintf(buf + pos, bufsize - pos, + "update sys.args set name = name || '_' || cast(number as string) where name in ('arg', 'res') and func_id in (select id from sys.functions f where f.system);\n"); + pos += snprintf(buf + pos, bufsize - pos, + "insert into sys.dependencies values ((select id from sys.functions where name = 'ms_round' and schema_id = (select id from sys.schemas where name = 'sys')), (select id from sys.functions where name = 'ms_trunc' and schema_id = (select id from sys.schemas where name = 'sys')), (select dependency_type_id from sys.dependency_types where dependency_type_name = 'FUNCTION'));\n"); /* 12_url */ pos += snprintf(buf + pos, bufsize - pos, diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 --- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 +++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 @@ -5905,6 +5905,9 @@ set schema "sys"; Running database upgrade commands: set schema "sys"; update sys.functions set language = language - 2 where language in (8, 9); +insert into sys.args values (34148, 147, 'arg_2', 'varchar', 0, 0, 1, 2); +update sys.args set name = name || '_' || cast(number as string) where name in ('arg', 'res') and func_id in (select id from sys.functions f where f.system); +insert into sys.dependencies values ((select id from sys.functions where name = 'ms_round' and schema_id = (select id from sys.schemas where name = 'sys')), (select id from sys.functions where name = 'ms_trunc' and schema_id = (select id from sys.schemas where name = 'sys')), (select dependency_type_id from sys.dependency_types where dependency_type_name = 'FUNCTION')); drop function isaURL(url); CREATE function isaURL(theUrl string) RETURNS BOOL EXTERNAL NAME url."isaURL"; diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 --- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 +++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 @@ -5905,6 +5905,9 @@ set schema "sys"; Running database upgrade commands: s
MonetDB: Jun2020 - Upgrade code.
Changeset: a1602913bbe0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a1602913bbe0 Modified Files: sql/backends/monet5/sql_upgrades.c sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: Jun2020 Log Message: Upgrade code. diffs (269 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2300,6 +2300,18 @@ sql_update_jun2020(Client c, mvc *sql, c * see also function load_func() in store.c */ pos += snprintf(buf + pos, bufsize - pos, "update sys.functions set language = language - 2 where language in (8, 9);\n"); + sql_subtype tp; + sql_find_subtype(&tp, "varchar", 0, 0); + sql_subfunc *f = sql_bind_func(sql->sa, sys, "listagg", &tp, &tp, F_AGGR); + pos += snprintf(buf + pos, bufsize - pos, + "insert into sys.args values" + " (%d, %d, 'arg_2', 'varchar', 0, 0, %d, 2);\n", + store_next_oid(), f->func->base.id, ARG_IN); + + pos += snprintf(buf + pos, bufsize - pos, + "update sys.args set name = name || '_' || cast(number as string) where name in ('arg', 'res') and func_id in (select id from sys.functions f where f.system);\n"); + pos += snprintf(buf + pos, bufsize - pos, + "insert into sys.dependencies values ((select id from sys.functions where name = 'ms_round' and schema_id = (select id from sys.schemas where name = 'sys')), (select id from sys.functions where name = 'ms_trunc' and schema_id = (select id from sys.schemas where name = 'sys')), (select dependency_type_id from sys.dependency_types where dependency_type_name = 'FUNCTION'));\n"); /* 12_url */ pos += snprintf(buf + pos, bufsize - pos, diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 --- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 +++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 @@ -5905,6 +5905,9 @@ set schema "sys"; Running database upgrade commands: set schema "sys"; update sys.functions set language = language - 2 where language in (8, 9); +insert into sys.args values (34148, 147, 'arg_2', 'varchar', 0, 0, 1, 2); +update sys.args set name = name || '_' || cast(number as string) where name in ('arg', 'res') and func_id in (select id from sys.functions f where f.system); +insert into sys.dependencies values ((select id from sys.functions where name = 'ms_round' and schema_id = (select id from sys.schemas where name = 'sys')), (select id from sys.functions where name = 'ms_trunc' and schema_id = (select id from sys.schemas where name = 'sys')), (select dependency_type_id from sys.dependency_types where dependency_type_name = 'FUNCTION')); drop function isaURL(url); CREATE function isaURL(theUrl string) RETURNS BOOL EXTERNAL NAME url."isaURL"; diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 --- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 +++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 @@ -5905,6 +5905,9 @@ set schema "sys"; Running database upgrade commands: set schema "sys"; update sys.functions set language = language - 2 where language in (8, 9); +insert into sys.args values (34143, 147, 'arg_2', 'varchar', 0, 0, 1, 2); +update sys.args set name = name || '_' || cast(number as string) wh
MonetDB: default - Merged with Jun2020
Changeset: 16d2366efcd8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=16d2366efcd8 Added Files: buildtools/selinux/ChangeLog.Jun2020 Modified Files: clients/Tests/exports.stable.out gdk/gdk_atoms.h gdk/gdk_utils.h sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_select.c sql/server/rel_updates.c sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: default Log Message: Merged with Jun2020 diffs (truncated from 921 to 300 lines): diff --git a/buildtools/selinux/ChangeLog.Jun2020 b/buildtools/selinux/ChangeLog.Jun2020 new file mode 100644 --- /dev/null +++ b/buildtools/selinux/ChangeLog.Jun2020 @@ -0,0 +1,10 @@ +# ChangeLog file for selinux +# This file is updated with Maddlog + +* Wed May 6 2020 Sjoerd Mullender +- There was a problem with the MonetDB SELinux support on Fedora 32. + That is fixed in this release. In order to do a proper upgrade of + the package if you have already installed MonetDB-selinux on Fedora + 32, you may need to uninstall (dnf remove) the old package and then + install the new. + 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 @@ -14,7 +14,7 @@ char *ATOMformat(int id, const void *val int ATOMindex(const char *nme); size_t ATOMlen(int id, const void *v); str ATOMname(int id); -void *ATOMnil(int id); +void *ATOMnil(int id) __attribute__((__malloc__)); int ATOMprint(int id, const void *val, stream *fd); gdk_return BATappend(BAT *b, BAT *n, BAT *s, bool force) __attribute__((__warn_unused_result__)); void BATassertProps(BAT *b); @@ -299,8 +299,8 @@ gdk_return GDKsetenv(const char *name, c void GDKsetmallocsuccesscount(lng count); void GDKsetverbose(int verbosity); ssize_t GDKstrFromStr(unsigned char *restrict dst, const unsigned char *restrict src, ssize_t len); -str GDKstrdup(const char *s) __attribute__((__warn_unused_result__)); -str GDKstrndup(const char *s, size_t n) __attribute__((__warn_unused_result__)); +str GDKstrdup(const char *s) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); +str GDKstrndup(const char *s, size_t n) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_level); gdk_return GDKtracer_flush_buffer(void); const char *GDKtracer_get_component_level(const char *comp); diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h --- a/gdk/gdk_atoms.h +++ b/gdk/gdk_atoms.h @@ -68,7 +68,8 @@ gdk_export int ATOMindex(const char *nme gdk_export str ATOMname(int id); gdk_export size_t ATOMlen(int id, const void *v); -gdk_export void *ATOMnil(int id); +gdk_export void *ATOMnil(int id) + __attribute__((__malloc__)); gdk_export int ATOMprint(int id, const void *val, stream *fd); gdk_export char *ATOMformat(int id, const void *val); diff --git a/gdk/gdk_utils.h b/gdk/gdk_utils.h --- a/gdk/gdk_utils.h +++ b/gdk/gdk_utils.h @@ -93,8 +93,10 @@ gdk_export void *GDKrealloc(void *pold, __attribute__((__warn_unused_result__)); gdk_export void GDKfree(void *blk); gdk_export str GDKstrdup(const char *s) + __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); gdk_export str GDKstrndup(const char *s, size_t n) + __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); gdk_export void MT_init(void); /* init the package. */ diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c --- a/sql/server/rel_dump.c +++ b/sql/server/rel_dump.c @@ -771,7 +771,8 @@ read_prop( mvc *sql, sql_exp *exp, char return sql_error(sql, -1, SQLSTATE(42000) "Schema %s missing\n", sname); if (!find_prop(exp->p, PROP_JOINIDX)) { p = exp->p = prop_create(sql->sa, PROP_JOINIDX, exp->p); - p->value = mvc_bind_idx(sql, s, iname); + if (!(p->value = mvc_bind_idx(sql, s, iname))) + return sql_error(sql, -1, SQLSTATE(42000) "Index %s missing\n", iname); } r[*pos] = old; skipWS(r,pos); @@ -873,7 +874,7 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re if (!exp && rrel) exp = rel_bind_column2(sql, rrel, tname, cname, 0); } else if (!exp) { - exp = ex
MonetDB: Jun2020 - Small bugfix, if the returning type of a func...
Changeset: 56503ef3c1fa for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=56503ef3c1fa Modified Files: sql/server/rel_exp.c sql/server/rel_select.c sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.out Branch: Jun2020 Log Message: Small bugfix, if the returning type of a function bounds to any type and it's not set, set it to one of the arguments diffs (79 lines): diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c --- a/sql/server/rel_exp.c +++ b/sql/server/rel_exp.c @@ -281,6 +281,7 @@ exp_convert(sql_allocator *sa, sql_exp * sql_exp * exp_op( sql_allocator *sa, list *l, sql_subfunc *f ) { + sql_subtype *fres; sql_exp *e = exp_create(sa, e_func); if (e == NULL) return NULL; @@ -288,7 +289,14 @@ exp_op( sql_allocator *sa, list *l, sql_ if (!l || list_length(l) == 0) e->card = CARD_ATOM; /* unop returns a single atom */ e->l = l; - e->f = f; + e->f = f; + + fres = exp_subtype(e); +/* corner case if the output of the function is void, set the type to one of the inputs */ + if (!f->func->varres && list_length(l) > 0 && list_length(f->func->res) == 1 && fres && !subtype_cmp(fres, sql_bind_localtype("void"))) { + sql_subtype *t = exp_subtype(l->t->data); + f->res->h->data = sql_create_subtype(sa, t->type, t->digits, t->scale); + } return e; } diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -1914,9 +1914,7 @@ static sql_exp* int table_func = (ek.card == card_relation); sql_ftype type = (ek.card == card_loader)?F_LOADER:((ek.card == card_none)?F_PROC: ((ek.card == card_relation)?F_UNION:F_FUNC)); - sql_ftype filt = (type == F_FUNC)?F_FILT:type; - - (void)filt; + (void)nr_args; (void)obj_type; f = bind_func_(sql, s, fname, tl, type); diff --git a/sql/test/miscellaneous/Tests/simple_selects.sql b/sql/test/miscellaneous/Tests/simple_selects.sql --- a/sql/test/miscellaneous/Tests/simple_selects.sql +++ b/sql/test/miscellaneous/Tests/simple_selects.sql @@ -151,3 +151,6 @@ create view iambad as select * from _tab set current_timezone = null; --error, default global variables cannot be null set current_timezone = 11; --error, value too big set current_schema = null; --error, default global variables cannot be null + +select greatest(null, null); +select sql_min(null, null); diff --git a/sql/test/miscellaneous/Tests/simple_selects.stable.out b/sql/test/miscellaneous/Tests/simple_selects.stable.out --- a/sql/test/miscellaneous/Tests/simple_selects.stable.out +++ b/sql/test/miscellaneous/Tests/simple_selects.stable.out @@ -362,6 +362,24 @@ stdout of test 'simple_selects` in direc % 1 # length [ 0] #drop table x; +#declare table x (a int); +#drop table if exists x; +#create table myx (a boolean); +#create table myy (a interval second); +#drop table myx; +#drop table myy; +#select greatest(null, null); +% . # table_name +% %1 # name +% char # type +% 0 # length +[ NULL ] +#select sql_min(null, null); +% . # table_name +% %1 # name +% char # type +% 0 # length +[ NULL ] # 17:31:38 > # 17:31:38 > "Done." ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: acticloud - Closing branch acticloud.
Changeset: c28649b6da9c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c28649b6da9c Branch: acticloud Log Message: Closing branch acticloud. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: exanest - Closing branch exanest.
Changeset: 156f53986a48 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=156f53986a48 Branch: exanest Log Message: Closing branch exanest. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-monetdblite - Closing branch cmake-monetdblite.
Changeset: be1a23e1f4a2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=be1a23e1f4a2 Branch: cmake-monetdblite Log Message: Closing branch cmake-monetdblite. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: cmake-fun - Closing branch cmake-fun.
Changeset: 35484d01ef3f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=35484d01ef3f Branch: cmake-fun Log Message: Closing branch cmake-fun. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Defensive line, look for result of rel_check_...
Changeset: 6b6b0b3cd8c3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6b6b0b3cd8c3 Modified Files: sql/server/rel_updates.c Branch: Jun2020 Log Message: Defensive line, look for result of rel_check_type diffs (13 lines): diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c --- a/sql/server/rel_updates.c +++ b/sql/server/rel_updates.c @@ -317,7 +317,8 @@ rel_inserts(mvc *sql, sql_table *t, sql_ if (inserts[c->colnr]) return sql_error(sql, 02, SQLSTATE(42000) "%s: column '%s' specified more than once", action, c->base.name); - inserts[c->colnr] = rel_check_type(sql, &c->type, r, e, type_equal); + if (!(inserts[c->colnr] = rel_check_type(sql, &c->type, r, e, type_equal))) + return NULL; } } else { for (m = collist->h; m; m = m->next) { ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Check for '%' on hte first character only. Al...
Changeset: 8078fd71bad5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8078fd71bad5 Modified Files: sql/server/rel_dump.c Branch: Jun2020 Log Message: Check for '%' on hte first character only. Also test for missing index diffs (22 lines): diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c --- a/sql/server/rel_dump.c +++ b/sql/server/rel_dump.c @@ -771,7 +771,8 @@ read_prop( mvc *sql, sql_exp *exp, char return sql_error(sql, -1, SQLSTATE(42000) "Schema %s missing\n", sname); if (!find_prop(exp->p, PROP_JOINIDX)) { p = exp->p = prop_create(sql->sa, PROP_JOINIDX, exp->p); - p->value = mvc_bind_idx(sql, s, iname); + if (!(p->value = mvc_bind_idx(sql, s, iname))) + return sql_error(sql, -1, SQLSTATE(42000) "Index %s missing\n", iname); } r[*pos] = old; skipWS(r,pos); @@ -873,7 +874,7 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re if (!exp && rrel) exp = rel_bind_column2(sql, rrel, tname, cname, 0); } else if (!exp) { - exp = exp_column(sql->sa, tname, cname, NULL, CARD_ATOM, 1, (strchr(cname,'%') != NULL)); + exp = exp_column(sql->sa, tname, cname, NULL, CARD_ATOM, 1, cname[0] == '%'); } break; /* atom */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Changelog message.
Changeset: bc6c81ceaa2f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bc6c81ceaa2f Added Files: buildtools/selinux/ChangeLog.Jun2020 Branch: Jun2020 Log Message: Changelog message. diffs (15 lines): diff --git a/buildtools/selinux/ChangeLog.Jun2020 b/buildtools/selinux/ChangeLog.Jun2020 new file mode 100644 --- /dev/null +++ b/buildtools/selinux/ChangeLog.Jun2020 @@ -0,0 +1,10 @@ +# ChangeLog file for selinux +# This file is updated with Maddlog + +* Wed May 6 2020 Sjoerd Mullender +- There was a problem with the MonetDB SELinux support on Fedora 32. + That is fixed in this release. In order to do a proper upgrade of + the package if you have already installed MonetDB-selinux on Fedora + 32, you may need to uninstall (dnf remove) the old package and then + install the new. + ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Add some function attributes.
Changeset: 7849e4ce4db9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7849e4ce4db9 Modified Files: clients/Tests/exports.stable.out gdk/gdk_atoms.h gdk/gdk_utils.h Branch: Jun2020 Log Message: Add some function attributes. diffs (50 lines): 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 @@ -14,7 +14,7 @@ char *ATOMformat(int id, const void *val int ATOMindex(const char *nme); size_t ATOMlen(int id, const void *v); str ATOMname(int id); -void *ATOMnil(int id); +void *ATOMnil(int id) __attribute__((__malloc__)); int ATOMprint(int id, const void *val, stream *fd); gdk_return BATappend(BAT *b, BAT *n, BAT *s, bool force) __attribute__((__warn_unused_result__)); void BATassertProps(BAT *b); @@ -299,8 +299,8 @@ gdk_return GDKsetenv(const char *name, c void GDKsetmallocsuccesscount(lng count); void GDKsetverbose(int verbosity); ssize_t GDKstrFromStr(unsigned char *restrict dst, const unsigned char *restrict src, ssize_t len); -str GDKstrdup(const char *s) __attribute__((__warn_unused_result__)); -str GDKstrndup(const char *s, size_t n) __attribute__((__warn_unused_result__)); +str GDKstrdup(const char *s) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); +str GDKstrndup(const char *s, size_t n) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_level); gdk_return GDKtracer_flush_buffer(void); const char *GDKtracer_get_component_level(const char *comp); diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h --- a/gdk/gdk_atoms.h +++ b/gdk/gdk_atoms.h @@ -68,7 +68,8 @@ gdk_export int ATOMindex(const char *nme gdk_export str ATOMname(int id); gdk_export size_t ATOMlen(int id, const void *v); -gdk_export void *ATOMnil(int id); +gdk_export void *ATOMnil(int id) + __attribute__((__malloc__)); gdk_export int ATOMprint(int id, const void *val, stream *fd); gdk_export char *ATOMformat(int id, const void *val); diff --git a/gdk/gdk_utils.h b/gdk/gdk_utils.h --- a/gdk/gdk_utils.h +++ b/gdk/gdk_utils.h @@ -93,8 +93,10 @@ gdk_export void *GDKrealloc(void *pold, __attribute__((__warn_unused_result__)); gdk_export void GDKfree(void *blk); gdk_export str GDKstrdup(const char *s) + __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); gdk_export str GDKstrndup(const char *s, size_t n) + __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); gdk_export void MT_init(void); /* init the package. */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Use timestamp instead of time at bug 2781 tes...
Changeset: fb1d7bb740ac for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fb1d7bb740ac Modified Files: sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out Branch: Jun2020 Log Message: Use timestamp instead of time at bug 2781 test, so it can't never overflow if the test is performed at around midnight diffs (35 lines): diff --git a/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py b/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py --- a/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py +++ b/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py @@ -14,16 +14,16 @@ def main(): with process.client('sql', user='monetdb', passwd='monetdb', stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) as clt: -currenttime = time.strftime('%H:%M:%S', time.localtime(time.time())) +currenttime = time.strftime('%F %T', time.localtime(time.time())) #SQL command for checking the localtime -sqlcommand = "select localtime() between (time '%s' - interval '20' second) and (time '%s' + interval '20' second);" % (currenttime, currenttime) +sqlcommand = "select localtimestamp() between (timestamp '%s' - interval '20' second) and (timestamp '%s' + interval '20' second);" % (currenttime, currenttime) out, err = clt.communicate(sqlcommand) sys.stdout.write(out) sys.stderr.write(err) with process.client('sql', user='monetdb', passwd='monetdb', stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) as clt: -out, err = clt.communicate('select localtime();') +out, err = clt.communicate('select localtimestamp();') sys.stdout.write('#Python says: %s; current time zone %d\n' % (currenttime, zone)) for line in out.split('\n'): if line: diff --git a/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out b/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out --- a/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out +++ b/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out @@ -42,7 +42,7 @@ stdout of test 'currenttime.Bug-2781` in # loading sql script: 80_udf.sql # loading sql script: 99_system.sql -#select localtime() between (time '16:48:21' - interval '20' second) and (time '16:48:21' + interval '20' second); +#select localtimestamp() between (timestamp '2020-05-06 10:22:12' - interval '20' second) and (timestamp '2020-05-06 10:22:12' + interval '20' second); % . # table_name % %1 # name % boolean # type ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: mbedded - merged with default
Changeset: de1c945ff27c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=de1c945ff27c Added Files: sql/test/miscellaneous/Tests/simple_plans.sql sql/test/miscellaneous/Tests/simple_plans.stable.err sql/test/miscellaneous/Tests/simple_plans.stable.out sql/test/miscellaneous/Tests/trigger_projection.sql sql/test/miscellaneous/Tests/trigger_projection.stable.err sql/test/miscellaneous/Tests/trigger_projection.stable.out sql/test/subquery/Tests/subquery6.sql sql/test/subquery/Tests/subquery6.stable.err sql/test/subquery/Tests/subquery6.stable.out Modified Files: ChangeLog.Jun2020 MonetDB.spec buildtools/selinux/monetdb.te clients/ChangeLog.Jun2020 clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/dump.c clients/mapiclient/mclient.c clients/mapiclient/mhelp.c common/stream/stream.h common/utils/mstring.h gdk/ChangeLog.Jun2020 gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_analytic_func.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_cand.c gdk/gdk_cross.c gdk/gdk_firstn.c gdk/gdk_group.c gdk/gdk_heap.c gdk/gdk_join.c gdk/gdk_project.c gdk/gdk_select.c gdk/gdk_tracer.c gdk/gdk_unique.c monetdb5/ChangeLog.Jun2020 monetdb5/mal/mal_import.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/mal/mkey.c monetdb5/optimizer/opt_mergetable.c sql/ChangeLog.Jun2020 sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/benchmarks/tpcds/Tests/alter.timeout sql/common/sql_changeset.c sql/common/sql_hash.c sql/common/sql_keyword.c sql/common/sql_list.c sql/common/sql_mem.c sql/common/sql_stack.c sql/include/sql_mem.h sql/include/sql_relation.h sql/rel.txt sql/scripts/25_debug.sql sql/scripts/51_sys_schema_extension.sql sql/server/rel_distribute.c sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_partition.c sql/server/rel_prop.c sql/server/rel_propagate.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_rewriter.c sql/server/rel_rewriter.h sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_semantic.c sql/server/rel_unnest.c sql/server/rel_unnest.h sql/server/rel_updates.c sql/server/sql_env.c sql/server/sql_env.h sql/server/sql_partition.c sql/server/sql_qc.c sql/storage/bat/bat_logger.c sql/storage/sql_storage.h sql/storage/store.c sql/storage/store_sequence.c sql/test/BugDay_2005-10-06_2.9.3/Tests/bool_boolean.SF-935601.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/subselect_cardinality.SF-1240701.1242164.stable.err sql/test/BugTracker-2008/Tests/is_distinct_broken.SF-2430201.stable.err sql/test/BugTracker-2008/Tests/sql_command_kills_db.SF-2233677.stable.err sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.stable.out sql/test/BugTracker-2013/Tests/pivot.Bug-3339.stable.err sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out sql/test/BugTracker-2016/Tests/rename_exps.Bug-3974.stable.out sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.err sql/test/BugTracker-2017/Tests/groupby_assertion.Bug-6338.stable.err sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.err sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out.single sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.err sql/test/BugTracker-2018/Tests/alter-sequence-subquery.Bug-6657.stable.err sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err sql/test/Dependencies/Tests/Dependencie
MonetDB: Jun2020 - Approved output
Changeset: e8d0eb4724e9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e8d0eb4724e9 Modified Files: sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: Jun2020 Log Message: Approved output diffs (22 lines): diff --git a/sql/test/sys-schema/Tests/systemfunctions.stable.out b/sql/test/sys-schema/Tests/systemfunctions.stable.out --- a/sql/test/sys-schema/Tests/systemfunctions.stable.out +++ b/sql/test/sys-schema/Tests/systemfunctions.stable.out @@ -1140,6 +1140,7 @@ stdout of test 'systemfunctions` in dire [ "sys", "listagg", 1, "varchar", "" ] [ "sys", "listagg", 0, "varchar", "str_group_concat" ] [ "sys", "listagg", 1, "varchar", "" ] +[ "sys", "listagg", 2, "varchar", "" ] [ "sys", "listagg", 0, "varchar", "str_group_concat" ] [ "sys", "listagg", 1, "varchar", "" ] [ "sys", "listagg", 0, "varchar", "str_group_concat" ] diff --git a/sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 b/sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 --- a/sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 +++ b/sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 @@ -1231,6 +1231,7 @@ stdout of test 'systemfunctions` in dire [ "sys", "listagg", 1, "varchar", "" ] [ "sys", "listagg", 0, "varchar", "str_group_concat" ] [ "sys", "listagg", 1, "varchar", "" ] +[ "sys", "listagg", 2, "varchar", "" ] [ "sys", "listagg", 0, "varchar", "str_group_concat" ] [ "sys", "listagg", 1, "varchar", "" ] [ "sys", "listagg", 0, "varchar", "str_group_concat" ] ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list