MonetDB: malerrors - small compilation fixes
Changeset: 64b2706d9acd for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=64b2706d9acd Modified Files: sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_scenario.c Branch: malerrors Log Message: small compilation fixes diffs (26 lines): diff --git a/sql/backends/monet5/sql_execute.c b/sql/backends/monet5/sql_execute.c --- a/sql/backends/monet5/sql_execute.c +++ b/sql/backends/monet5/sql_execute.c @@ -574,8 +574,8 @@ SQLstatementIntern(Client c, str *expr, MSresetInstructions(c->curprg->def, oldstop); freeVariables(c, c->curprg->def, c->glb, oldvtop); c->curprg->def->errors = 0; - if( m->errstr){ - if( strstr(m->errstr,"SQLSTATE")) + if (*m->errstr) { + if (strstr(m->errstr,"SQLSTATE")) msg = createException(PARSE, "SQLparser", "%s", m->errstr); else msg = createException(PARSE, "SQLparser", "SQLSTATE 42000 !""%s", m->errstr); diff --git a/sql/backends/monet5/sql_scenario.c b/sql/backends/monet5/sql_scenario.c --- a/sql/backends/monet5/sql_scenario.c +++ b/sql/backends/monet5/sql_scenario.c @@ -1194,7 +1194,7 @@ SQLparser(Client c) /* restore the state */ MSresetInstructions(c->curprg->def, oldstop); freeVariables(c, c->curprg->def, NULL, oldvtop); - if (msg == NULL && m->errstr && *m->errstr){ + if (msg == NULL && *m->errstr){ if(strstr(m->errstr,"SQLSTATE")) msg = createException(PARSE, "SQLparser", "%s", m->errstr); else ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: jitudf - Merged with default branch.
Changeset: 4496a9e448e6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4496a9e448e6 Modified Files: tools/merovingian/utils/properties.c tools/merovingian/utils/utils.c Branch: jitudf Log Message: Merged with default branch. diffs (103 lines): diff --git a/tools/merovingian/utils/properties.c b/tools/merovingian/utils/properties.c --- a/tools/merovingian/utils/properties.c +++ b/tools/merovingian/utils/properties.c @@ -24,7 +24,7 @@ "# This file is used by monetdbd\n\n" /* these are the properties used for starting an mserver */ -static confkeyval _internal_prop_keys[PROPLENGTH] = { +static const confkeyval _internal_prop_keys[PROPLENGTH] = { {"type", NULL, 0, STR}, {"shared", NULL, 0, STR}, {"nthreads", NULL, 0, INT}, @@ -42,6 +42,20 @@ static confkeyval _internal_prop_keys[PR static pthread_mutex_t readprops_lock = PTHREAD_MUTEX_INITIALIZER; /** + * Returns true if the key is a default property. + */ +int +defaultProperty(const char *property) { + int i; + if (property == NULL) + return 0; + for (i = 0; _internal_prop_keys[i].key != NULL; i++) + if (strcmp(property, _internal_prop_keys[i].key) == 0) + return 1; + return 0; +} + +/** * Returns the currently supported list of properties. This list can be * used to read all values, modify some and write the file back again. * The returned list is malloced, the keys are a pointer to a static diff --git a/tools/merovingian/utils/utils.c b/tools/merovingian/utils/utils.c --- a/tools/merovingian/utils/utils.c +++ b/tools/merovingian/utils/utils.c @@ -96,24 +96,23 @@ readConfFileFull(confkeyval *list, FILE val = strtok(NULL, separator); /* strip trailing newline */ val = strtok(val, "\n"); - /* check if it is default property or not. those are set in a special way */ - if (defaultProperty(key)) { - if ((err = setConfValForKey(t, key, val)) != NULL) { - free(err); /* ignore, just fall back to default */ + if ((err = setConfValForKey(t, key, val)) != NULL) { + if (strstr(err, "is not recognized") == NULL) { + /* If we already have more than PROPLENGTH +* entries, ignore every ad hoc property +*/ + if (cnt >= PROPLENGTH - 1) { + continue; + } + list->key = strdup(key); + list->val = strdup(val); + list->ival = 0; + list->type = STR; + list++; + cnt++; } - } else { - /* If we already have more than PROPLENGTH entries, ignore every -* ad hoc property -*/ - if (cnt >= PROPLENGTH - 1) { - continue; - } - list->key = strdup(key); - list->val = strdup(val); - list->ival = 0; - list->type = STR; - list++; - cnt++; + /* else: ignore the property */ + free(err); } } } @@ -134,25 +133,6 @@ freeConfFile(confkeyval *list) { } /** - * Returns true if the key is a default property. - */ -int -defaultProperty(const char *property) { - if (property == NULL) - return 0; - return strcmp(property, "type") == 0 || - strcmp(property, "shared") == 0 || - strcmp(property, "nthreads") == 0 || - strcmp(property, "readonly") == 0 || - strcmp(property, "nclients") == 0 || - strcmp(property, "mfunnel") == 0 || - strcmp(property, "embedr") == 0 || - strcmp(property, "embedpy") == 0 || - strcmp(property, "embedpy3") == 0 || - strcmp(property, "optpipe") == 0; -} - -/** * Returns a pointer to the key-value that has a matching key with the * given key, or NULL if no key was found. */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jul2017 branch.
Changeset: efe64846f623 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=efe64846f623 Modified Files: tools/merovingian/utils/properties.c tools/merovingian/utils/utils.c Branch: default Log Message: Merge with Jul2017 branch. diffs (103 lines): diff --git a/tools/merovingian/utils/properties.c b/tools/merovingian/utils/properties.c --- a/tools/merovingian/utils/properties.c +++ b/tools/merovingian/utils/properties.c @@ -24,7 +24,7 @@ "# This file is used by monetdbd\n\n" /* these are the properties used for starting an mserver */ -static confkeyval _internal_prop_keys[PROPLENGTH] = { +static const confkeyval _internal_prop_keys[PROPLENGTH] = { {"type", NULL, 0, STR}, {"shared", NULL, 0, STR}, {"nthreads", NULL, 0, INT}, @@ -42,6 +42,20 @@ static confkeyval _internal_prop_keys[PR static pthread_mutex_t readprops_lock = PTHREAD_MUTEX_INITIALIZER; /** + * Returns true if the key is a default property. + */ +int +defaultProperty(const char *property) { + int i; + if (property == NULL) + return 0; + for (i = 0; _internal_prop_keys[i].key != NULL; i++) + if (strcmp(property, _internal_prop_keys[i].key) == 0) + return 1; + return 0; +} + +/** * Returns the currently supported list of properties. This list can be * used to read all values, modify some and write the file back again. * The returned list is malloced, the keys are a pointer to a static diff --git a/tools/merovingian/utils/utils.c b/tools/merovingian/utils/utils.c --- a/tools/merovingian/utils/utils.c +++ b/tools/merovingian/utils/utils.c @@ -96,24 +96,23 @@ readConfFileFull(confkeyval *list, FILE val = strtok(NULL, separator); /* strip trailing newline */ val = strtok(val, "\n"); - /* check if it is default property or not. those are set in a special way */ - if (defaultProperty(key)) { - if ((err = setConfValForKey(t, key, val)) != NULL) { - free(err); /* ignore, just fall back to default */ + if ((err = setConfValForKey(t, key, val)) != NULL) { + if (strstr(err, "is not recognized") == NULL) { + /* If we already have more than PROPLENGTH +* entries, ignore every ad hoc property +*/ + if (cnt >= PROPLENGTH - 1) { + continue; + } + list->key = strdup(key); + list->val = strdup(val); + list->ival = 0; + list->type = STR; + list++; + cnt++; } - } else { - /* If we already have more than PROPLENGTH entries, ignore every -* ad hoc property -*/ - if (cnt >= PROPLENGTH - 1) { - continue; - } - list->key = strdup(key); - list->val = strdup(val); - list->ival = 0; - list->type = STR; - list++; - cnt++; + /* else: ignore the property */ + free(err); } } } @@ -134,25 +133,6 @@ freeConfFile(confkeyval *list) { } /** - * Returns true if the key is a default property. - */ -int -defaultProperty(const char *property) { - if (property == NULL) - return 0; - return strcmp(property, "type") == 0 || - strcmp(property, "shared") == 0 || - strcmp(property, "nthreads") == 0 || - strcmp(property, "readonly") == 0 || - strcmp(property, "nclients") == 0 || - strcmp(property, "mfunnel") == 0 || - strcmp(property, "embedr") == 0 || - strcmp(property, "embedpy") == 0 || - strcmp(property, "embedpy3") == 0 || - strcmp(property, "optpipe") == 0; -} - -/** * Returns a pointer to the key-value that has a matching key with the * given key, or NULL if no key was found. */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jul2017 - Fixed two related bugs in merovingian.
Changeset: 51fde2301456 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=51fde2301456 Modified Files: tools/merovingian/utils/properties.c tools/merovingian/utils/utils.c Branch: Jul2017 Log Message: Fixed two related bugs in merovingian. When reading properties from the .merovingian_properties file, search the list of known properties so far and overwrite old ones with new ones. Use only a single list of "default" properties. diffs (103 lines): diff --git a/tools/merovingian/utils/properties.c b/tools/merovingian/utils/properties.c --- a/tools/merovingian/utils/properties.c +++ b/tools/merovingian/utils/properties.c @@ -24,7 +24,7 @@ "# This file is used by monetdbd\n\n" /* these are the properties used for starting an mserver */ -static confkeyval _internal_prop_keys[PROPLENGTH] = { +static const confkeyval _internal_prop_keys[PROPLENGTH] = { {"type", NULL, 0, STR}, {"shared", NULL, 0, STR}, {"nthreads", NULL, 0, INT}, @@ -42,6 +42,20 @@ static confkeyval _internal_prop_keys[PR static pthread_mutex_t readprops_lock = PTHREAD_MUTEX_INITIALIZER; /** + * Returns true if the key is a default property. + */ +int +defaultProperty(const char *property) { + int i; + if (property == NULL) + return 0; + for (i = 0; _internal_prop_keys[i].key != NULL; i++) + if (strcmp(property, _internal_prop_keys[i].key) == 0) + return 1; + return 0; +} + +/** * Returns the currently supported list of properties. This list can be * used to read all values, modify some and write the file back again. * The returned list is malloced, the keys are a pointer to a static diff --git a/tools/merovingian/utils/utils.c b/tools/merovingian/utils/utils.c --- a/tools/merovingian/utils/utils.c +++ b/tools/merovingian/utils/utils.c @@ -96,24 +96,23 @@ readConfFileFull(confkeyval *list, FILE val = strtok(NULL, separator); /* strip trailing newline */ val = strtok(val, "\n"); - /* check if it is default property or not. those are set in a special way */ - if (defaultProperty(key)) { - if ((err = setConfValForKey(t, key, val)) != NULL) { - free(err); /* ignore, just fall back to default */ + if ((err = setConfValForKey(t, key, val)) != NULL) { + if (strstr(err, "is not recognized") == NULL) { + /* If we already have more than PROPLENGTH +* entries, ignore every ad hoc property +*/ + if (cnt >= PROPLENGTH - 1) { + continue; + } + list->key = strdup(key); + list->val = strdup(val); + list->ival = 0; + list->type = STR; + list++; + cnt++; } - } else { - /* If we already have more than PROPLENGTH entries, ignore every -* ad hoc property -*/ - if (cnt >= PROPLENGTH - 1) { - continue; - } - list->key = strdup(key); - list->val = strdup(val); - list->ival = 0; - list->type = STR; - list++; - cnt++; + /* else: ignore the property */ + free(err); } } } @@ -134,25 +133,6 @@ freeConfFile(confkeyval *list) { } /** - * Returns true if the key is a default property. - */ -int -defaultProperty(const char *property) { - if (property == NULL) - return 0; - return strcmp(property, "type") == 0 || - strcmp(property, "shared") == 0 || - strcmp(property, "nthreads") == 0 || - strcmp(property, "readonly") == 0 || - strcmp(property, "nclients") == 0 || - strcmp(property, "mfunnel") == 0 || - strcmp(property, "embedr") == 0 || - strcmp(property, "embedpy") == 0 || - strcmp(property, "embedpy3") == 0 || - strcmp(property, "optpipe") == 0; -} - -/** * Returns a pointer to the key-value that has a matching key with the * given key,
MonetDB: sqlextra - Cleaned Mclient help
Changeset: cab4892232eb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cab4892232eb Modified Files: clients/mapiclient/mhelp.c Branch: sqlextra Log Message: Cleaned Mclient help diffs (173 lines): diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c --- a/clients/mapiclient/mhelp.c +++ b/clients/mapiclient/mhelp.c @@ -38,6 +38,8 @@ typedef struct { char *comments; } SQLhelp; +#define NUMBER_MAJOR_COMMANDS 73 // The number of major commands to show in case of no query + SQLhelp sqlhelp[] = { // major commands {"ALTER TABLE", @@ -203,8 +205,8 @@ SQLhelp sqlhelp[] = { NULL}, {"CREATE TRIGGER", "", -"CREATE TRIGGER wname { BEFORE | AFTER } {INSERT | DELETE | UPDATE [ OF ident [',' ident]...\n" -"ON qname [REFERENCING trigger_reference... triggered_action", +"CREATE TRIGGER wname { BEFORE | AFTER } { INSERT | DELETE | TRUNCATE | UPDATE [ OF ident [',' ident]] } ...\n" +"ON qname REFERENCING trigger_reference... triggered_action", "trigger_reference", NULL}, {"CREATE TYPE", @@ -214,7 +216,7 @@ SQLhelp sqlhelp[] = { NULL}, {"CREATE VIEW", "", -"CREATE VIEW [ IF NOT EXISTS ] qname [ column_list ] AS { query_expression | '(' query_expression ') }\n" +"CREATE VIEW [ IF NOT EXISTS ] qname [ column_list ] AS { query_expression | '(' query_expression ')' }\n" "[ WITH CHECK OPTION ]", "column_list,query_expression", NULL}, @@ -393,7 +395,7 @@ SQLhelp sqlhelp[] = { "SET '=' simple_atom", "simple_atom", NULL}, - {"SET LOCALSTART TRANSACTION", + {"SET LOCAL TRANSACTION", "", "START LOCAL TRANSACTION transactionmode", "transactionmode,isolevel", @@ -447,16 +449,20 @@ SQLhelp sqlhelp[] = { "table_ref [ INNER | LEFT | RIGHT | FULL] JOIN table_ref { ON search_condition | USING column_list } |\n", NULL, "See also https://www.monetdb.org/Documentation/SQLreference/TableExpressions"}, - {"TRACE", "Give execution trace", "TRACE statement", NULL, NULL}, + {"TRUNCATE", +"", +"TRUNCATE [ TABLE ] qname [ CONTINUE IDENTITY | RESTART IDENTITY ] [ CASCADE | RESTRICT ]", +"", +NULL}, {"UPDATE", "", "[WITH with_list] UPDATE qname SET assignment_list [FROM from_clause] [WHERE search_condition]", -"with_list,assignment_list,from_clause", +"with_list,assignment_list,from_clause,search_condition", NULL}, {"WHILE", "", @@ -479,7 +485,7 @@ SQLhelp sqlhelp[] = { // The subgrammar rules {"assignment_list", NULL, -"colum '=' search_condition | '(' column [','...] ')' '=' subquery", +"column '=' DEFAULT | column '=' search_condition | '(' column [','...] ')' '=' subquery", "search_condition,column,subquery", NULL}, {"authid", @@ -489,7 +495,7 @@ SQLhelp sqlhelp[] = { NULL}, {"column_def", NULL, -"COLUMN [ SERIAL | BIGSERIAL] | COLUMN data_type [ column_option ...]", +"COLUMN [ SERIAL | BIGSERIAL ] | COLUMN data_type [ column_option ...]", "column_option", NULL}, {"column_list", @@ -520,7 +526,7 @@ SQLhelp sqlhelp[] = { NULL}, {"datetime_type", NULL, -"DATE | TIME [ time_precision ] tz | TIMESTAMP [ timestamp_precision ] tz", +"DATE | TIME [ time_precision ] tz | TIMESTAMP [ timestamp_precision ] tz", "time_precision,timestamp_precision,tz", NULL}, {"data_type", @@ -542,7 +548,7 @@ SQLhelp sqlhelp[] = { NULL}, {"end_time", NULL, -"SECOND timestamp_precision\n,timestamp_precision", +"SECOND timestamp_precision\n,timestamp_precision", NULL, NULL}, {"function_return", @@ -583,7 +589,7 @@ SQLhelp sqlhelp[] = { NULL}, {"interval", NULL, -"INTERVAL [ '+' | '-' ] string start_field TO end_field", +"INTERVAL [ '+' | '-' ] string start_field TO end_field", "start_field,end_time", NULL}, {"intval", @@ -613,14 +619,14 @@ SQLhelp sqlhelp[] = { NULL}, {"privileges", NULL, -"{ ALL [PRIVILEGES ] | { INSERT | DELETE | EXECUTE | [ REFERENCES | SELECT | UPDATE } column_list ON " -" { [TABLE] qname | routine_designator } | global_privileges", +"{ ALL [PRIVILEGES ] | INSERT | DELETE | EXECUTE | REFERENCES | SELECT | TRUNCATE | UPDATE } column_list ON " +" { [TABLE] qname | routine_designator } | global_privileges", "global_privileges,routine_designator", NULL}, {"procedure_statement", NULL, -"{transaction_statement | update_statement | grant |revoke | declare
MonetDB: sqlextra - Cleaned IF [NOT] EXISTS clauses handling in ...
Changeset: f40a81af1dc5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f40a81af1dc5 Modified Files: clients/mapiclient/mhelp.c monetdb5/modules/mal/wlc.mal sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sqlcatalog.mal sql/backends/monet5/wlr.mal sql/include/sql_relation.h sql/server/rel_schema.c sql/server/sql_parser.y sql/test/pg_regress/Tests/alter_table.stable.err sql/test/pg_regress/Tests/float8.stable.err.int128 sql/test/pg_regress/Tests/insert.stable.err Branch: sqlextra Log Message: Cleaned IF [NOT] EXISTS clauses handling in the server. Also added IF EXISTS clause for CREATE VIEWS diffs (truncated from 708 to 300 lines): diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c --- a/clients/mapiclient/mhelp.c +++ b/clients/mapiclient/mhelp.c @@ -214,7 +214,8 @@ SQLhelp sqlhelp[] = { NULL}, {"CREATE VIEW", "", -"CREATE VIEW qname [ column_list ] AS { query_expression | '(' query_expression ') } [ WITH CHECK OPTION ]", +"CREATE VIEW [ IF NOT EXISTS ] qname [ column_list ] AS { query_expression | '(' query_expression ') }\n" +"[ WITH CHECK OPTION ]", "column_list,query_expression", NULL}, {"CURRENT_DATE", diff --git a/monetdb5/modules/mal/wlc.mal b/monetdb5/modules/mal/wlc.mal --- a/monetdb5/modules/mal/wlc.mal +++ b/monetdb5/modules/mal/wlc.mal @@ -95,15 +95,11 @@ pattern drop_seq( sname:str, nme:str, ac address WLCgeneric comment "Catalog operation drop_seq"; -pattern create_schema(sname:str, auth:str, action:int) +pattern create_schema(sname:str, auth:str, ifnotexists:int, action:int) address WLCgeneric comment "Catalog operation create_schema"; -pattern drop_schema( sname:str, s:str, action:int, ifexists:int) -address WLCgeneric -comment "Catalog operation drop_schema"; - -pattern drop_schema( sname:str, s:str, action:int) +pattern drop_schema( sname:str, s:str, ifexists:int, action:int) address WLCgeneric comment "Catalog operation drop_schema"; @@ -115,11 +111,7 @@ pattern create_view(sname:str, tname:str address WLCgeneric comment "Catalog operation create_view"; -pattern drop_table( sname:str, name:str, action:int , ifexists:int) -address WLCgeneric -comment "Catalog operation drop_table"; - -pattern drop_table( sname:str, name:str, action:int ) +pattern drop_table( sname:str, name:str, action:int, ifexists:int) address WLCgeneric comment "Catalog operation drop_table"; @@ -127,11 +119,7 @@ pattern drop_view( sname:str, name:str, address WLCgeneric comment "Catalog operation drop_view"; -pattern drop_view( sname:str, name:str, action:int) -address WLCgeneric -comment "Catalog operation drop_view"; - -pattern drop_constraint( sname:str, name:str, action:int) +pattern drop_constraint( sname:str, name:str, action:int, ifexists:int) address WLCgeneric comment "Catalog operation drop_constraint"; diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c --- a/sql/backends/monet5/rel_bin.c +++ b/sql/backends/monet5/rel_bin.c @@ -4726,7 +4726,7 @@ rel2bin_catalog(backend *be, sql_rel *re mvc *sql = be->mvc; node *en = rel->exps->h; stmt *action = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, NULL); - stmt *sname = NULL, *name = NULL; + stmt *sname = NULL, *name = NULL, *ifexists = NULL; list *l = sa_list(sql->sa); (void)refs; @@ -4737,8 +4737,14 @@ rel2bin_catalog(backend *be, sql_rel *re } else { name = stmt_atom_string_nil(be); } + if (en->next && en->next->next) { + ifexists = exp_bin(be, en->next->next->data, NULL, NULL, NULL, NULL, NULL, NULL); + } else { + ifexists = stmt_atom_int(be, 0); + } append(l, sname); append(l, name); + append(l, ifexists); append(l, action); return stmt_catalog(be, rel->flag, stmt_list(be, l)); } @@ -4749,7 +4755,7 @@ rel2bin_catalog_table(backend *be, sql_r mvc *sql = be->mvc; node *en = rel->exps->h; stmt *action = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, NULL); - stmt *table = NULL, *sname, *tname = NULL; + stmt *table = NULL, *sname, *tname = NULL, *ifexists = NULL; list *l = sa_list(sql->sa); (void)refs; @@ -4760,13 +4766,22 @@ rel2bin_catalog_table(backend *be, sql_r tname = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, NULL); en = en->next; } - if (en) - table = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, NULL); append(l, sname); assert(tname); append(l, tname); - if (rel->flag != DDL_DROP_TABLE && rel->flag != DDL_DROP_TABLE_IF_EXISTS && rel->flag != DDL_DROP_VIEW && rel->flag != D
MonetDB: jitudf - Merged with default branch.
Changeset: b0b44412ff92 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b0b44412ff92 Modified Files: MonetDB.spec buildtools/selinux/monetdb.te clients/ChangeLog clients/mapiclient/stethoscope.c monetdb5/mal/mal_profiler.c sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.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.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.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.int128 Branch: jitudf Log Message: Merged with default branch. diffs (truncated from 39627 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -998,6 +998,7 @@ fi make %{?_smp_mflags} +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 cd buildtools/selinux for selinuxvariant in %{selinux_variants} do @@ -1006,6 +1007,7 @@ do make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean done cd - +%endif %install %make_install @@ -1022,6 +1024,7 @@ rm -f %{buildroot}%{_libdir}/monetdb5/*. # internal development stuff rm -f %{buildroot}%{_bindir}/Maddlog +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 for selinuxvariant in %{selinux_variants} do install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} @@ -1029,6 +1032,7 @@ do %{buildroot}%{_datadir}/selinux/${selinuxvariant}/monetdb.pp done /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux +%endif %post -p /sbin/ldconfig diff --git a/buildtools/selinux/monetdb.te b/buildtools/selinux/monetdb.te --- a/buildtools/selinux/monetdb.te +++ b/buildtools/selinux/monetdb.te @@ -14,7 +14,7 @@ init_daemon_domain(monetdbd_t, monetdbd_ # mserver5_exec_t which must then transition to the mserver5_t domain type mserver5_t; # mserver5 when run by monetdbd (monetdbd_t) type mserver5_exec_t; # /usr/bin/mserver5 -application_domain(mserver5_t, mserver5_exec_t) +init_daemon_domain(mserver5_t, mserver5_exec_t) # see https://selinuxproject.org/page/NB_Domain_and_Object_Transitions#Domain_Transition allow monetdbd_t mserver5_t:process transition; allow monetdbd_t mserver5_exec_t:file { execute open read getattr }; diff --git a/clients/ChangeLog b/clients/ChangeLog --- a/clients/ChangeLog +++ b/clients/ChangeLog @@ -1,3 +1,10 @@ # ChangeLog file for clients # This file is updated with Maddlog +* Mon Jul 17 2017 Panagiotis Koutsourakis +- Add a new pretty printing option to stethoscope + Running stethoscope with the flag -j will produce not pretty printed + output (one json object per line). Running with the -y flag will produce + pretty printed output. Running with neither, wiil produce the legacy, + line oriented format + diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c --- a/clients/mapiclient/stethoscope.c +++ b/clients/mapiclient/stethoscope.c @@ -72,6 +72,7 @@ static char hostname[128]; static char *filename = NULL; static int beat = 0; static int json = 0; +static int stream_mode = 1; static Mapi dbh; static MapiHdl hdl = NULL; static FILE *trace = NULL; @@ -201,11 +202,12 @@ usageStethoscope(void) fprintf(stderr, " -h | --host=\n"); fprintf(stderr, " -c | --convert=\n"); fprintf(stderr, " -j | --json\n"); +fprintf(stderr, " -y | --pretty (implies --json)\n"); fprintf(stderr, " -o | --output=\n"); - fprintf(stderr, " -b | --beat= in milliseconds (default 50)\n"); - fprintf(stderr, " -D | --debug\n"); +fprintf(stderr, " -b | --beat= in milliseconds (default 50)\n"); +fprintf(stderr, " -D | --debug\n"); fprintf(stderr, " -? | --help\n"); - exit(-1); +exit(-1); } /* Any signal should be captured and turned into a graceful @@ -242,7 +244,7 @@ main(int argc, char **argv) int done = 0; EventRecord *ev = malloc(sizeof(EventRecord)); - static struct option long_options[12] = { + static struct option long_options[13] = { { "dbname", 1, 0, 'd' }, { "user", 1, 0, 'u' }, { "port", 1, 0, 'p' }, @@ -251,6 +253,7 @@ main(int argc, char **argv) { "help", 0, 0, '?' }, { "convert", 1, 0, 'c'}, { "json", 0, 0, 'j'}, + { "pretty", 0, 0, 'y'}, { "output", 1, 0, 'o' }, { "debug", 0, 0, 'D' }, { "beat", 1, 0, 'b' },
MonetDB: default - Merge with Jul2017 branch.
Changeset: 99ca2afc23d4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=99ca2afc23d4 Modified Files: MonetDB.spec buildtools/selinux/monetdb.te sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.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.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.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.int128 Branch: default Log Message: Merge with Jul2017 branch. diffs (truncated from 39501 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -998,6 +998,7 @@ fi make %{?_smp_mflags} +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 cd buildtools/selinux for selinuxvariant in %{selinux_variants} do @@ -1006,6 +1007,7 @@ do make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean done cd - +%endif %install %make_install @@ -1022,6 +1024,7 @@ rm -f %{buildroot}%{_libdir}/monetdb5/*. # internal development stuff rm -f %{buildroot}%{_bindir}/Maddlog +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 for selinuxvariant in %{selinux_variants} do install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} @@ -1029,6 +1032,7 @@ do %{buildroot}%{_datadir}/selinux/${selinuxvariant}/monetdb.pp done /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux +%endif %post -p /sbin/ldconfig diff --git a/buildtools/selinux/monetdb.te b/buildtools/selinux/monetdb.te --- a/buildtools/selinux/monetdb.te +++ b/buildtools/selinux/monetdb.te @@ -14,7 +14,7 @@ init_daemon_domain(monetdbd_t, monetdbd_ # mserver5_exec_t which must then transition to the mserver5_t domain type mserver5_t; # mserver5 when run by monetdbd (monetdbd_t) type mserver5_exec_t; # /usr/bin/mserver5 -application_domain(mserver5_t, mserver5_exec_t) +init_daemon_domain(mserver5_t, mserver5_exec_t) # see https://selinuxproject.org/page/NB_Domain_and_Object_Transitions#Domain_Transition allow monetdbd_t mserver5_t:process transition; allow monetdbd_t mserver5_exec_t:file { execute open read getattr }; 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 @@ -25,65 +25,9 @@ stdout of test 'upgrade` in directory 's Ready. -Running database upgrade commands: -set schema "sys"; -delete from sys._columns where table_id = (select id from sys._tables where name = 'connections' and schema_id = (select id from sys.schemas where name = 'sys')); -delete from sys._tables where name = 'connections' and schema_id = (select id from sys.schemas where name = 'sys'); -update sys.functions set side_effect = false where name in ('like', 'ilike') and schema_id = (select id from sys.schemas where name = 'sys'); -drop function sys.malfunctions; -create function sys.malfunctions() returns table("module" string, "function" string, "signature" string, "address" string, "comment" string) external name "manual"."functions"; -drop function sys.optimizer_stats(); -create function sys.optimizer_stats() returns table (optname string, count int, timing bigint) external name inspect.optimizer_stats; -insert into sys.systemfunctions (select id from sys.functions where name in ('malfunctions', 'optimizer_stats') and schema_id = (select id from sys.schemas where name = 'sys') and id not in (select function_id from sys.systemfunctions)); -create function profiler.getlimit() returns integer external name profiler.getlimit; -create procedure profiler.setlimit(lim integer) external name profiler.setlimit; -drop procedure profiler.setpoolsize; -drop procedure profiler.setstream; -insert into sys.systemfunctions (select id from sys.functions where name in ('getlimit', 'setlimit') and schema_id = (select id from sys.schemas where name = 'profiler') and id not in (select function_id from sys.systemfunctions)); -ALTER TABLE sys.keywords SET READ ONLY; -ALTER TABLE sys.table_types SET READ ONLY; -ALTER TABLE sys.dependency_types SET READ ONLY; -CREATE TABLE sys.function_types ( -function_type_id SMALLINT NOT NULL PRIMARY KEY, -function_type_name VARCHAR(30) NOT NULL UNIQUE); -INSERT INTO sys.function_types (function_type_id, function_type_name) VALUES -(1, 'Scalar function'), (
MonetDB: Jul2017 - Approve upgrade from new latest release.
Changeset: 33d9b1314f80 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=33d9b1314f80 Modified Files: sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.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.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.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.int128 Branch: Jul2017 Log Message: Approve upgrade from new latest release. diffs (truncated from 39194 to 300 lines): 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 @@ -25,65 +25,9 @@ stdout of test 'upgrade` in directory 's Ready. -Running database upgrade commands: -set schema "sys"; -delete from sys._columns where table_id = (select id from sys._tables where name = 'connections' and schema_id = (select id from sys.schemas where name = 'sys')); -delete from sys._tables where name = 'connections' and schema_id = (select id from sys.schemas where name = 'sys'); -update sys.functions set side_effect = false where name in ('like', 'ilike') and schema_id = (select id from sys.schemas where name = 'sys'); -drop function sys.malfunctions; -create function sys.malfunctions() returns table("module" string, "function" string, "signature" string, "address" string, "comment" string) external name "manual"."functions"; -drop function sys.optimizer_stats(); -create function sys.optimizer_stats() returns table (optname string, count int, timing bigint) external name inspect.optimizer_stats; -insert into sys.systemfunctions (select id from sys.functions where name in ('malfunctions', 'optimizer_stats') and schema_id = (select id from sys.schemas where name = 'sys') and id not in (select function_id from sys.systemfunctions)); -create function profiler.getlimit() returns integer external name profiler.getlimit; -create procedure profiler.setlimit(lim integer) external name profiler.setlimit; -drop procedure profiler.setpoolsize; -drop procedure profiler.setstream; -insert into sys.systemfunctions (select id from sys.functions where name in ('getlimit', 'setlimit') and schema_id = (select id from sys.schemas where name = 'profiler') and id not in (select function_id from sys.systemfunctions)); -ALTER TABLE sys.keywords SET READ ONLY; -ALTER TABLE sys.table_types SET READ ONLY; -ALTER TABLE sys.dependency_types SET READ ONLY; -CREATE TABLE sys.function_types ( -function_type_id SMALLINT NOT NULL PRIMARY KEY, -function_type_name VARCHAR(30) NOT NULL UNIQUE); -INSERT INTO sys.function_types (function_type_id, function_type_name) VALUES -(1, 'Scalar function'), (2, 'Procedure'), (3, 'Aggregate function'), (4, 'Filter function'), (5, 'Function returning a table'), -(6, 'Analytic function'), (7, 'Loader function'); -ALTER TABLE sys.function_types SET READ ONLY; -CREATE TABLE sys.function_languages ( -language_id SMALLINT NOT NULL PRIMARY KEY, -language_name VARCHAR(20) NOT NULL UNIQUE); -INSERT INTO sys.function_languages (language_id, language_name) VALUES -(0, 'Internal C'), (1, 'MAL'), (2, 'SQL'), (3, 'R'), (6, 'Python'), (7, 'Python Mapped'), (8, 'Python2'), (9, 'Python2 Mapped'), (10, 'Python3'), (11, 'Python3 Mapped'); -ALTER TABLE sys.function_languages SET READ ONLY; -CREATE TABLE sys.key_types ( -key_type_id SMALLINT NOT NULL PRIMARY KEY, -key_type_name VARCHAR(15) NOT NULL UNIQUE); -INSERT INTO sys.key_types (key_type_id, key_type_name) VALUES -(0, 'Primary Key'), (1, 'Unique Key'), (2, 'Foreign Key'); -ALTER TABLE sys.key_types SET READ ONLY; -CREATE TABLE sys.index_types ( -index_type_id SMALLINT NOT NULL PRIMARY KEY, -index_type_name VARCHAR(25) NOT NULL UNIQUE); -INSERT INTO sys.index_types (index_type_id, index_type_name) VALUES -(0, 'Hash'), (1, 'Join'), (2, 'Order preserving hash'), (3, 'No-index'), (4, 'Imprint'), (5, 'Ordered'); -ALTER TABLE sys.index_types SET READ ONLY; -CREATE TABLE sys.privilege_codes ( -privilege_code_id INT NOT NULL PRIMARY KEY, -privilege_code_name VARCHAR(30) NOT NULL UNIQUE); -INSERT INTO sys.privilege_codes (privilege_code_id, privilege_code_name) VALUES -(1, 'SELECT'), (2, 'UPDATE'), (4, 'INSERT'), (8, 'DELETE'), (16, 'EXECUTE'), (32, 'GRANT'), -(3, 'SELECT,UPDATE'), (5, 'SELECT,INSERT'), (6, 'INSERT,
MonetDB: jitudf - Put temporary data in DELDIR instead of LEFTDIR.
Changeset: 3814162d083b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3814162d083b Modified Files: sql/backends/monet5/UDF/capi/capi.c Branch: jitudf Log Message: Put temporary data in DELDIR instead of LEFTDIR. diffs (21 lines): diff --git a/sql/backends/monet5/UDF/capi/capi.c b/sql/backends/monet5/UDF/capi/capi.c --- a/sql/backends/monet5/UDF/capi/capi.c +++ b/sql/backends/monet5/UDF/capi/capi.c @@ -607,7 +607,7 @@ static str CUDFeval(Client cntxt, MalBlk // because this will be removed again upon server startup const int RANDOM_NAME_SIZE = 32; char *path = NULL; - const char *prefix = "LEFTOVERS" DIR_SEP_STR; + const char *prefix = "DELETE_ME" DIR_SEP_STR; size_t prefix_size = strlen(prefix); char *leftdirpath; @@ -641,7 +641,7 @@ static str CUDFeval(Client cntxt, MalBlk GDKfree(path); // if LEFTOVERS directory does not exist, create it - leftdirpath = GDKfilepath(0, NULL, LEFTDIR, NULL); + leftdirpath = GDKfilepath(0, NULL, DELDIR, NULL); if (!leftdirpath) { msg = createException(MAL, "cudf.eval", MAL_MALLOC_FAIL); goto wrapup; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: trails - Recovering IOT branch code
Changeset: 4f1f4ff67d1d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4f1f4ff67d1d Modified Files: sql/backends/monet5/Tests/basket00.stable.out sql/backends/monet5/Tests/cquery00.sql sql/backends/monet5/cquery.mal sql/backends/monet5/sql_cquery.c sql/backends/monet5/sql_cquery.h sql/include/sql_catalog.h sql/scripts/50_cquery.sql sql/server/rel_updates.c Branch: trails Log Message: Recovering IOT branch code Compilation of procedures was missing and isStream should be part of isTable macro. diffs (264 lines): diff --git a/sql/backends/monet5/Tests/basket00.stable.out b/sql/backends/monet5/Tests/basket00.stable.out --- a/sql/backends/monet5/Tests/basket00.stable.out +++ b/sql/backends/monet5/Tests/basket00.stable.out @@ -24,11 +24,17 @@ Ready. # 13:08:27 > "mclient" "-lmal" "-ftest" "-Eutf-8" "--host=/var/tmp/mtest-16206" "--port=39158" # 13:08:27 > -#--# -# tt t t t t t t t t # name -# void timestamp str str str int int int int str # type -#--# -#baskets table +#create stream table s_tmp(i integer); +#insert into s_tmp values(1),(2); +[ 2] +#select * from s_tmp; +% sys.s_tmp # table_name +% i # name +% int # type +% 1 # length +[ 1] +[ 2] +#drop table s_tmp; # 13:08:27 > # 13:08:27 > "Done." diff --git a/sql/backends/monet5/Tests/cquery00.sql b/sql/backends/monet5/Tests/cquery00.sql --- a/sql/backends/monet5/Tests/cquery00.sql +++ b/sql/backends/monet5/Tests/cquery00.sql @@ -1,5 +1,5 @@ create stream table testing (a int); -insert into TESTING values(123); +insert into testing values(123); create table results (a int); @@ -15,3 +15,6 @@ select * from results; select * from functions wherE name = 'myfirstcq'; +drop procedure myfirstcq; +drop table results; +drop table testing; diff --git a/sql/backends/monet5/cquery.mal b/sql/backends/monet5/cquery.mal --- a/sql/backends/monet5/cquery.mal +++ b/sql/backends/monet5/cquery.mal @@ -17,9 +17,14 @@ module cquery; +pattern registersql(mod:str, fcn:str) +address CQprocedure +comment "Add a continuous SQL procedure to the Petri-net scheduler. It will analyse +the MAL block to determine the input/output dependencies and firing conditions."; + pattern register(mod:str, fcn:str) address CQregister -comment "Add a continuous MAL plan to the Petri-net scheduler. It will analyse +comment "Add a continuous SQL procedure to the Petri-net scheduler. It will analyse the MAL block to determine the input/output dependencies and firing conditions."; pattern resume(mod:str, fcn:str) diff --git a/sql/backends/monet5/sql_cquery.c b/sql/backends/monet5/sql_cquery.c --- a/sql/backends/monet5/sql_cquery.c +++ b/sql/backends/monet5/sql_cquery.c @@ -372,7 +372,9 @@ CQanalysis(Client cntxt, MalBlkPtr mb, i return msg; } -// locate the SQL procedure in the catalog +/* locate the MAL representation of this operation and extract the flow */ +/* If the operation is not available yet, it should be compiled from its + definition retained in the SQL catalog */ static str CQprocedureStmt(Client cntxt, MalBlkPtr mb, str schema, str nme) { @@ -424,9 +426,9 @@ CQregisterInternal(Client cntxt, str mod return createException(SQL,"cquery.register","Could not find SQL procedure"); mb = s->def; - msg = CQprocedureStmt(cntxt, mb, modnme, fcnnme); - if( msg) - return msg; + //msg = CQprocedureStmt(cntxt, mb, modnme, fcnnme); + //if( msg) + //return msg; sig = getInstrPtr(mb,0); if (pnettop == MAXCQ) @@ -459,6 +461,81 @@ CQregisterInternal(Client cntxt, str mod } str +CQprocedure(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) +{ + str sch= NULL; + str nme= NULL; + + Symbol s = NULL; + MalBlkPtr qry; + str msg = NULL; + InstrPtr p; + //Module scope; + int i; + char name[IDLENGTH]; + + + /* check existing of the pre-compiled and activated function */ + sch = *getArgReference_str(stk, pci, 1); + nme = *getArgReference_str(stk, pci, 2); + snprintf(name,IDLENGTH,"%s_%s",sch,nme); +#ifdef DEBUG_CQUERY + fprintf(stderr,"#cq: register the continues procedure %s.%s()\n",sch,nme); +#endif + + /* check existing of the pre-compiled function */ +#ifdef DEBUG_CQUERY + fprintf(stderr,"#cq: locate a SQL procedure %s.%s()\n",sch,nme); +#endif + msg = CQprocedureStmt(cntxt, mb, sch, nme); + if (msg) + return msg; + s = findSymbolInModule(cntxt->nspace, putName(nme)); + if (s == NULL) + throw(SQL, "cqeury.procedure", "Definition missing"); + qry = s->def; + + chkProgram(cntxt->fdout,cntxt->nspace,qry); + if( qry->errors) + msg = createExce
MonetDB: trails - Intermittent commit
Changeset: 0b1e7dfc855b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0b1e7dfc855b Added Files: monetdb5/optimizer/opt_cquery.c monetdb5/optimizer/opt_cquery.h sql/backends/monet5/Tests/basket00.sql sql/backends/monet5/Tests/dumpbasket.malC sql/scripts/50_cquery.sql Removed Files: sql/backends/monet5/Tests/basket00.malC Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/Tests/stethoscope--help.stable.err monetdb5/optimizer/Makefile.ag monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_support.c monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.mal sql/backends/monet5/40_sql.mal sql/backends/monet5/Makefile.ag sql/backends/monet5/Tests/All sql/backends/monet5/Tests/cquery00.sql sql/backends/monet5/sql_cquery.c sql/backends/monet5/sql_cquery.h sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_scenario.c sql/scripts/Makefile.ag sql/server/rel_psm.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/test/BugTracker-2011/Tests/like_or.Bug-2924.stable.out sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-0.Bug-3063.stable.out sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-1.Bug-3063.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out.int128 sql/test/Tests/setoptimizer.stable.out sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/bugs/Tests/groupby_having_charlength-bug-sf-943566.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/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1.stable.out.int128 sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out Branch: trails Log Message: Intermittent commit diffs (truncated from 2485 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -539,6 +539,23 @@ Ready. [ "bam", "sam_export", "pattern bam.sam_export(output_path:str):void ","sam_exportf;", "Export results in the bam.export table to a SAM file" ] [ "bam", "seq_char", "command bam.seq_char(ref_pos:int, alg_seq:str, alg_pos:int, alg_cigar:str):str ", "seq_char;","Calculate the character in the alignment string (alg_str) that is aligned to position 'ref_pos', conforming to the given cigar string" ] [ "bam", "seq_length", "command bam.seq_length(cigar:str):int ", "seq_length;", "Calculate the real length of a DNA sequence, given its CIGAR string." ] +[ "basket","append", "pattern basket.append(mvc:int, sch:str, tbl:str, col:str, val:any):int ", "BSKTappend;", "Append new tuples to a basket" ] +[ "basket","bind", "pattern basket.bind(mvc:int, sch:str, tbl:str, col:str):bat[:any] ", "BSKTbind;","Access the basket column, if needed add to basket catalog" ] +[ "basket","clear_table", "pattern basket.clear_table(sname:str, tname:str):lng ","mvc_clear_table_wrap;","" ] +[ "basket","commit", "pattern basket.commit(mvc:any, sch:str, tbl:str):int ","BSKTcommit;", "Make the basket available after updates" ] +[ "basket","delete", "pattern basket.delete(mvc:int, sch:str, tbl:str, rid:bat[:oid]):int ", "BSKTdelete;", "Remove tuples from a basket" ] +[ "basket","drop", "pattern basket.drop(mvc:int, sch:str, tbl:str):int ", "BSKTdrop;","Remove the basket" ] +[ "basket","dump", "command basket.dump():void ", "BSKTdump;","Show the baskets table"] +[ "basket","lock", "unsafe pattern basket.lock(mvc:any, sch:str, tbl:str):int ", "BSKTlock;","Lock the basket for private use" ] +[ "basket","register", "pattern basket.register(mvc:int, sch:str, tbl:str, role:int):int ","BSKTregister;","Initialize a new basket based on a specific table definition.\nroles:input =0, output=2" ] +[ "basket","reset","pattern basket.reset(mvc:int, sch:str, tbl:str):int ", "BSKTreset;", "Remove a basket content" ] +[ "basket","status", "pattern basket.status() (seen:bat[:timestamp], sch:bat[:str], tbl:bat[:str], window:bat[:int], stride:bat[:int], events:bat[:int], cyc
MonetDB: trails - Import stuff from old timetrails branch
Changeset: ff05271dce98 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ff05271dce98 Added Files: sql/backends/monet5/Tests/basket00.malC sql/backends/monet5/Tests/basket00.stable.err sql/backends/monet5/Tests/basket00.stable.out sql/backends/monet5/Tests/cq00.sql sql/backends/monet5/Tests/cqcreate.sql sql/backends/monet5/Tests/cqstream00.sql sql/backends/monet5/Tests/cqstream00.stable.err sql/backends/monet5/Tests/cqstream00.stable.out sql/backends/monet5/Tests/cqstream01.sql sql/backends/monet5/Tests/cqstream01.stable.err sql/backends/monet5/Tests/cqstream01.stable.out sql/backends/monet5/Tests/cqstream02.sql sql/backends/monet5/Tests/cqstream02.stable.err sql/backends/monet5/Tests/cqstream02.stable.out sql/backends/monet5/Tests/cqstream03.sql sql/backends/monet5/Tests/cqstream03.stable.err sql/backends/monet5/Tests/cqstream03.stable.out sql/backends/monet5/Tests/cquery00.malC sql/backends/monet5/Tests/cquery00.sql sql/backends/monet5/Tests/cquery00.stable.err sql/backends/monet5/Tests/cquery00.stable.out sql/backends/monet5/Tests/cquery05.sql sql/backends/monet5/Tests/cquery05.stable.err sql/backends/monet5/Tests/cquery05.stable.out sql/backends/monet5/Tests/cquery10.sql sql/backends/monet5/Tests/cquery10.stable.err sql/backends/monet5/Tests/cquery10.stable.out sql/backends/monet5/basket.mal sql/backends/monet5/cquery.mal sql/backends/monet5/sql_basket.c sql/backends/monet5/sql_basket.h sql/backends/monet5/sql_cquery.c sql/backends/monet5/sql_cquery.h Modified Files: sql/backends/monet5/Makefile.ag sql/backends/monet5/Tests/All sql/server/rel_psm.c sql/server/rel_semantic.c sql/server/sql_parser.h sql/server/sql_parser.y sql/server/sql_scan.c Branch: trails Log Message: Import stuff from old timetrails branch diffs (truncated from 3796 to 300 lines): diff --git a/sql/backends/monet5/Makefile.ag b/sql/backends/monet5/Makefile.ag --- a/sql/backends/monet5/Makefile.ag +++ b/sql/backends/monet5/Makefile.ag @@ -63,7 +63,7 @@ headers_mal = { HEADERS = mal DIR = libdir/monetdb5 SOURCES = sql_aggr_bte.mal sql_aggr_flt.mal sql_aggr_dbl.mal sql_aggr_int.mal sql_aggr_lng.mal \ - sql_aggr_sht.mal sql_decimal.mal sql_inspect.mal wlr.mal \ + sql_aggr_sht.mal sql_decimal.mal sql_inspect.mal wlr.mal basket.mal cquery.mal \ sql_rank.mal sqlcatalog.mal sql_transaction.mal sql.mal } diff --git a/sql/backends/monet5/Tests/All b/sql/backends/monet5/Tests/All --- a/sql/backends/monet5/Tests/All +++ b/sql/backends/monet5/Tests/All @@ -77,3 +77,19 @@ limithack shutdown HAVE_HGE?int_notation_1e5 +basket00 + +epoch + +cq00 + +cquery00 +cquery05 +cquery10 + +cqstream00 +cqstream01 +cqstream02 +cqstream03 +cqstream08 + diff --git a/sql/backends/monet5/Tests/basket00.malC b/sql/backends/monet5/Tests/basket00.malC new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/basket00.malC @@ -0,0 +1,7 @@ +#simple test for basket management + +(seen:bat[:timestamp],sch:bat[:str],tbl:bat[:str],window:bat[:int], stride:bat[:int],events:bat[:int],cycles:bat[:int], error:bat[:str]) := basket.status(); + +io.print(seen,sch,tbl,window,stride,events,cycles,error); + +basket.dump(); diff --git a/sql/backends/monet5/Tests/basket00.stable.err b/sql/backends/monet5/Tests/basket00.stable.err new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/basket00.stable.err @@ -0,0 +1,34 @@ +stderr of test 'basket00` in directory 'sql/backends/monet5` itself: + + +# 13:08:26 > +# 13:08:26 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=39158" "--set" "mapi_usock=/var/tmp/mtest-16206/.s.monetdb.39158" "--set" "monet_prompt=" "--forcemito" "--dbpath=/export/scratch1/mk/cquery//Linux/var/MonetDB/mTests_sql_backends_monet5" +# 13:08:26 > + +# builtin opt gdk_dbpath = /export/scratch1/mk/cquery//Linux/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 39158 +# cmdline opt mapi_usock = /var/tmp/mtest-16206/.s.monetdb.39158 +# cmdline opt monet_prompt = +# cmdline opt gdk_dbpath = /export/scratch1/mk/cquery//Linux/var/MonetDB/mTests_sql_backends_monet5 +# cmdline opt gdk_debug = 536870922 + +# 13:08:27 > +# 13:08:27 > "mclient" "-lmal" "-ftest" "-Eutf-8" "--host=/var/tmp/mte
MonetDB: timetrails - Remove old code
Changeset: 9c01631ead5c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9c01631ead5c Removed Files: sql/backends/monet5/timetrails/70_timetrails.mal sql/backends/monet5/timetrails/70_timetrails.sql sql/backends/monet5/timetrails/Makefile.ag sql/backends/monet5/timetrails/timetrails.c sql/backends/monet5/timetrails/timetrails.h sql/backends/monet5/timetrails/timetrails.mal Branch: timetrails Log Message: Remove old code diffs (224 lines): diff --git a/sql/backends/monet5/timetrails/70_timetrails.mal b/sql/backends/monet5/timetrails/70_timetrails.mal deleted file mode 100644 --- a/sql/backends/monet5/timetrails/70_timetrails.mal +++ /dev/null @@ -1,10 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# Copyright 1997 - July 2008 CWI, August 2008 - 2017 MonetDB B.V. - -# This announces the UDF module to the MAL interpreter - -include timetrails; - diff --git a/sql/backends/monet5/timetrails/70_timetrails.sql b/sql/backends/monet5/timetrails/70_timetrails.sql deleted file mode 100644 --- a/sql/backends/monet5/timetrails/70_timetrails.sql +++ /dev/null @@ -1,85 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# Copyright 1997 - July 2008 CWI, August 2008 - 2017 MonetDB B.V. - - -CREATE SCHEMA timetrails; - -CREATE TABLE timetrails.metrics ( - name string PRIMARY KEY, - auth string,--(for later) The owner ticket for this metric - credit integer, --(for later)The volume of data allowed for this metric - precision string , --time stamp precision {millisecond,second,minute,hour,day,month,year, null} - retention string, --time stamp interval {millisecond,second,minute,hour,day,month,year, null} - threshold integer, --max rows delayed in the Guardian cache - heartbeat integer, -- maximum delay (in ms) before forwarding - frozen boolean,--once defined its structure can not be changed - title string,--informative title - description string --short explanation -); - - ---Return the names of all known metric relations -CREATE FUNCTION timetrails.metrics() -RETURNS TABLE (metric string) -BEGIN -RETURN SELECT m.name FROM timetrails.metrics m ORDER BY m.name; -END; - ---Return the tags associated with a metric relation -CREATE FUNCTION timetrails.tags(metric string) -RETURNS TABLE (colname string) -BEGIN - RETURN SELECT o.name AS colname - FROM sys.objects o, sys.tables t, sys.keys k - WHERE o.id = k.id AND k.table_id = t.id AND t.name = metric ORDER BY o.nr; -END; - ---Return the measure names for a metric relation -CREATE FUNCTION timetrails.fields(metric string) -RETURNS TABLE (colname string) -BEGIN - RETURN SELECT c.name -FROM sys.columns c, sys.tables t -WHERE t.name= metric AND t.id = c.table_id AND - c.name NOT IN (SELECT o.name AS colname -FROM sys.objects o, sys.tables tt, sys.keys k WHERE o.id = k.id AND k.table_id = tt.id AND tt.name = metric ); -END; - ---Return the preferred message layout and their type -CREATE FUNCTION timetrails.getLayout(metric string) -RETURNS TABLE( name string, type string) -BEGIN - RETURN SELECT c.name, c.type FROM timetrails.metrics m, sys.tables t, sys.columns c WHERE m.name = metric AND t.name = m.name and c.table_id= t.id; -END; - ---Return the time precision for a metric relation -CREATE FUNCTION timetrails.getPrecision(metric string) -RETURNS string -BEGIN - RETURN SELECT m.precision FROM timetrails.metrics m WHERE m.name = metric; -END; - ---Return the retention period of a metric relation -CREATE FUNCTION timetrails.getRetention(metric string) -RETURNS string -BEGIN - RETURN SELECT m.retention FROM timetrails.metrics m WHERE m.name = metric; -END; - ---Return the title annotation -CREATE FUNCTION timetrails.getTitle(metric string) -RETURNS string -BEGIN - RETURN SELECT m.title FROM timetrails.metrics m WHERE m.name = metric; -END; - ---Return the short help on a metric relation -CREATE FUNCTION timetrails.getDescription(metric string) -RETURNS string -BEGIN - RETURN SELECT m.description FROM timetrails.metrics m WHERE m.name = metric; -END; - diff --git a/sql/backends/monet5/timetrails/Makefile.ag b/sql/backends/monet5/timetrails/Makefile.ag deleted file mode 100644 --- a/sql/backends/monet5/timetrails/Makefile.ag +++ /dev/null @@ -1,46 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# Copyright 1997 - July 2008 CWI, August 2008 - 2017 MonetDB B.V. - -INCL
MonetDB: timetrails - Closing this branch
Changeset: f4d978f2d911 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f4d978f2d911 Branch: timetrails Log Message: Closing this branch A clean start has been created using the 'trails' branch ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: acticloud - Merge with Jul2017
Changeset: 961a8f248e9c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=961a8f248e9c Modified Files: buildtools/selinux/monetdb.te Branch: acticloud Log Message: Merge with Jul2017 diffs (12 lines): diff --git a/buildtools/selinux/monetdb.te b/buildtools/selinux/monetdb.te --- a/buildtools/selinux/monetdb.te +++ b/buildtools/selinux/monetdb.te @@ -14,7 +14,7 @@ init_daemon_domain(monetdbd_t, monetdbd_ # mserver5_exec_t which must then transition to the mserver5_t domain type mserver5_t; # mserver5 when run by monetdbd (monetdbd_t) type mserver5_exec_t; # /usr/bin/mserver5 -application_domain(mserver5_t, mserver5_exec_t) +init_daemon_domain(mserver5_t, mserver5_exec_t) # see https://selinuxproject.org/page/NB_Domain_and_Object_Transitions#Domain_Transition allow monetdbd_t mserver5_t:process transition; allow monetdbd_t mserver5_exec_t:file { execute open read getattr }; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: exanest - Merge with Jul2017
Changeset: 60417e7ecbef for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=60417e7ecbef Added Files: ChangeLog.Jul2017 NT/mkgeomwxs.py NT/mkodbcwxs.py NT/mksqlwxs.py buildtools/ChangeLog.Jul2017 buildtools/selinux/monetdb.fc buildtools/selinux/monetdb.if buildtools/selinux/monetdb.te clients/ChangeLog.Jul2017 clients/mapiclient/dotfile.py clients/mapiclient/mhelp.c clients/mapiclient/mhelp.h clients/mapilib/ChangeLog.Jul2017 common/stream/ChangeLog.Jul2017 debian/libmonetdb-client9.install debian/libmonetdb15.install gdk/ChangeLog.Jul2017 geom/ChangeLog.Jul2017 monetdb5/ChangeLog.Jul2017 monetdb5/mal/Tests/malids.malC monetdb5/mal/Tests/malids.stable.err monetdb5/mal/Tests/malids.stable.out monetdb5/modules/kernel/Tests/math.malC monetdb5/modules/kernel/Tests/math.stable.err monetdb5/modules/kernel/Tests/math.stable.out monetdb5/modules/mal/oltp.c monetdb5/modules/mal/oltp.h monetdb5/modules/mal/oltp.mal monetdb5/optimizer/Tests/tst4006.malC monetdb5/optimizer/Tests/tst4006.stable.err monetdb5/optimizer/Tests/tst4006.stable.out monetdb5/optimizer/opt_oltp.c monetdb5/optimizer/opt_oltp.h sql/ChangeLog.Jul2017 sql/backends/monet5/Tests/createorreplace.sql sql/backends/monet5/Tests/createorreplace.stable.err sql/backends/monet5/Tests/createorreplace.stable.out sql/backends/monet5/Tests/dbextra_lock_test.py sql/backends/monet5/Tests/dbextra_lock_test.stable.err sql/backends/monet5/Tests/dbextra_lock_test.stable.out sql/backends/monet5/Tests/pyapi34.sql sql/backends/monet5/Tests/pyapi34.stable.err sql/backends/monet5/Tests/pyapi34.stable.out sql/backends/monet5/Tests/shutdown.py sql/backends/monet5/Tests/shutdown.stable.err sql/backends/monet5/Tests/shutdown.stable.out sql/backends/monet5/UDF/pyapi/conversion.c sql/backends/monet5/UDF/pyapi/conversion.h sql/backends/monet5/UDF/pyapi/pyheader.h sql/backends/monet5/UDF/pyapi/undef.h sql/backends/monet5/UDF/pyapi3/50_pyapi3.mal sql/backends/monet5/UDF/pyapi3/Makefile.ag sql/backends/monet5/UDF/pyapi3/Tests/All sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_00.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_00.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_00.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_01.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_01.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_01.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_02.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_02.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_02.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_03.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_03.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_03.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_04.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_04.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_04.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_05.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_05.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_05.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_06.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_06.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_06.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_07.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_07.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_07.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_09.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_09.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_09.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_11.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_11.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_11.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_12.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_12.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_12.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_13.SQL.sh sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_13.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_13.stable.out sql/backends/monet5/UDF/pyapi3/Tests/p
MonetDB: exanest - Merge with Dec2016
Changeset: 748b0b321f0c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=748b0b321f0c Added Files: sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.err.Windows sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.out.Windows sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.sql sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.out sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.out.int128 sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.sql sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.err sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out.int128 sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.sql sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.err sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.out sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.sql sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.stable.err sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.stable.out sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.sql sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.err sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.out sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.err sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.out Removed Files: sql/test/pg_regress/Tests/oid.stable.out.oid32 sql/test/pg_regress/Tests/without_oid.stable.out.oid32 Modified Files: .hgtags MonetDB.spec NT/installer32/MonetDB-ODBC-Installer.vdproj NT/installer32/MonetDB5-Geom-Module.vdproj NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB-ODBC-Installer.vdproj NT/installer64/MonetDB5-Geom-Module.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj NT/monetdb_config.h.in NT/rules.msc clients/ChangeLog.Dec2016 clients/mapilib/mapi.rc clients/odbc/driver/SQLTables.c clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc common/stream/stream.c configure.ag gdk/gdk_bat.c gdk/gdk_bbp.c gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_select.c gdk/gdk_utils.c gdk/libbat.rc monetdb5/modules/kernel/status.c monetdb5/modules/mal/bbp.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/mdb.c monetdb5/modules/mal/remote.c monetdb5/tools/libmonetdb5.rc sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_statistics.c sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_optimizer.c sql/server/rel_updates.c sql/storage/store.c 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-2009/Tests/use_order_column_first.SF-2686008.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.stable.out sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql sql/test/BugTracker-2011/Tests/count-count-distinct.Bug-2808.sql sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128 sql/test/BugTracker-2012/Tests/aggregate_vs_positional_column_crash.Bug-3085.sql sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.sql sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.sql sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out sql/test/BugTracker-2013/Tests/rangejoin_optimizer.Bug-3411.stable.out sql/test/BugTracker-2013/Tests/swapped_likejoin.Bug-3375.sql sql/test/BugTracker-2013/Tests/swapped_likejoin.Bug-3375.stable.out sql/test/BugTracker-2014/Tests/select-having.Bug-3458.sql sql/test/BugTracker-2015/Tests/cardinality.Bug-3761.sql sql/test/BugTracker-2015/Tests/cardinality.Bug-3761.stable.out sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out