summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/pgq/functions/pgq.unregister_consumer.sql8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/pgq/functions/pgq.unregister_consumer.sql b/sql/pgq/functions/pgq.unregister_consumer.sql
index eeb2524f..9921a069 100644
--- a/sql/pgq/functions/pgq.unregister_consumer.sql
+++ b/sql/pgq/functions/pgq.unregister_consumer.sql
@@ -63,8 +63,12 @@ begin
delete from pgq.subscription
where sub_id = x_sub_id;
- delete from pgq.consumer
- where co_id = _consumer_id;
+ perform 1 from pgq.subscription
+ where sub_consumer = _consumer_id;
+ if not found then
+ delete from pgq.consumer
+ where co_id = _consumer_id;
+ end if;
return _sub_id_cnt;
end if;