Changeset: 545cb025ab11 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=545cb025ab11 Added Files: sql/backends/monet5/Tests/cquery12.stable.err sql/backends/monet5/Tests/cquery12.stable.out sql/backends/monet5/Tests/cquery13.sql Modified Files: sql/backends/monet5/Tests/All sql/backends/monet5/Tests/cquery09.stable.err sql/backends/monet5/Tests/cquery12.sql sql/backends/monet5/basket.mal sql/backends/monet5/sql_cquery.c sql/backends/monet5/sql_cquery.h Branch: trails Log Message:
Verify if the continuous query running while registering and stream in and out distintion diffs (truncated from 609 to 300 lines): 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 @@ -98,6 +98,7 @@ cquery09 cquery10 cquery11 cquery12 +cquery13 cqstream00 cqstream01 diff --git a/sql/backends/monet5/Tests/cquery09.stable.err b/sql/backends/monet5/Tests/cquery09.stable.err --- a/sql/backends/monet5/Tests/cquery09.stable.err +++ b/sql/backends/monet5/Tests/cquery09.stable.err @@ -31,7 +31,7 @@ MAPI = (monetdb) /var/tmp/mtest-4922/.s QUERY = drop table result9; --error ERROR = !DROP TABLE: unable to drop stream table 'result9': there are pending continuous queries on it CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-14598/.s.monetdb.30177 +MAPI = (monetdb) /var/tmp/mtest-20507/.s.monetdb.38754 QUERY = stop continuous sys.cq_c(1); ERROR = !The continuous procedure user.cq_c(X_4); has not yet started CODE = 42000 diff --git a/sql/backends/monet5/Tests/cquery12.sql b/sql/backends/monet5/Tests/cquery12.sql --- a/sql/backends/monet5/Tests/cquery12.sql +++ b/sql/backends/monet5/Tests/cquery12.sql @@ -18,8 +18,8 @@ end; create procedure cq_query11c() begin - insert into testing11a values (1); - insert into testing11b values (1); + insert into testing11a (select count(*) from testing11c); + insert into testing11b (select count(*) from testing11c); end; start continuous sys.cq_query11a() with cycles 1; @@ -36,12 +36,6 @@ stop continuous sys.cq_query11a(); stop continuous sys.cq_query11b(); stop continuous sys.cq_query11c(); -start continuous sys.cq_query11a() with cycles 1; - -call cquery.wait(1000); - -stop continuous sys.cq_query11a(); - select count(*) from results11a; --should be 1 select count(*) from results11b; --should be 2 diff --git a/sql/backends/monet5/Tests/cquery12.stable.err b/sql/backends/monet5/Tests/cquery12.stable.err new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/cquery12.stable.err @@ -0,0 +1,35 @@ +stderr of test 'cquery12` in directory 'sql/backends/monet5` itself: + + +# 15:40:42 > +# 15:40:42 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=30237" "--set" "mapi_usock=/var/tmp/mtest-32119/.s.monetdb.30237" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/ferreira/MonetDB-trails/BUILD/var/MonetDB/mTests_sql_backends_monet5" "--set" "embedded_r=yes" +# 15:40:42 > + +# builtin opt gdk_dbpath = /home/ferreira/MonetDB-trails/BUILD/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 = 50000 +# 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 = 30237 +# cmdline opt mapi_usock = /var/tmp/mtest-32119/.s.monetdb.30237 +# cmdline opt monet_prompt = +# cmdline opt gdk_dbpath = /home/ferreira/MonetDB-trails/BUILD/var/MonetDB/mTests_sql_backends_monet5 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 15:40:43 > +# 15:40:43 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-32119" "--port=30237" +# 15:40:43 > + + +# 15:40:47 > +# 15:40:47 > "Done." +# 15:40:47 > + diff --git a/sql/backends/monet5/Tests/cquery12.stable.out b/sql/backends/monet5/Tests/cquery12.stable.out new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/cquery12.stable.out @@ -0,0 +1,118 @@ +stdout of test 'cquery12` in directory 'sql/backends/monet5` itself: + + +# 15:40:42 > +# 15:40:42 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=30237" "--set" "mapi_usock=/var/tmp/mtest-32119/.s.monetdb.30237" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/ferreira/MonetDB-trails/BUILD/var/MonetDB/mTests_sql_backends_monet5" "--set" "embedded_r=yes" +# 15:40:42 > + +# MonetDB 5 server v11.28.0 +# This is an unreleased version +# Serving database 'mTests_sql_backends_monet5', using 8 threads +# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers +# Found 15.498 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://dhcp-120.eduroam.cwi.nl:30237/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-32119/.s.monetdb.30237 +# MonetDB/GIS module loaded +# MonetDB/SQL module loaded +# MonetDB/Timetrails module loaded +# MonetDB/R module loaded + +Ready. +# SQL catalog created, loading sql scripts once +# loading sql script: 09_like.sql +# loading sql script: 10_math.sql +# loading sql script: 11_times.sql +# loading sql script: 12_url.sql +# loading sql script: 13_date.sql +# loading sql script: 14_inet.sql +# loading sql script: 15_querylog.sql +# loading sql script: 16_tracelog.sql +# loading sql script: 17_temporal.sql +# loading sql script: 18_index.sql +# loading sql script: 20_vacuum.sql +# loading sql script: 21_dependency_functions.sql +# loading sql script: 22_clients.sql +# loading sql script: 23_skyserver.sql +# loading sql script: 25_debug.sql +# loading sql script: 26_sysmon.sql +# loading sql script: 27_rejects.sql +# loading sql script: 39_analytics.sql +# loading sql script: 39_analytics_hge.sql +# loading sql script: 40_geom.sql +# loading sql script: 40_json.sql +# loading sql script: 40_json_hge.sql +# loading sql script: 41_md5sum.sql +# loading sql script: 45_uuid.sql +# loading sql script: 46_profiler.sql +# loading sql script: 50_cquery.sql +# loading sql script: 51_sys_schema_extension.sql +# loading sql script: 60_wlcr.sql +# loading sql script: 72_fits.sql +# loading sql script: 74_netcdf.sql +# loading sql script: 75_lidar.sql +# loading sql script: 75_shp.sql +# loading sql script: 75_storagemodel.sql +# loading sql script: 80_statistics.sql +# loading sql script: 80_udf.sql +# loading sql script: 80_udf_hge.sql +# loading sql script: 85_bam.sql +# loading sql script: 90_generator.sql +# loading sql script: 90_generator_hge.sql +# loading sql script: 99_system.sql + +# 15:40:43 > +# 15:40:43 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-32119" "--port=30237" +# 15:40:43 > + +#create stream table testing11a (a int) set window 1 stride 1; +#create stream table testing11b (a int) set window 1 stride 1; +#create stream table testing11c (a int) set window 1 stride 1; +#create table results11a (a int); +#create table results11b (a int); +#create procedure cq_query11a() +#begin +# insert into results11a (select count(*) from testing11a); +#end; +#create procedure cq_query11b() +#begin +# insert into results11b (select count(*) from testing11b); +#end; +#create procedure cq_query11c() +#begin +# insert into testing11a (select count(*) from testing11c); +# insert into testing11b (select count(*) from testing11c); +#end; +#insert into testing11c values (1); +[ 1 ] +#insert into testing11c values (2); +[ 1 ] +#insert into testing11c values (3); +[ 1 ] +#select count(*) from results11a; --should be 1 +% sys.L4 # table_name +% L3 # name +% bigint # type +% 1 # length +[ 1 ] +#select count(*) from results11b; --should be 2 +% sys.L4 # table_name +% L3 # name +% bigint # type +% 1 # length +[ 2 ] +#drop procedure sys.cq_query11a; +#drop procedure sys.cq_query11b; +#drop procedure sys.cq_query11c; +#drop table testing11a; +#drop table testing11b; +#drop table testing11c; +#drop table results11a; +#drop table results11b; + +# 15:40:47 > +# 15:40:47 > "Done." +# 15:40:47 > + diff --git a/sql/backends/monet5/Tests/cquery13.sql b/sql/backends/monet5/Tests/cquery13.sql new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/cquery13.sql @@ -0,0 +1,24 @@ +--stop a continuous query within another continuous query +create table testing13 (a int); + +create procedure cq_query13a() +begin + insert into testing13 values (1); +end; + +create procedure cq_query13b() +begin + stop continuous sys.cq_query13a(); +end; + +start continuous sys.cq_query13a() with heartbeat 3000; +start continuous sys.cq_query13b() with cycles 1; + +call cquery.wait(1000); + +stop continuous sys.cq_query13b(); + +drop procedure sys.cq_query13a; +drop procedure sys.cq_query13b; + +drop table testing13; 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 @@ -19,8 +19,7 @@ module basket; pattern register(mvc:int,sch:str,tbl:str,role:int):int address BSKTregister -comment "Initialize a new basket based on a specific table definition. -roles:input =0, output=2"; +comment "Initialize a new basket based on a specific table definition. roles:input=0, output=1"; pattern tid(mvc:int,sch:str,tbl:str):bat[:oid] address BSKTtid 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 @@ -334,19 +334,21 @@ CQlocateBasketExternal(str schname, str } static str -CQlocateMb(MalBlkPtr mb, int* idx, str* res, const char* call) +CQlocateMb(MalBlkPtr mb, MalStkPtr stk, int* idx, str* res, const char* dobject, const char* call) { int i; InstrPtr sig = getInstrPtr(mb,0); - str mb2str; + str mb2str = NULL; for(i = 1; i< mb->stop; i++){ sig= getInstrPtr(mb,i); if( getModuleId(sig) == userRef) break; } - assert(i != mb->stop); - if((mb2str = instruction2str(mb, NULL, sig, LIST_MAL_CALL)) == NULL) { + if( i == mb->stop) { + throw(SQL,call,SQLSTATE(3F000) "Cannot find %s call %s.%s.\n", dobject, getModuleId(sig), getFunctionId(sig)); + } + if((mb2str = instruction2str(mb, stk, sig, LIST_MAL_CALL)) == NULL) { throw(SQL,call,SQLSTATE(HY001) MAL_MALLOC_FAIL); } @@ -409,7 +411,7 @@ CQshow(Client cntxt, MalBlkPtr mb, MalSt static str CQanalysis(Client cntxt, MalBlkPtr mb, int idx) { - int i, j, bskt; + int i, j, bskt, binout; InstrPtr p; str msg= MAL_SUCCEED, sch, tbl; (void) cntxt; @@ -420,6 +422,7 @@ CQanalysis(Client cntxt, MalBlkPtr mb, i if (getModuleId(p) == basketRef && (getFunctionId(p) == registerRef || getFunctionId(p) == bindRef)){ sch = getVarConstant(mb, getArg(p,2)).val.sval; tbl = getVarConstant(mb, getArg(p,3)).val.sval; + binout = getVarConstant(mb, getArg(p,4)).val.ival; // find the stream basket definition _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
