MonetDB: Jul2017 - fixes for bug 6379
Changeset: 471a91ee613d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=471a91ee613d Modified Files: sql/server/rel_select.c Branch: Jul2017 Log Message: fixes for bug 6379 diffs (12 lines): 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 @@ -649,6 +649,8 @@ rel_named_table_function(mvc *sql, sql_r if (!f->rel || !rel || !sf) return NULL; } + if (!sf) + return NULL; exps = list_dup(exps, NULL); append(exps, tid); e = exp_op(sql->sa, exps, sf); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: trails - Added stream table parameters at time of their...
Changeset: 915cd0653e7e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=915cd0653e7e Modified Files: sql/backends/monet5/Tests/cqcreate.sql sql/backends/monet5/Tests/cquery00.stable.err sql/backends/monet5/Tests/cquery06.stable.err sql/backends/monet5/basket.mal sql/backends/monet5/sql.c sql/backends/monet5/sql_basket.c sql/backends/monet5/sql_basket.h sql/backends/monet5/sql_cquery.c sql/include/sql_catalog.h sql/scripts/50_cquery.sql sql/server/rel_psm.c sql/server/rel_schema.c sql/server/rel_schema.h sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/server/sql_privileges.c sql/server/sql_scan.c sql/storage/sql_storage.h sql/storage/store.c Branch: trails Log Message: Added stream table parameters at time of their creation ( CREATE STREAM TABLE qname ... SET WINDOW intval STRIDE intval ) The window and stride parameters are then used in the baskets during continuous queries. Still there is a lot of debugging to be done. diffs (truncated from 1405 to 300 lines): diff --git a/sql/backends/monet5/Tests/cqcreate.sql b/sql/backends/monet5/Tests/cqcreate.sql --- a/sql/backends/monet5/Tests/cqcreate.sql +++ b/sql/backends/monet5/Tests/cqcreate.sql @@ -6,3 +6,7 @@ CREATE PROCEDURE stressing() BEGIN INSER START CONTINUOUS stressing(); STOP CONTINUOUS stressing(); + +DROP PROCEDURE stressing; +DROP TABLE results; +DROP TABLE testing; diff --git a/sql/backends/monet5/Tests/cquery00.stable.err b/sql/backends/monet5/Tests/cquery00.stable.err --- a/sql/backends/monet5/Tests/cquery00.stable.err +++ b/sql/backends/monet5/Tests/cquery00.stable.err @@ -44,6 +44,7 @@ QUERY = # some simple MAL tests + # 22:29:14 > # 22:29:14 > "Done." # 22:29:14 > diff --git a/sql/backends/monet5/Tests/cquery06.stable.err b/sql/backends/monet5/Tests/cquery06.stable.err --- a/sql/backends/monet5/Tests/cquery06.stable.err +++ b/sql/backends/monet5/Tests/cquery06.stable.err @@ -31,6 +31,7 @@ MAPI = (monetdb) /var/tmp/mtest-24395/. QUERY = pause continuous cq_basic06(); --error + # 10:26:39 > # 10:26:39 > "Done." # 10:26:39 > diff --git a/sql/backends/monet5/basket.mal b/sql/backends/monet5/basket.mal --- a/sql/backends/monet5/basket.mal +++ b/sql/backends/monet5/basket.mal @@ -77,7 +77,7 @@ pattern drop(mvc:int,sch:str,tbl:str):in address BSKTdrop comment "Remove the basket"; -pattern status() (seen:bat[:timestamp],sch:bat[:str],tbl:bat[:str], window:bat[:int], stride:bat[:int],events:bat[:int],cycles:bat[:int], error:bat[:str]) +pattern status() (seen:bat[:timestamp],sch:bat[:str],tbl:bat[:str], window:bat[:int], stride:bat[:int],events:bat[:int], error:bat[:str]) address BSKTstatus comment "Show the status of the baskets"; diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -282,6 +282,7 @@ create_table_or_view(mvc *sql, char *sna sql_schema *s = mvc_bind_schema(sql, sname); sql_table *nt = NULL; node *n; + int window_size, stride; (void)tname; if (STORE_READONLY) @@ -322,7 +323,10 @@ create_table_or_view(mvc *sql, char *sna } } - nt = sql_trans_create_table(sql->session->tr, s, t->base.name, t->query, t->type, t->system, temp, t->commit_action, t->sz); + window_size = isStream(t) ? t->stream->window : 0; + stride = isStream(t) ? t->stream->stride : 0; + + nt = sql_trans_create_table(sql->session->tr, s, t->base.name, t->query, t->type, t->system, temp, t->commit_action, t->sz, window_size, stride); for (n = t->columns.set->h; n; n = n->next) { sql_column *c = n->data; diff --git a/sql/backends/monet5/sql_basket.c b/sql/backends/monet5/sql_basket.c --- a/sql/backends/monet5/sql_basket.c +++ b/sql/backends/monet5/sql_basket.c @@ -47,8 +47,8 @@ BSKTlocate(str sch, str tbl) if( sch == 0 || tbl == 0) return 0; for (i = 1; i < bsktTop; i++) - if (baskets[i].schema && strcmp(sch, baskets[i].schema) == 0 && - baskets[i].table && strcmp(tbl, baskets[i].table) == 0) + if (baskets[i].table && baskets[i].table->s && strcmp(sch, baskets[i].table->s->base.name) == 0 && + baskets[i].table && strcmp(tbl, baskets[i].table->base.name) == 0) return i; return 0; } @@ -90,70 +90,21 @@ BSKTclean(int idx) { int i; if( idx){ - GDKfree(baskets[idx].schema); - GDKfree(baskets[idx].table); - GDKfree(baskets[idx].error); - baskets[idx].schema = NULL; + if(baskets[idx].error) + GDKfree(baskets[idx].error); baskets[idx].table = NULL;
MonetDB: data-vaults - Approve output
Changeset: ec53d25b772b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec53d25b772b Modified Files: sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 Branch: data-vaults Log Message: Approve output diffs (truncated from 492 to 300 lines): diff --git a/sql/test/emptydb/Tests/check.stable.out b/sql/test/emptydb/Tests/check.stable.out --- a/sql/test/emptydb/Tests/check.stable.out +++ b/sql/test/emptydb/Tests/check.stable.out @@ -140,6 +140,17 @@ Ready. \dSf sys."fitsload" \dSf sys."flush_log" \dSf sys."fuse" +\dSf sys."gadgetanalyzetab" +\dSf sys."gadgetattach" +\dSf sys."gadgetattachall" +\dSf sys."gadgetchecktab" +\dSf sys."gadgetlistdir" +\dSf sys."gadgetlistdirall" +\dSf sys."gadgetlistdirpat" +\dSf sys."gadgetload" +\dSf sys."gadgetloadall" +\dSf sys."gadgetphkeyconvert" +\dSf sys."gadgetphkeyinvert" \dSf sys."generate_series" \dSf sys."geometrytype" \dSf sys."get_type" @@ -170,9 +181,12 @@ Ready. \dSf sys."isauuid" \dSf sys."left_shift" \dSf sys."left_shift_assign" +\dSf sys."lidaranalyzetab" \dSf sys."lidarattach" +\dSf sys."lidarchecktab" \dSf sys."lidarexport" \dSf sys."lidarload" +\dSf sys."lidarunload" \dSf sys."like" \dSf sys."listdir" \dSf sys."listdirpat" @@ -481,6 +495,17 @@ SYSTEM FUNCTION sys.fitsload SYSTEM FUNCTION sys.floor SYSTEM FUNCTION sys.flush_log SYSTEM FUNCTION sys.fuse +SYSTEM FUNCTION sys.gadgetanalyzetab +SYSTEM FUNCTION sys.gadgetattach +SYSTEM FUNCTION sys.gadgetattachall +SYSTEM FUNCTION sys.gadgetchecktab +SYSTEM FUNCTION sys.gadgetlistdir +SYSTEM FUNCTION sys.gadgetlistdirall +SYSTEM FUNCTION sys.gadgetlistdirpat +SYSTEM FUNCTION sys.gadgetload +SYSTEM FUNCTION sys.gadgetloadall +SYSTEM FUNCTION sys.gadgetphkeyconvert +SYSTEM FUNCTION sys.gadgetphkeyinvert SYSTEM FUNCTION sys.generate_series SYSTEM FUNCTION sys.geometrytype SYSTEM FUNCTION sys.get_type @@ -524,9 +549,12 @@ SYSTEM FUNCTION sys.left_shift SYSTEM FUNCTION sys.left_shift_assign SYSTEM FUNCTION sys.length SYSTEM FUNCTION sys.levenshtein +SYSTEM FUNCTION sys.lidaranalyzetab SYSTEM FUNCTION sys.lidarattach +SYSTEM FUNCTION sys.lidarchecktab SYSTEM FUNCTION sys.lidarexport SYSTEM FUNCTION sys.lidarload +SYSTEM FUNCTION sys.lidarunload SYSTEM FUNCTION sys.like SYSTEM FUNCTION sys.listdir SYSTEM FUNCTION sys.listdirpat @@ -900,6 +928,17 @@ create procedure sys.flush_log () extern create function fuse(one integer, two integer) returns bigint external name udf.fuse; create function fuse(one smallint, two smallint) returns integer external name udf.fuse; create function fuse(one tinyint, two tinyint) returns smallint external name udf.fuse; +create procedure gadgetanalyzetab(status int, tname string) external name gadget.analyzetab; +create procedure gadgetattach(fname string) external name gadget.attach; +create procedure gadgetattachall(*) external name gadget.attachall; +create procedure gadgetchecktab(tname string) external name gadget.checktab; +create procedure gadgetlistdir(dname string) external name gadget.listdir; +create procedure gadgetlistdirall(dname string) external name gadget.listdirall; +create procedure gadgetlistdirpat(dname string, pattern string) external name gadget.listdirpattern; +create procedure gadgetload(tname string) external name gadget.load; +create procedure gadgetloadall(tname string) external name gadget.loadall; +create function gadgetphkeyconvert(x real, y real, z real, basesize real, nbits int) returns bigint external name gadget.phkeyconvert; +create function gadgetphkeyinvert(phkey bigint, basesize real, nbits int) returns table (x real, y real, z real, csize real) external name gadget.phkeyinvert; create function sys.generate_series(first bigint, last bigint) returns table (value bigint) external name generator.series; create function sys.generate_series(first bigint, last bigint, stepsize bigint) returns table (value bigint) external name generator.series; create function sys.generate_series(first decimal(10,2), last decimal(10,2), stepsize decimal(10,2)) returns table (value decimal(10,2)) external name generator.series; @@ -942,9 +981,14 @@ create function isaurl(theurl url) retur create function sys.isauuid(s string) returns boolean external name uuid."isaUUID"; create function "left_shift"(i1 inet, i2 inet) returns boolean external name inet."<<"; create function "left_shift_assign"(i1 inet, i2 inet) returns boolean external name inet."<<="; +create procedure lidaranalyzetab(status int, tname string) external name lidar.analyzetab; create procedure lidarattach(fname string) external name lidar.attach; +create procedure lidarattach(fname string, tname string) external name lidar.attach; +create procedure lidarattach(fname string, tname string, params string) external name lidar.attach; +create procedure lidarchecktab(tname string) external name
MonetDB: data-vaults - Merge with default
Changeset: 3801aa917e55 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3801aa917e55 Added Files: buildtools/selinux/monetdb.fc buildtools/selinux/monetdb.if buildtools/selinux/monetdb.te debian/libmonetdb-client9.install debian/libmonetdb15.install sql/backends/monet5/Tests/pyloader08.sql sql/backends/monet5/Tests/pyloader08.stable.err sql/backends/monet5/Tests/pyloader08.stable.out sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.SQL.bat sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.SQL.sh sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.stable.err sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.stable.out sql/test/BugTracker-2017/Tests/extract_quarter_week_from_date.Bug-3831.sql sql/test/BugTracker-2017/Tests/extract_quarter_week_from_date.Bug-3831.stable.err sql/test/BugTracker-2017/Tests/extract_quarter_week_from_date.Bug-3831.stable.out sql/test/BugTracker-2017/Tests/groupby_assertion.Bug-6338.sql sql/test/BugTracker-2017/Tests/handle-values-subqueries.Bug-6336.sql sql/test/BugTracker-2017/Tests/handle-values-subqueries.Bug-6336.stable.err sql/test/BugTracker-2017/Tests/handle-values-subqueries.Bug-6336.stable.out sql/test/BugTracker-2017/Tests/multiplevalues.Bug-6336.sql sql/test/BugTracker-2017/Tests/name-interference.Bug-6348.sql sql/test/BugTracker-2017/Tests/spurious_error.Bug-6344.sql Removed Files: debian/libmonetdb-client8.install debian/libmonetdb13.install Modified Files: .hgignore .hgtags ChangeLog ChangeLog-Archive ChangeLog.Jul2017 MonetDB.spec NT/monetdb_config.h.in buildtools/ChangeLog-Archive buildtools/Makefile.ag clients/ChangeLog clients/ChangeLog-Archive clients/ChangeLog.Jul2017 clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/eventparser.c clients/mapiclient/eventparser.h clients/mapiclient/mhelp.c clients/mapiclient/mnc.c clients/mapiclient/stethoscope.c clients/mapilib/mapi.c common/stream/stream.c common/stream/stream.h common/utils/mutils.c common/utils/prompt.c configure.ag debian/changelog debian/control debian/monetdb5-sql.install gdk/ChangeLog-Archive gdk/ChangeLog.Jul2017 gdk/gdk_bbp.c gdk/gdk_posix.c gdk/gdk_posix.h gdk/gdk_storage.c gdk/gdk_system.h gdk/gdk_utils.c gdk/gdk_value.c libversions monetdb5/ChangeLog-Archive monetdb5/ChangeLog.Jul2017 monetdb5/extras/rapi/rapi.c monetdb5/mal/mal.c monetdb5/mal/mal_client.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_linker.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_private.h monetdb5/mal/mal_profiler.c monetdb5/mal/mal_readline.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_runtime.c monetdb5/mal/mal_scenario.c monetdb5/mal/mal_session.c monetdb5/mal/mal_type.c monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/mcurl.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime.h monetdb5/modules/atoms/mtime.mal monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/mmath.c monetdb5/modules/mal/Tests/inspect00.stable.out monetdb5/modules/mal/calc.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/remote.c monetdb5/optimizer/opt_dataflow.c monetdb5/optimizer/opt_garbageCollector.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_pushselect.c sql/ChangeLog-Archive sql/ChangeLog.Jul2017 sql/NT/dump-restore.rst sql/backends/monet5/Tests/pyloader01.stable.out sql/backends/monet5/Tests/pyloader02.stable.out sql/backends/monet5/Tests/pyloader03.stable.out sql/backends/monet5/Tests/pyloader04.stable.out sql/backends/monet5/Tests/pyloader05.stable.out sql/backends/monet5/UDF/pyapi/connection.c sql/backends/monet5/UDF/pyapi/connection.h sql/backends/monet5/UDF/pyapi/pyapi.c sql/backends/monet5/UDF/pyapi/pyapi_locatepython.bat sql/backends/monet5/UDF/pyapi/pyheader.h sql/backends/monet5/UDF/pyapi/pyloader.c sql/backends/monet5/mal_backend.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_scenario.c
MonetDB: default - Approve stethoscope help test
Changeset: 7f53e0ab6390 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7f53e0ab6390 Modified Files: clients/mapiclient/Tests/stethoscope--help.stable.err Branch: default Log Message: Approve stethoscope help test diffs (13 lines): diff --git a/clients/mapiclient/Tests/stethoscope--help.stable.err b/clients/mapiclient/Tests/stethoscope--help.stable.err --- a/clients/mapiclient/Tests/stethoscope--help.stable.err +++ b/clients/mapiclient/Tests/stethoscope--help.stable.err @@ -16,7 +16,9 @@ stethoscope [options] -P | --password= -p | --port= -h | --host= + -c | --convert= -j | --json + -y | --pretty (implies --json) -o | --output= -b | --beat= in milliseconds (default 50) -D | --debug ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jul2017 - fixes for bug 6353, ie handle NULL in rel_rea...
Changeset: d876a2cc5823 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d876a2cc5823 Modified Files: sql/server/rel_dump.c Branch: Jul2017 Log Message: fixes for bug 6353, ie handle NULL in rel_read better diffs (15 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 @@ -857,7 +857,10 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re tname = b; tpe = sql_bind_subtype(sql->sa, tname, 0, 0); st = readString(r,pos); - exp = exp_atom(sql->sa, atom_general(sql->sa, tpe, st)); + if (st && strcmp(st, "NULL") == 0) + exp = exp_atom(sql->sa, atom_general(sql->sa, tpe, NULL)); + else + exp = exp_atom(sql->sa, atom_general(sql->sa, tpe, st)); skipWS(r, pos); break; default: ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: data-vaults - Merge with default
Changeset: cd1d450187fd for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cd1d450187fd Modified Files: clients/mapiclient/Tests/stethoscope--help.stable.err Branch: data-vaults Log Message: Merge with default diffs (13 lines): diff --git a/clients/mapiclient/Tests/stethoscope--help.stable.err b/clients/mapiclient/Tests/stethoscope--help.stable.err --- a/clients/mapiclient/Tests/stethoscope--help.stable.err +++ b/clients/mapiclient/Tests/stethoscope--help.stable.err @@ -16,7 +16,9 @@ stethoscope [options] -P | --password= -p | --port= -h | --host= + -c | --convert= -j | --json + -y | --pretty (implies --json) -o | --output= -b | --beat= in milliseconds (default 50) -D | --debug ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: trails - Added alter statements for streaming tables (w...
Changeset: aaf1a390321b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aaf1a390321b Modified Files: monetdb5/modules/mal/wlc.mal monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h sql/backends/monet5/Tests/cqstream00.sql sql/backends/monet5/Tests/cqstream01.sql sql/backends/monet5/Tests/cqstream03.sql sql/backends/monet5/basket.mal sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_basket.c sql/backends/monet5/sql_basket.h sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_cat.h sql/backends/monet5/sql_statement.c sql/backends/monet5/sqlcatalog.mal sql/backends/monet5/wlr.mal sql/include/sql_catalog.h sql/include/sql_relation.h sql/server/rel_schema.c sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.h sql/server/sql_parser.y sql/storage/sql_storage.h sql/storage/store.c Branch: trails Log Message: Added alter statements for streaming tables (window and stride), e.g ALTER STREAM TABLE qname SET WINDOW 99 That's everything required in the SQL layer for now. diffs (truncated from 994 to 300 lines): 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 @@ -234,6 +234,10 @@ pattern alter_set_table( sname:str, tnme address WLCgeneric comment "Catalog operation alter_set_table"; +pattern alter_stream_table( sname:str, tnme:str, operation:int, value:int) +address WLCgeneric +comment "Catalog operation alter_stream_table"; + pattern transaction_release(chain:int,name:str):void address WLCgeneric comment "A transaction statement (type can be commit,release,rollback or start)"; diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c --- a/monetdb5/optimizer/opt_prelude.c +++ b/monetdb5/optimizer/opt_prelude.c @@ -40,6 +40,7 @@ str alter_triggerRef; str alter_add_tableRef; str alter_del_tableRef; str alter_set_tableRef; +str alter_stream_tableRef; str attachRef; str avgRef; str batRef; @@ -338,6 +339,7 @@ void optimizerInit(void) alter_add_tableRef = putName("alter_add_table"); alter_del_tableRef = putName("alter_del_table"); alter_set_tableRef = putName("alter_set_table"); + alter_stream_tableRef = putName("alter_stream_table"); avgRef = putName("avg"); arrayRef = putName("array"); batRef = putName("bat"); diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h --- a/monetdb5/optimizer/opt_prelude.h +++ b/monetdb5/optimizer/opt_prelude.h @@ -39,6 +39,7 @@ mal_export str alter_triggerRef; mal_export str alter_add_tableRef; mal_export str alter_del_tableRef; mal_export str alter_set_tableRef; +mal_export str alter_stream_tableRef; mal_export str avgRef; mal_export str arrayRef; mal_export str batRef; diff --git a/sql/backends/monet5/Tests/cqstream00.sql b/sql/backends/monet5/Tests/cqstream00.sql --- a/sql/backends/monet5/Tests/cqstream00.sql +++ b/sql/backends/monet5/Tests/cqstream00.sql @@ -1,7 +1,7 @@ -- Example of a stream splitter -create stream table stmp2 (t timestamp, sensor integer, val decimal(8,2)) ; -- SET WINDOW 2 STRIDE 1 -call cquery."window"('sys','stmp2',1); -- consume 1 tuple and tumble 1 from this stream +-- call cquery."window"('sys','stmp2',1); -- consume 1 tuple and tumble 1 from this stream +create stream table stmp2 (t timestamp, sensor integer, val decimal(8,2)) set window 2; --select * from cquery.streams(); insert into stmp2 values('2005-09-23 12:34:26.000',1,11.0); diff --git a/sql/backends/monet5/Tests/cqstream01.sql b/sql/backends/monet5/Tests/cqstream01.sql --- a/sql/backends/monet5/Tests/cqstream01.sql +++ b/sql/backends/monet5/Tests/cqstream01.sql @@ -12,7 +12,7 @@ create procedure cq_window() begin -- The window ensures a maximal number of tuples to consider -- Could be considered a property of the stream table -call cquery."window"('sys','stmp2',2); + alter stream table 'sys'.'stmp2' set window 2; insert into result2 select * from stmp2 where val >12; end; diff --git a/sql/backends/monet5/Tests/cqstream03.sql b/sql/backends/monet5/Tests/cqstream03.sql --- a/sql/backends/monet5/Tests/cqstream03.sql +++ b/sql/backends/monet5/Tests/cqstream03.sql @@ -1,10 +1,9 @@ -- Introduce firing conditions to the queries themselves. -create stream table tmp13 (t timestamp, sensor integer, val decimal(8,2)) ; -create table agenda13(i integer, msg string); - -- The window determines the input size, it can not be overruled. -- which is overruled here by the hearbeat (order is important) -call cquery."window"('sys','tmp13',2); +--call cquery."window"('sys','tmp13',2); +create stream table tmp13 (t timestamp, sensor integer, val decimal(8,2)) set window 2; +create table agenda13(i
MonetDB: Jul2017 - fixed problem in rel_read, now we also set th...
Changeset: 46c8b0bfab74 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=46c8b0bfab74 Modified Files: monetdb5/mal/mal_client.c sql/server/rel_dump.c sql/server/rel_optimizer.c sql/server/rel_rel.c Branch: Jul2017 Log Message: fixed problem in rel_read, now we also set the type of the projection columns in a set operator. For the op_table operator we now handle the type 2, case (trigger related function calls) everywhere in the code. diffs (113 lines): diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c --- a/monetdb5/mal/mal_client.c +++ b/monetdb5/mal/mal_client.c @@ -334,9 +334,6 @@ MCforkClient(Client father) GDKfree(son->prompt); son->prompt = GDKstrdup(father->prompt); son->promptlength = strlen(father->prompt); - /* reuse the scopes wherever possible */ - if (son->nspace == 0) - son->nspace = newModule(NULL, putName("child")); } return son; } 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 @@ -1081,6 +1081,22 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re return exp; } +static int +rel_set_types(mvc *sql, sql_rel *rel) +{ + list *iexps = rel_projections( sql, rel->l, NULL, 0, 1); + node *n, *m; + + if (!iexps || list_length(iexps) >= list_length(rel->exps)) + return -1; + for(n=iexps->h, m=rel->exps->h; n && m; n = n->next, m = m->next) { + sql_exp *e = m->data; + + e->tpe = *exp_subtype( n->data ); + } + return 0; +} + sql_rel* rel_read(mvc *sql, char *r, int *pos, list *refs) { @@ -1387,9 +1403,13 @@ rel_read(mvc *sql, char *r, int *pos, li (*pos)++; skipWS(r, pos); - exps = read_exps(sql, lrel, rrel, NULL, r, pos, '[', 0); + exps = read_exps(sql, NULL, NULL, NULL, r, pos, '[', 0); rel = rel_setop(sql->sa, lrel, rrel, j); + if (!exps) + return NULL; rel->exps = exps; + if (rel_set_types(sql, rel) < 0) + return NULL; set_processed(rel); return rel; case 'd': diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -5837,7 +5837,7 @@ rel_mark_used(mvc *sql, sql_rel *rel, in case op_basetable: case op_table: - if (rel->op == op_table && rel->l) { + if (rel->op == op_table && rel->l && rel->flag != 2) { rel_used(rel); if (rel->r) exp_mark_used(rel->l, rel->r); @@ -6086,7 +6086,7 @@ rel_dce_refs(mvc *sql, sql_rel *rel) case op_groupby: case op_select: - if (rel->l) + if (rel->l && (rel->op != op_table || rel->flag != 2)) l = rel_dce_refs(sql, rel->l); case op_basetable: @@ -6150,7 +6150,7 @@ rel_dce_down(mvc *sql, sql_rel *rel, lis case op_basetable: case op_table: - if (skip_proj && rel->l && rel->op == op_table) + if (skip_proj && rel->l && rel->op == op_table && rel->flag != 2) rel->l = rel_dce_down(sql, rel->l, refs, 0); if (!skip_proj) rel_dce_sub(sql, rel, refs); @@ -8316,7 +8316,7 @@ rel_apply_rename(mvc *sql, sql_rel *rel) case op_basetable: return rel; case op_table: - if (rel->l) + if (rel->l && rel->flag != 2) rel->l = rel_apply_rename(sql, rel->l); return rel; case op_project: @@ -8483,7 +8483,7 @@ rel_apply_rewrite(int *changes, mvc *sql return l; } /* table function (TODO should output any input cols) */ - if (r->op == op_table && r->l) { + if (r->op == op_table && r->l && rel->flag != 2) { assert(0); r->l = rel->l; return r; diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -104,6 +104,7 @@ rel_copy( sql_allocator *sa, sql_rel *i rel->l = NULL; rel->r = NULL; rel->card = i->card; + rel->flag = i->flag; switch(i->op) { case op_basetable: ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
monetdb-java: default - Settings tag v2.26.
Changeset: f79507689c5d for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=f79507689c5d Modified Files: .hgtags Branch: default Log Message: Settings tag v2.26. diffs (6 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -1,1 +1,2 @@ 80de05f07508fec938845b4a6e05f600bf0b48c0 v2.24 +c43c293f3d5841517cbe0d858108c4da5fb1ec0c v2.26 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
monetdb-java: default - Updated release numbers in preparation f...
Changeset: c43c293f3d58 for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=c43c293f3d58 Modified Files: build.properties pom.xml release.txt Branch: default Log Message: Updated release numbers in preparation for a release. diffs (36 lines): diff --git a/build.properties b/build.properties --- a/build.properties +++ b/build.properties @@ -19,7 +19,7 @@ MCL_MINOR=15 # major release number JDBC_MAJOR=2 # minor release number -JDBC_MINOR=25 +JDBC_MINOR=26 # an additional identifying string JDBC_VER_SUFFIX=Liberica # the default port to connect on, if no port given when using SQL diff --git a/pom.xml b/pom.xml --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ monetdb monetdb-jdbc - 2.25 + 2.26 ${project.groupId}:${project.artifactId} MonetDB JDBC driver https://www.monetdb.org diff --git a/release.txt b/release.txt --- a/release.txt +++ b/release.txt @@ -1,6 +1,6 @@ RELEASE NOTES -MonetDB JDBC driver version 2.25 (Liberica/MCL-1.15) -Release date: 2017-03-30 +MonetDB JDBC driver version 2.26 (Liberica/MCL-1.15) +Release date: 2017-07-28 This JDBC driver is designed for use with MonetDB, a main-memory database. For more information see https://www.monetdb.org/. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
monetdb-java: default - Retroactively added tag v2.25 for change...
Changeset: fd1f55e41bfb for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=fd1f55e41bfb Modified Files: .hgtags Branch: default Log Message: Retroactively added tag v2.25 for changeset a6a2f4ee2d42. diffs (7 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -1,2 +1,3 @@ 80de05f07508fec938845b4a6e05f600bf0b48c0 v2.24 c43c293f3d5841517cbe0d858108c4da5fb1ec0c v2.26 +a6a2f4ee2d42d7e192f9d8d37f79ea99178d7f2c v2.25 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jul2017 - fixed bug 6374, ie clear cached statistics on...
Changeset: 6e732bac4683 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6e732bac4683 Modified Files: sql/backends/monet5/sql_statistics.c Branch: Jul2017 Log Message: fixed bug 6374, ie clear cached statistics on analyze call diffs (16 lines): diff --git a/sql/backends/monet5/sql_statistics.c b/sql/backends/monet5/sql_statistics.c --- a/sql/backends/monet5/sql_statistics.c +++ b/sql/backends/monet5/sql_statistics.c @@ -126,6 +126,12 @@ sql_analyze(Client cntxt, MalBlkPtr mb, if (col && strcmp(bc->name, col)) continue; + /* remove cached value */ + if (c->min) + c->min = NULL; + if (c->max) + c->max = NULL; + if ((bn = store_funcs.bind_col(tr, c, RDONLY)) == NULL) { /* XXX throw error instead? */ continue; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jul2017 - approved output (we don't support deletes on ...
Changeset: 0f52db3d0ee0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0f52db3d0ee0 Modified Files: sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.out Branch: Jul2017 Log Message: approved output (we don't support deletes on merge tables) diffs (35 lines): diff --git a/sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err b/sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err --- a/sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err +++ b/sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err @@ -29,6 +29,15 @@ stderr of test 'delete_from_merge_table. # 17:32:34 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-19147" "--port=31497" # 17:32:34 > +MAPI = (monetdb) /var/tmp/mtest-8392/.s.monetdb.34552 +QUERY = delete from tt where t = 1; +ERROR = !DELETE FROM: cannot delete from merge table 'tt' +MAPI = (monetdb) /var/tmp/mtest-8392/.s.monetdb.34552 +QUERY = delete from tt where t = 2; +ERROR = !DELETE FROM: cannot delete from merge table 'tt' +MAPI = (monetdb) /var/tmp/mtest-8392/.s.monetdb.34552 +QUERY = delete from tt; +ERROR = !DELETE FROM: cannot delete from merge table 'tt' # 17:32:35 > # 17:32:35 > "Done." diff --git a/sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.out b/sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.out --- a/sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.out +++ b/sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.out @@ -81,12 +81,6 @@ Ready. % 1 # length [ 1] [ 2] -#delete from tt where t = 1; -[ 1] -#delete from tt where t = 2; -[ 1] -#delete from tt; -[ 0] #drop table tt cascade; #drop table t1 cascade; #drop table t2 cascade; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Test file fore test 6381
Changeset: cf4289d73bf1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cf4289d73bf1 Added Files: sql/test/BugTracker-2017/Tests/parsererror.Bug-6381.sql Branch: default Log Message: Test file fore test 6381 diffs (29 lines): diff --git a/sql/test/BugTracker-2017/Tests/parsererror.Bug-6381.sql b/sql/test/BugTracker-2017/Tests/parsererror.Bug-6381.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2017/Tests/parsererror.Bug-6381.sql @@ -0,0 +1,24 @@ +create function mycounter1() +returns integer +begin +declare s int; +while (true) +do +set s =1; +end while; +return s; +END; +select * from functions where name ='mycounter1'; + +-- This semantic identical function is not recognized +create function mycounter2() +returns integer +begin +declare s int; +while (select true) +do +set s =1; +end while; +return s; +END; +sql>select * from functions where name ='mycounter2'; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jul2017 - add test for bug 6174
Changeset: 182df737b80c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=182df737b80c Added Files: sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.sql sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.err sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out Modified Files: sql/test/BugTracker-2017/Tests/All Branch: Jul2017 Log Message: add test for bug 6174 diffs (179 lines): diff --git a/sql/test/BugTracker-2017/Tests/All b/sql/test/BugTracker-2017/Tests/All --- a/sql/test/BugTracker-2017/Tests/All +++ b/sql/test/BugTracker-2017/Tests/All @@ -61,4 +61,4 @@ statistics_nils_not_eq_zero.Bug-6331 crash-select_after_MAL_error.Bug-6332 handle-values-subqueries.Bug-6336 spurious_errors.Bug-6344 - +caching_stats_bug.6374 diff --git a/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.sql b/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.sql @@ -0,0 +1,23 @@ +create table sub1 (i int); +create table sub2 (i int); +create merge table mt as select * from sub1 with no data; +alter table mt add table sub1; +alter table mt add table sub2; +insert into sub1 values (1),(2); +insert into sub2 values (11),(12); +alter table sub1 set read only; +alter table sub2 set read only; +analyze sys.sub1; +analyze sys.sub2; +select count(*) from mt where i >= 5 and i < 100; +plan select count(*) from mt where i >= 5 and i < 100; +alter table sub1 set read write; +insert into sub1 values (7),(8); +alter table sub1 set read only; +analyze sys.sub1; +select count(*) from mt where i >= 5 and i < 100; +plan select count(*) from mt where i >= 5 and i < 100; + +drop table mt; +drop table sub1; +drop table sub2; diff --git a/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.err b/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.err @@ -0,0 +1,34 @@ +stderr of test 'caching_stats_bug.6374` in directory 'sql/test/BugTracker-2017` itself: + + +# 21:27:18 > +# 21:27:18 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=34552" "--set" "mapi_usock=/var/tmp/mtest-8392/.s.monetdb.34552" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2017" +# 21:27:18 > + +# builtin opt gdk_dbpath = /home/niels/scratch/rc-monetdb/Linux-x86_64/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 = 34552 +# cmdline opt mapi_usock = /var/tmp/mtest-8392/.s.monetdb.34552 +# cmdline opt monet_prompt = +# cmdline opt gdk_dbpath = /home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2017 +# cmdline opt gdk_debug = 536870922 + +# 21:27:18 > +# 21:27:18 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-8392" "--port=34552" +# 21:27:18 > + + +# 21:27:18 > +# 21:27:18 > "Done." +# 21:27:18 > + diff --git a/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out b/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out @@ -0,0 +1,98 @@ +stdout of test 'caching_stats_bug.6374` in directory 'sql/test/BugTracker-2017` itself: + + +# 21:27:18 > +# 21:27:18 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=34552" "--set" "mapi_usock=/var/tmp/mtest-8392/.s.monetdb.34552" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2017" +# 21:27:18 > + +# MonetDB 5 server v11.27.4 +# This is an unreleased version +# Serving database 'mTests_sql_test_BugTracker-2017', using 4 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers +# Found 7.331 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2017 MonetDB B.V., all rights reserved +# Visit https://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://localhost.nes.nl:34552/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-8392/.s.monetdb.34552 +# MonetDB/GIS module loaded +# MonetDB/SQL module loaded + +Ready. + +# 21:27:18 > +# 21:27:18 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-8392" "--port=34552" +# 21:27:18 > +
MonetDB: Jul2017 - fixed bug 6348, only rename non constant expr...
Changeset: e9c19dd387e7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e9c19dd387e7 Modified Files: sql/backends/monet5/rel_bin.c sql/server/rel_optimizer.c sql/server/rel_updates.c Branch: Jul2017 Log Message: fixed bug 6348, only rename non constant expressions fixed bug 6352, when pushing projects up, we should include subqueries. diffs (37 lines): 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 @@ -271,6 +271,9 @@ value_list(backend *be, list *vals, stmt sql_exp *e = n->data; stmt *i = exp_bin(be, e, left, NULL, NULL, NULL, NULL, sel); + if (!i) + return NULL; + if (list_length(vals) == 1) return i; diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -5500,7 +5500,7 @@ rel_push_project_up(int *changes, mvc *s } } } else if (is_join(rel->op)) { - list *r_exps = rel_projections(sql, r, NULL, 1, 1); + list *r_exps = rel_projections(sql, r, NULL, 1, 2); list_merge(exps, r_exps, (fdup)NULL); } 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 @@ -498,7 +498,7 @@ insert_into(mvc *sql, dlist *qname, dlis inner = rel_crossproduct(sql->sa, inner, r, op_join); else if (r) inner = r; - if (inner && !ins->name) { + if (inner && !ins->name && !is_atom(ins->type)) { exp_label(sql->sa, ins, ++sql->label); ins = exp_column(sql->sa, exp_relname(ins), exp_name(ins), exp_subtype(ins), ins->card, has_nil(ins), is_intern(ins)); } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jul2017 - create nspace when needed
Changeset: 1eb976e16c14 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1eb976e16c14 Modified Files: monetdb5/mal/mal_session.c Branch: Jul2017 Log Message: create nspace when needed diffs (13 lines): diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c --- a/monetdb5/mal/mal_session.c +++ b/monetdb5/mal/mal_session.c @@ -125,6 +125,9 @@ MSinitClientPrg(Client cntxt, str mod, s MSresetClientPrg(cntxt); return; } + if (cntxt->nspace == 0) { + cntxt->nspace = newModule(NULL, putName("user")); + } cntxt->curprg = newFunction(putName("user"), putName(nme), FUNCTIONsymbol); if( cntxt->curprg == 0){ GDKerror("MSinitClientPrg" "Failed to create function"); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list