From 18c25775e7be3766e750d960ddbd4333ab6b1a2f Mon Sep 17 00:00:00 2001 From: Marko Kreen Date: Thu, 8 Sep 2011 17:10:35 +0200 Subject: [PATCH] pgq_node.upgrade_schema(): magic schema upgrade also sync regtest output --- sql/pgq_node/expected/pgq_node_test.out | 65 +++++++++++++++++++ .../functions/pgq_node.upgrade_schema.sql | 12 ++++ sql/pgq_node/structure/functions.sql | 3 + 3 files changed, 80 insertions(+) create mode 100644 sql/pgq_node/functions/pgq_node.upgrade_schema.sql diff --git a/sql/pgq_node/expected/pgq_node_test.out b/sql/pgq_node/expected/pgq_node_test.out index fcde7419..fe0b60e8 100644 --- a/sql/pgq_node/expected/pgq_node_test.out +++ b/sql/pgq_node/expected/pgq_node_test.out @@ -1,4 +1,14 @@ \set ECHO none + upgrade_schema +---------------- + 0 +(1 row) + + upgrade_schema +---------------- + 0 +(1 row) + select * from pgq_node.register_location('aqueue', 'node1', 'dbname=node1', false); ret_code | ret_note ----------+--------------------- @@ -116,6 +126,12 @@ select queue_name, consumer_name, last_tick from pgq.get_consumer_info(); aqueue | node2_worker | 1 (3 rows) +select * from pgq_node.get_worker_state('aqueue'); + ret_code | ret_note | node_type | node_name | completed_tick | provider_node | provider_location | paused | uptodate | cur_error | worker_name | global_watermark | local_watermark | local_queue_top | combined_queue | combined_type +----------+----------+-----------+-----------+----------------+---------------+-------------------+--------+----------+-----------+--------------+------------------+-----------------+-----------------+----------------+--------------- + 100 | Ok | root | node1 | 1 | node1 | dbname=node1 | f | f | | node1_worker | 1 | 1 | 1 | | +(1 row) + update pgq.queue set queue_ticker_max_lag = '0', queue_ticker_idle_period = '0'; select * from pgq.ticker('aqueue'); ticker @@ -226,6 +242,24 @@ select * from pgq_node.get_node_info('cqueue'); 404 | Unknown queue: cqueue | | | | | | | | | | | | (1 row) +select * from pgq_node.get_worker_state('aqueue'); + ret_code | ret_note | node_type | node_name | completed_tick | provider_node | provider_location | paused | uptodate | cur_error | worker_name | global_watermark | local_watermark | local_queue_top | combined_queue | combined_type +----------+----------+-----------+-----------+----------------+---------------+-------------------+--------+----------+-----------+--------------+------------------+-----------------+-----------------+----------------+--------------- + 100 | Ok | root | node1 | 1 | node1 | dbname=node1 | f | f | | node1_worker | 1 | 1 | 3 | | +(1 row) + +select * from pgq_node.get_worker_state('bqueue'); + ret_code | ret_note | node_type | node_name | completed_tick | provider_node | provider_location | paused | uptodate | cur_error | worker_name | global_watermark | local_watermark | local_queue_top | combined_queue | combined_type +----------+----------+-----------+-----------+----------------+---------------+-------------------+--------+----------+-----------+--------------+------------------+-----------------+-----------------+----------------+--------------- + 100 | Ok | branch | node2 | 1 | node1 | dbname=node1 | f | f | | node2_worker | 1 | 1 | 1 | | +(1 row) + +select * from pgq_node.get_worker_state('cqueue'); + ret_code | ret_note | node_type | node_name | completed_tick | provider_node | provider_location | paused | uptodate | cur_error | worker_name | global_watermark | local_watermark | local_queue_top | combined_queue | combined_type +----------+-----------------------+-----------+-----------+----------------+---------------+-------------------+--------+----------+-----------+-------------+------------------+-----------------+-----------------+----------------+--------------- + 404 | Unknown queue: cqueue | | | | | | | | | | | | | | +(1 row) + select * from pgq_node.is_root_node('aqueue'); is_root_node -------------- @@ -355,4 +389,35 @@ select * from pgq_node.demote_root('aqueue', 3, 'node3'); 301 | Node not root | (1 row) +-- leaf node +select * from pgq_node.register_location('mqueue', 'node1', 'dbname=node1', false); + ret_code | ret_note +----------+--------------------- + 200 | Location registered +(1 row) + +select * from pgq_node.register_location('mqueue', 'node2', 'dbname=node2', false); + ret_code | ret_note +----------+--------------------- + 200 | Location registered +(1 row) + +select * from pgq_node.register_location('mqueue', 'node3', 'dbname=node3', false); + ret_code | ret_note +----------+--------------------- + 200 | Location registered +(1 row) + +select * from pgq_node.create_node('mqueue', 'leaf', 'node2', 'node2_worker', 'node1', 13, 'aqueue'); + ret_code | ret_note +----------+-------------------------------------------------------------- + 200 | Node "node2" initialized for queue "mqueue" with type "leaf" +(1 row) + +select * from pgq_node.get_worker_state('mqueue'); + ret_code | ret_note | node_type | node_name | completed_tick | provider_node | provider_location | paused | uptodate | cur_error | worker_name | global_watermark | local_watermark | local_queue_top | combined_queue | combined_type +----------+----------+-----------+-----------+----------------+---------------+-------------------+--------+----------+-----------+--------------+------------------+-----------------+-----------------+----------------+--------------- + 100 | Ok | leaf | node2 | 13 | node1 | dbname=node1 | f | f | | node2_worker | | 13 | | aqueue | branch +(1 row) + \q diff --git a/sql/pgq_node/functions/pgq_node.upgrade_schema.sql b/sql/pgq_node/functions/pgq_node.upgrade_schema.sql new file mode 100644 index 00000000..61130cdb --- /dev/null +++ b/sql/pgq_node/functions/pgq_node.upgrade_schema.sql @@ -0,0 +1,12 @@ + +create or replace function pgq_node.upgrade_schema() +returns int4 as $$ +-- updates table structure if necessary +declare + cnt int4 = 0; +begin + return cnt; +end; +$$ language plpgsql; + + diff --git a/sql/pgq_node/structure/functions.sql b/sql/pgq_node/structure/functions.sql index 2ba5cc40..6196d3d4 100644 --- a/sql/pgq_node/structure/functions.sql +++ b/sql/pgq_node/structure/functions.sql @@ -2,6 +2,9 @@ -- -- Database functions for cascaded pgq. +\i functions/pgq_node.upgrade_schema.sql +select pgq_node.upgrade_schema(); + -- Group: Global Node Map \i functions/pgq_node.register_location.sql \i functions/pgq_node.unregister_location.sql -- 2.39.5