pgq_node.register_consumer: update existing reg info, instead erroring out
authorMarko Kreen <markokr@gmail.com>
Fri, 7 May 2010 10:23:26 +0000 (13:23 +0300)
committerMarko Kreen <markokr@gmail.com>
Fri, 7 May 2010 10:47:45 +0000 (13:47 +0300)
sql/pgq_node/functions/pgq_node.register_consumer.sql

index 85e06982e76fafe5453d124d16a0be0186a68624..b497c407964d74b8da814acfe08c752932432a60 100644 (file)
@@ -40,7 +40,12 @@ begin
       where queue_name = i_queue_name
         and consumer_name = i_consumer_name;
     if found then
-        select 405, 'Consumer already registered: ' || i_queue_name
+        update pgq_node.local_state
+           set provider_node = i_provider_node,
+               last_tick_id = i_custom_tick_id
+         where queue_name = i_queue_name
+           and consumer_name = i_consumer_name;
+        select 201, 'Consumer already registered: ' || i_queue_name
                || '/' || i_consumer_name  into ret_code, ret_note;
         return;
     end if;