Changeset: 6b0edb15628f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6b0edb15628f Added Files: sql/test/sysmon/Tests/All sql/test/sysmon/Tests/SingleServer sql/test/sysmon/Tests/sys_queue_expand.sql sql/test/sysmon/Tests/sys_queue_expand.stable.err sql/test/sysmon/Tests/sys_queue_expand.stable.out sql/test/sysmon/Tests/sys_queue_rotate.sql sql/test/sysmon/Tests/sys_queue_rotate.stable.err sql/test/sysmon/Tests/sys_queue_rotate.stable.out sql/test/sysmon/Tests/sysqueue.sql sql/test/sysmon/Tests/sysqueue.stable.err sql/test/sysmon/Tests/sysqueue.stable.out Removed Files: sql/test/Tests/sysqueue.sql sql/test/Tests/sysqueue.stable.err sql/test/Tests/sysqueue.stable.out Modified Files: sql/test/Tests/All Branch: default Log Message:
Added more tests for the circular sys.queue(): test both the rotation and expansion of the circle diffs (truncated from 475 to 300 lines): diff --git a/sql/test/Tests/All b/sql/test/Tests/All --- a/sql/test/Tests/All +++ b/sql/test/Tests/All @@ -122,8 +122,6 @@ unicode window_functions -sysqueue - HAVE_PYMONETDB?hot_snapshot HAVE_PYMONETDB&HAVE_LIBZ?hot_snapshot_gz HAVE_PYMONETDB&HAVE_LIBBZ2?hot_snapshot_bz2 diff --git a/sql/test/sysmon/Tests/All b/sql/test/sysmon/Tests/All new file mode 100644 --- /dev/null +++ b/sql/test/sysmon/Tests/All @@ -0,0 +1,3 @@ +sysqueue +sys_queue_rotate +sys_queue_expand diff --git a/sql/test/sysmon/Tests/SingleServer b/sql/test/sysmon/Tests/SingleServer new file mode 100644 --- /dev/null +++ b/sql/test/sysmon/Tests/SingleServer @@ -0,0 +1,1 @@ +--set max_clients=4 diff --git a/sql/test/sysmon/Tests/sys_queue_expand.sql b/sql/test/sysmon/Tests/sys_queue_expand.sql new file mode 100644 --- /dev/null +++ b/sql/test/sysmon/Tests/sys_queue_expand.sql @@ -0,0 +1,27 @@ +-- Use prepared statements to force sys.queue() to expand its query circle. +-- This test relies on the little error that once a prepared statement is +-- executed, the "prepare ..." query is not removed from sys.queue() +prepare select 0; +prepare select 1; +prepare select 2; +prepare select 3; +prepare select 4; +prepare select 5; +prepare select 6; +prepare select 7; +select username, status, query from sys.queue(); +exec 0(); +select 0, username, status, query from sys.queue(); +exec 1(); +select 1, username, status, query from sys.queue(); +exec 2(); +select 2, username, status, query from sys.queue(); +exec 3(); +select 3, username, status, query from sys.queue(); +exec 4(); +select 4, username, status, query from sys.queue(); +exec 5(); +exec 6(); +exec 7(); +select 7, username, status, query from sys.queue(); +select 8, username, status, query from sys.queue(); diff --git a/sql/test/sysmon/Tests/sys_queue_expand.stable.err b/sql/test/sysmon/Tests/sys_queue_expand.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/sysmon/Tests/sys_queue_expand.stable.err @@ -0,0 +1,12 @@ +stderr of test 'sys_queue_expand` in directory 'sql/test/sysmon` itself: + + +# 18:07:00 > +# 18:07:00 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-31724" "--port=38231" +# 18:07:00 > + + +# 18:07:00 > +# 18:07:00 > "Done." +# 18:07:00 > + diff --git a/sql/test/sysmon/Tests/sys_queue_expand.stable.out b/sql/test/sysmon/Tests/sys_queue_expand.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/sysmon/Tests/sys_queue_expand.stable.out @@ -0,0 +1,212 @@ +stdout of test 'sys_queue_expand` in directory 'sql/test/sysmon` itself: + + +# 18:07:00 > +# 18:07:00 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-31724" "--port=38231" +# 18:07:00 > + +#prepare select 0; +#prepare select 0; +% .prepare, .prepare, .prepare, .prepare, .prepare, .prepare # table_name +% type, digits, scale, schema, table, column # name +% varchar, int, int, str, str, str # type +% 7, 1, 1, 0, 2, 2 # length +[ "tinyint", 8, 0, "", "%2", "%2" ] +#prepare select 1; +#prepare select 1; +% .prepare, .prepare, .prepare, .prepare, .prepare, .prepare # table_name +% type, digits, scale, schema, table, column # name +% varchar, int, int, str, str, str # type +% 7, 1, 1, 0, 2, 2 # length +[ "tinyint", 1, 0, "", "%2", "%2" ] +#prepare select 2; +#prepare select 2; +% .prepare, .prepare, .prepare, .prepare, .prepare, .prepare # table_name +% type, digits, scale, schema, table, column # name +% varchar, int, int, str, str, str # type +% 7, 1, 1, 0, 2, 2 # length +[ "tinyint", 2, 0, "", "%2", "%2" ] +#prepare select 3; +#prepare select 3; +% .prepare, .prepare, .prepare, .prepare, .prepare, .prepare # table_name +% type, digits, scale, schema, table, column # name +% varchar, int, int, str, str, str # type +% 7, 1, 1, 0, 2, 2 # length +[ "tinyint", 2, 0, "", "%2", "%2" ] +#prepare select 4; +#prepare select 4; +% .prepare, .prepare, .prepare, .prepare, .prepare, .prepare # table_name +% type, digits, scale, schema, table, column # name +% varchar, int, int, str, str, str # type +% 7, 1, 1, 0, 2, 2 # length +[ "tinyint", 3, 0, "", "%2", "%2" ] +#prepare select 5; +#prepare select 5; +% .prepare, .prepare, .prepare, .prepare, .prepare, .prepare # table_name +% type, digits, scale, schema, table, column # name +% varchar, int, int, str, str, str # type +% 7, 1, 1, 0, 2, 2 # length +[ "tinyint", 3, 0, "", "%2", "%2" ] +#prepare select 6; +#prepare select 6; +% .prepare, .prepare, .prepare, .prepare, .prepare, .prepare # table_name +% type, digits, scale, schema, table, column # name +% varchar, int, int, str, str, str # type +% 7, 1, 1, 0, 2, 2 # length +[ "tinyint", 3, 0, "", "%2", "%2" ] +#prepare select 7; +#prepare select 7; +% .prepare, .prepare, .prepare, .prepare, .prepare, .prepare # table_name +% type, digits, scale, schema, table, column # name +% varchar, int, int, str, str, str # type +% 7, 1, 1, 0, 2, 2 # length +[ "tinyint", 3, 0, "", "%2", "%2" ] +#select username, status, query from sys.queue(); +% .%1, .%1, .%1 # table_name +% username, status, query # name +% clob, clob, clob # type +% 7, 8, 51 # length +[ "monetdb", "finished", "select 6, username, status, query from sys.queue();" ] +[ "monetdb", "finished", "set time zone interval \\'+02:00\\' hour to minute\n;" ] +[ "monetdb", "running", "select username, status, query from sys.queue();" ] +#exec 0(); +% .%2 # table_name +% %2 # name +% tinyint # type +% 1 # length +[ 0 ] +#select 0, username, status, query from sys.queue(); +% .%2, .%1, .%1, .%1 # table_name +% %2, username, status, query # name +% tinyint, clob, clob, clob # type +% 1, 7, 8, 51 # length +[ 0, "monetdb", "finished", "exec 0();" ] +[ 0, "monetdb", "running", "prepare select 0;" ] +[ 0, "monetdb", "running", "select 0, username, status, query from sys.queue();" ] +#exec 1(); +% .%2 # table_name +% %2 # name +% tinyint # type +% 1 # length +[ 1 ] +#select 1, username, status, query from sys.queue(); +% .%2, .%1, .%1, .%1 # table_name +% %2, username, status, query # name +% tinyint, clob, clob, clob # type +% 1, 7, 8, 51 # length +[ 1, "monetdb", "running", "prepare select 0;" ] +[ 1, "monetdb", "finished", "select 0, username, status, query from sys.queue();" ] +[ 1, "monetdb", "finished", "exec 1();" ] +[ 1, "monetdb", "running", "prepare select 1;" ] +[ 1, "monetdb", "running", "select 1, username, status, query from sys.queue();" ] +#exec 2(); +% .%2 # table_name +% %2 # name +% tinyint # type +% 1 # length +[ 2 ] +#select 2, username, status, query from sys.queue(); +% .%2, .%1, .%1, .%1 # table_name +% %2, username, status, query # name +% tinyint, clob, clob, clob # type +% 1, 7, 8, 51 # length +[ 2, "monetdb", "finished", "exec 1();" ] +[ 2, "monetdb", "running", "prepare select 1;" ] +[ 2, "monetdb", "finished", "select 1, username, status, query from sys.queue();" ] +[ 2, "monetdb", "finished", "exec 2();" ] +[ 2, "monetdb", "running", "prepare select 2;" ] +[ 2, "monetdb", "running", "select 2, username, status, query from sys.queue();" ] +[ 2, "monetdb", "running", "prepare select 0;" ] +#exec 3(); +% .%2 # table_name +% %2 # name +% tinyint # type +% 1 # length +[ 3 ] +#select 3, username, status, query from sys.queue(); +% .%2, .%1, .%1, .%1 # table_name +% %2, username, status, query # name +% tinyint, clob, clob, clob # type +% 1, 7, 8, 51 # length +[ 3, "monetdb", "running", "prepare select 2;" ] +[ 3, "monetdb", "finished", "select 2, username, status, query from sys.queue();" ] +[ 3, "monetdb", "running", "prepare select 0;" ] +[ 3, "monetdb", "finished", "exec 3();" ] +[ 3, "monetdb", "running", "prepare select 3;" ] +[ 3, "monetdb", "running", "prepare select 1;" ] +[ 3, "monetdb", "running", "select 3, username, status, query from sys.queue();" ] +#exec 4(); +% .%2 # table_name +% %2 # name +% tinyint # type +% 1 # length +[ 4 ] +#select 4, username, status, query from sys.queue(); +% .%2, .%1, .%1, .%1 # table_name +% %2, username, status, query # name +% tinyint, clob, clob, clob # type +% 1, 7, 8, 51 # length +[ 4, "monetdb", "running", "prepare select 0;" ] +[ 4, "monetdb", "finished", "exec 3();" ] +[ 4, "monetdb", "running", "prepare select 3;" ] +[ 4, "monetdb", "running", "prepare select 1;" ] +[ 4, "monetdb", "finished", "select 3, username, status, query from sys.queue();" ] +[ 4, "monetdb", "finished", "exec 4();" ] +[ 4, "monetdb", "running", "prepare select 2;" ] +[ 4, "monetdb", "running", "prepare select 4;" ] +[ 4, "monetdb", "running", "select 4, username, status, query from sys.queue();" ] +#exec 5(); +% .%2 # table_name +% %2 # name +% tinyint # type +% 1 # length +[ 5 ] +#exec 6(); +% .%2 # table_name +% %2 # name +% tinyint # type +% 1 # length +[ 6 ] +#exec 7(); +% .%2 # table_name +% %2 # name +% tinyint # type +% 1 # length +[ 7 ] +#select 7, username, status, query from sys.queue(); +% .%2, .%1, .%1, .%1 # table_name +% %2, username, status, query # name +% tinyint, clob, clob, clob # type +% 1, 7, 8, 51 # length +[ 7, "monetdb", "running", "prepare select 5;" ] +[ 7, "monetdb", "finished", "exec 6();" ] +[ 7, "monetdb", "running", "prepare select 0;" ] +[ 7, "monetdb", "running", "prepare select 6;" ] +[ 7, "monetdb", "running", "prepare select 3;" ] +[ 7, "monetdb", "running", "prepare select 1;" ] +[ 7, "monetdb", "finished", "exec 7();" ] +[ 7, "monetdb", "running", "prepare select 7;" ] +[ 7, "monetdb", "running", "prepare select 2;" ] +[ 7, "monetdb", "running", "prepare select 4;" ] +[ 7, "monetdb", "running", "select 7, username, status, query from sys.queue();" ] +#select 8, username, status, query from sys.queue(); +% .%2, .%1, .%1, .%1 # table_name +% %2, username, status, query # name +% tinyint, clob, clob, clob # type +% 1, 7, 8, 51 # length +[ 8, "monetdb", "running", "prepare select 0;" ] +[ 8, "monetdb", "running", "prepare select 6;" ] +[ 8, "monetdb", "running", "prepare select 3;" ] +[ 8, "monetdb", "running", "prepare select 1;" ] +[ 8, "monetdb", "finished", "exec 7();" ] +[ 8, "monetdb", "running", "prepare select 7;" ] +[ 8, "monetdb", "running", "prepare select 2;" ] +[ 8, "monetdb", "running", "prepare select 4;" ] +[ 8, "monetdb", "finished", "select 7, username, status, query from sys.queue();" ] +[ 8, "monetdb", "running", "select 8, username, status, query from sys.queue();" ] +[ 8, "monetdb", "running", "prepare select 5;" ] + +# 18:07:00 > +# 18:07:00 > "Done." +# 18:07:00 > + diff --git a/sql/test/sysmon/Tests/sys_queue_rotate.sql b/sql/test/sysmon/Tests/sys_queue_rotate.sql new file mode 100644 --- /dev/null +++ b/sql/test/sysmon/Tests/sys_queue_rotate.sql @@ -0,0 +1,7 @@ +-- test the rotation of the queue +select 1, username, status, query from sys.queue(); +select 2, username, status, query from sys.queue(); _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
