From: Pavan Deolasee Date: Wed, 9 Mar 2016 11:32:50 +0000 (+0530) Subject: Add test cases to enable/disable certain modules using the new logging X-Git-Tag: XL9_5_R1BETA2~38 X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=f3f7b28e129088f08978aa5a00e66ebd57470c43;p=postgres-xl.git Add test cases to enable/disable certain modules using the new logging infrastructure They are not added to either serial or parallel schedules and just serve as examples right now --- diff --git a/src/test/regress/expected/disable_msgmod.out b/src/test/regress/expected/disable_msgmod.out new file mode 100644 index 0000000000..68826b6efb --- /dev/null +++ b/src/test/regress/expected/disable_msgmod.out @@ -0,0 +1,12 @@ + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_disable_all()') +AS r(nodename text, status bool); + nodename | status +------------+-------- + coord1 | t + coord2 | t + datanode_1 | t + datanode_2 | t +(4 rows) + diff --git a/src/test/regress/expected/enable_msgmod.out b/src/test/regress/expected/enable_msgmod.out new file mode 100644 index 0000000000..560932be0c --- /dev/null +++ b/src/test/regress/expected/enable_msgmod.out @@ -0,0 +1,74 @@ +create or replace function execute_on_all_nodes(query varchar) +returns setof record language plpgsql as $D$ +declare + node_sql varchar; + nodename varchar; + nodenames_query varchar; + res record; +begin + nodenames_query := 'SELECT node_name FROM pgxc_node'; + for nodename in execute nodenames_query loop + node_sql = 'EXECUTE DIRECT ON (' || nodename || ') $$ ' || 'SELECT ''' || +nodename || '''::text AS nodename, subquery.* FROM (' || query || ') subquery $$'; +-- raise notice '%', node_sql; + FOR res IN EXECUTE node_sql LOOP + RETURN NEXT res; + END LOOP; + end loop; +end; +$D$; +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_set(121, -1, -1, ''LOG'')') +AS r(nodename text, status bool); + nodename | status +------------+-------- + coord1 | t + coord2 | t + datanode_1 | t + datanode_2 | t +(4 rows) + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_set(97, -1, -1, ''LOG'')') +AS r(nodename text, status bool); + nodename | status +------------+-------- + coord1 | t + coord2 | t + datanode_1 | t + datanode_2 | t +(4 rows) + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_set(98, -1, -1, ''LOG'')') +AS r(nodename text, status bool); + nodename | status +------------+-------- + coord1 | t + coord2 | t + datanode_1 | t + datanode_2 | t +(4 rows) + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_set(99, -1, -1, ''LOG'')') +AS r(nodename text, status bool); + nodename | status +------------+-------- + coord1 | t + coord2 | t + datanode_1 | t + datanode_2 | t +(4 rows) + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_enable_all(true)') +AS r(nodename text, status bool); + nodename | status +------------+-------- + coord1 | t + coord2 | t + datanode_1 | t + datanode_2 | t +(4 rows) + diff --git a/src/test/regress/sql/disable_msgmod.sql b/src/test/regress/sql/disable_msgmod.sql new file mode 100644 index 0000000000..bdca3417ef --- /dev/null +++ b/src/test/regress/sql/disable_msgmod.sql @@ -0,0 +1,4 @@ + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_disable_all()') +AS r(nodename text, status bool); diff --git a/src/test/regress/sql/enable_msgmod.sql b/src/test/regress/sql/enable_msgmod.sql new file mode 100644 index 0000000000..09497dd7ad --- /dev/null +++ b/src/test/regress/sql/enable_msgmod.sql @@ -0,0 +1,41 @@ + +create or replace function execute_on_all_nodes(query varchar) +returns setof record language plpgsql as $D$ +declare + node_sql varchar; + nodename varchar; + nodenames_query varchar; + res record; +begin + nodenames_query := 'SELECT node_name FROM pgxc_node'; + for nodename in execute nodenames_query loop + node_sql = 'EXECUTE DIRECT ON (' || nodename || ') $$ ' || 'SELECT ''' || +nodename || '''::text AS nodename, subquery.* FROM (' || query || ') subquery $$'; +-- raise notice '%', node_sql; + FOR res IN EXECUTE node_sql LOOP + RETURN NEXT res; + END LOOP; + end loop; +end; +$D$; + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_set(121, -1, -1, ''LOG'')') +AS r(nodename text, status bool); + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_set(97, -1, -1, ''LOG'')') +AS r(nodename text, status bool); + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_set(98, -1, -1, ''LOG'')') +AS r(nodename text, status bool); + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_set(99, -1, -1, ''LOG'')') +AS r(nodename text, status bool); + +SELECT r.nodename, r.status + FROM execute_on_all_nodes('SELECT pg_msgmodule_enable_all(true)') +AS r(nodename text, status bool); +