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

Reply via email to