Changeset: 799a7f049015 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=799a7f049015 Added Files: sql/backends/monet5/Tests/factory11.stable.err sql/backends/monet5/Tests/factory11.stable.out sql/backends/monet5/Tests/factory12.stable.err sql/backends/monet5/Tests/factory12.stable.out sql/backends/monet5/Tests/factory15.stable.err sql/backends/monet5/Tests/factory15.stable.out sql/backends/monet5/Tests/factory18.sql sql/backends/monet5/Tests/factory19.sql sql/backends/monet5/Tests/factory20.sql sql/backends/monet5/Tests/factory21.sql sql/backends/monet5/Tests/factory22.sql Modified Files: sql/backends/monet5/Tests/All sql/backends/monet5/Tests/factory00.sql sql/backends/monet5/Tests/factory01.sql sql/backends/monet5/Tests/factory02.sql sql/backends/monet5/Tests/factory03.sql sql/backends/monet5/Tests/factory04.sql sql/backends/monet5/Tests/factory05.sql sql/backends/monet5/Tests/factory06.sql sql/backends/monet5/Tests/factory07.sql sql/backends/monet5/Tests/factory08.sql sql/backends/monet5/Tests/factory09.sql sql/backends/monet5/Tests/factory10.sql sql/backends/monet5/Tests/factory11.sql sql/backends/monet5/Tests/factory12.sql sql/backends/monet5/Tests/factory13.sql sql/backends/monet5/Tests/factory14.sql sql/backends/monet5/Tests/factory15.sql sql/backends/monet5/Tests/factory16.sql sql/backends/monet5/Tests/factory17.sql Branch: trails Log Message:
More tests for factories diffs (truncated from 904 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 @@ -120,3 +120,8 @@ factory14 factory15 factory16 factory17 +factory18 +factory19 +factory20 +factory21 +factory22 diff --git a/sql/backends/monet5/Tests/factory00.sql b/sql/backends/monet5/Tests/factory00.sql --- a/sql/backends/monet5/Tests/factory00.sql +++ b/sql/backends/monet5/Tests/factory00.sql @@ -1,5 +1,5 @@ -# Test MAL factories with YIELD statements - +--The most basic coroutine operation test. Show that the MAL stack is correctly stopped and returned at the point +--after each call CREATE FUNCTION factory00() RETURNS INT BEGIN YIELD 1; YIELD 2; diff --git a/sql/backends/monet5/Tests/factory01.sql b/sql/backends/monet5/Tests/factory01.sql --- a/sql/backends/monet5/Tests/factory01.sql +++ b/sql/backends/monet5/Tests/factory01.sql @@ -1,5 +1,4 @@ -# Test MAL factories with YIELD statements - +--YIELD a declared variable and update it through invocations, testing the coroutine CREATE FUNCTION factory01() RETURNS INT BEGIN DECLARE a INT; SET a = 1; diff --git a/sql/backends/monet5/Tests/factory02.sql b/sql/backends/monet5/Tests/factory02.sql --- a/sql/backends/monet5/Tests/factory02.sql +++ b/sql/backends/monet5/Tests/factory02.sql @@ -1,5 +1,4 @@ -# Test MAL factories with YIELD statements - +--YIELD statements inside while loops after statements CREATE FUNCTION factory02() RETURNS INT BEGIN DECLARE a INT; SET a = 0; diff --git a/sql/backends/monet5/Tests/factory03.sql b/sql/backends/monet5/Tests/factory03.sql --- a/sql/backends/monet5/Tests/factory03.sql +++ b/sql/backends/monet5/Tests/factory03.sql @@ -1,5 +1,4 @@ -# Test MAL factories with YIELD statements - +--YIELD statements inside while loops before statements CREATE FUNCTION factory03() RETURNS INT BEGIN DECLARE a INT; SET a = 1; diff --git a/sql/backends/monet5/Tests/factory04.sql b/sql/backends/monet5/Tests/factory04.sql --- a/sql/backends/monet5/Tests/factory04.sql +++ b/sql/backends/monet5/Tests/factory04.sql @@ -1,5 +1,4 @@ -# Test MAL factories with YIELD statements - +--YIELD statements after loops CREATE FUNCTION factory04() RETURNS INT BEGIN DECLARE a INT; SET a = 0; diff --git a/sql/backends/monet5/Tests/factory05.sql b/sql/backends/monet5/Tests/factory05.sql --- a/sql/backends/monet5/Tests/factory05.sql +++ b/sql/backends/monet5/Tests/factory05.sql @@ -1,4 +1,4 @@ - +--Consecutive yield statements are allowed CREATE FUNCTION factory05(param INT) RETURNS INT BEGIN YIELD param; YIELD param; diff --git a/sql/backends/monet5/Tests/factory06.sql b/sql/backends/monet5/Tests/factory06.sql --- a/sql/backends/monet5/Tests/factory06.sql +++ b/sql/backends/monet5/Tests/factory06.sql @@ -1,3 +1,4 @@ +--Update the factory function parameter in the body CREATE FUNCTION factory06(param INT) RETURNS INT BEGIN YIELD param; SET param = param + 1; diff --git a/sql/backends/monet5/Tests/factory07.sql b/sql/backends/monet5/Tests/factory07.sql --- a/sql/backends/monet5/Tests/factory07.sql +++ b/sql/backends/monet5/Tests/factory07.sql @@ -1,3 +1,4 @@ +--Factory in while true loop. Should never output the end of factory mal error CREATE FUNCTION factory07() RETURNS INT BEGIN DECLARE a INT; SET a = 0; diff --git a/sql/backends/monet5/Tests/factory08.sql b/sql/backends/monet5/Tests/factory08.sql --- a/sql/backends/monet5/Tests/factory08.sql +++ b/sql/backends/monet5/Tests/factory08.sql @@ -1,3 +1,4 @@ +--YIELD statement inside a IF statement CREATE FUNCTION factory08() RETURNS INT BEGIN --show only the even numbers DECLARE a INT; SET a = 0; diff --git a/sql/backends/monet5/Tests/factory09.sql b/sql/backends/monet5/Tests/factory09.sql --- a/sql/backends/monet5/Tests/factory09.sql +++ b/sql/backends/monet5/Tests/factory09.sql @@ -1,3 +1,4 @@ +--Check yield statements are allowed in multiple while loops, even nested CREATE FUNCTION factory09() RETURNS INT BEGIN DECLARE a INT; DECLARE b INT; diff --git a/sql/backends/monet5/Tests/factory10.sql b/sql/backends/monet5/Tests/factory10.sql --- a/sql/backends/monet5/Tests/factory10.sql +++ b/sql/backends/monet5/Tests/factory10.sql @@ -1,3 +1,4 @@ +--Just a more complicated test in a regular table CREATE TABLE myTable10 (aa int, dd real); CREATE FUNCTION factory10() RETURNS TABLE (aa int, dd real) BEGIN diff --git a/sql/backends/monet5/Tests/factory11.sql b/sql/backends/monet5/Tests/factory11.sql --- a/sql/backends/monet5/Tests/factory11.sql +++ b/sql/backends/monet5/Tests/factory11.sql @@ -1,3 +1,4 @@ + CREATE FUNCTION factory11() RETURNS VARCHAR(32) BEGIN DECLARE aa VARCHAR(32); SET aa = 'This is a string! :) :) :) :) :)'; diff --git a/sql/backends/monet5/Tests/factory11.stable.err b/sql/backends/monet5/Tests/factory11.stable.err new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/factory11.stable.err @@ -0,0 +1,42 @@ +stderr of test 'factory11` in directory 'sql/backends/monet5` itself: + + +# 15:37:32 > +# 15:37:32 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=33573" "--set" "mapi_usock=/var/tmp/mtest-24534/.s.monetdb.33573" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/ferreira/MonetDB-trails/BUILD/var/MonetDB/mTests_sql_backends_monet5" +# 15:37:32 > + +# 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 = 33573 +# cmdline opt mapi_usock = /var/tmp/mtest-24534/.s.monetdb.33573 +# cmdline opt monet_prompt = +# cmdline opt gdk_dbpath = /home/ferreira/MonetDB-trails/BUILD/var/MonetDB/mTests_sql_backends_monet5 +# cmdline opt gdk_debug = 536870922 + +# 15:37:32 > +# 15:37:32 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-24534" "--port=33573" +# 15:37:32 > + +MAPI = (monetdb) /var/tmp/mtest-24534/.s.monetdb.33573 +QUERY = SELECT factory11(); --error +ERROR = !The factory has ended +CODE = 42000 +MAPI = (monetdb) /var/tmp/mtest-24534/.s.monetdb.33573 +QUERY = SELECT factory11(); --error +ERROR = !The factory has ended +CODE = 42000 + +# 15:37:33 > +# 15:37:33 > "Done." +# 15:37:33 > + diff --git a/sql/backends/monet5/Tests/factory11.stable.out b/sql/backends/monet5/Tests/factory11.stable.out new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/factory11.stable.out @@ -0,0 +1,132 @@ +stdout of test 'factory11` in directory 'sql/backends/monet5` itself: + + +# 15:37:32 > +# 15:37:32 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=33573" "--set" "mapi_usock=/var/tmp/mtest-24534/.s.monetdb.33573" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/ferreira/MonetDB-trails/BUILD/var/MonetDB/mTests_sql_backends_monet5" +# 15:37:32 > + +# 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:33573/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-24534/.s.monetdb.33573 +# MonetDB/GIS module loaded +# MonetDB/SQL module loaded +# MonetDB/Timetrails 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_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:37:32 > +# 15:37:32 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-24534" "--port=33573" +# 15:37:32 > + +#CREATE FUNCTION factory11() RETURNS VARCHAR(32) BEGIN +# DECLARE aa VARCHAR(32); +# SET aa = 'This is a string! :) :) :) :) :)'; +# YIELD aa; +# SET aa = SUBSTRING(aa, 0, 16); +# YIELD aa; +# SET aa = aa || aa; +# YIELD aa; +# SET aa = NULL; +# YIELD aa; +#END; +#SELECT factory11(); +% .L2 # table_name +% L2 # name +% varchar # type +% 32 # length +[ "This is a string! :) :) :) :) :)" ] +#SELECT factory11(); +% .L2 # table_name +% L2 # name +% varchar # type +% 16 # length +[ "This is a string" ] +#SELECT factory11(); +% .L2 # table_name +% L2 # name +% varchar # type +% 32 # length +[ "This is a stringThis is a string" ] +#SELECT factory11(); +% .L2 # table_name +% L2 # name +% varchar # type +% 0 # length +[ NULL ] +#SELECT factory11(); +% .L2 # table_name +% L2 # name +% varchar # type +% 32 # length +[ "This is a string! :) :) :) :) :)" ] +#SELECT factory11(); +% .L2 # table_name +% L2 # name +% varchar # type +% 16 # length +[ "This is a string" ] +#SELECT factory11(); +% .L2 # table_name +% L2 # name +% varchar # type +% 32 # length +[ "This is a stringThis is a string" ] +#SELECT factory11(); +% .L2 # table_name +% L2 # name +% varchar # type +% 0 # length +[ NULL ] +#DROP FUNCTION factory11; + _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list