OCM-704: creating merge-leaf with non-existing queue on leaf side should throw an...
authorEgon Valdmees <egon.valdmees@skype.net>
Fri, 8 Apr 2011 14:20:09 +0000 (17:20 +0300)
committerMarko Kreen <markokr@gmail.com>
Fri, 15 Apr 2011 10:03:00 +0000 (13:03 +0300)
sql/pgq_node/functions/pgq_node.create_node.sql

index 687ce9ff66f0e1a2ce20afe851127943ea8740d6..2c060cee88126e9ab4fd3316fd44dd752a1990d3 100644 (file)
@@ -72,6 +72,14 @@ begin
         _global_wm := i_global_watermark;
     elsif i_node_type = 'leaf' then
         _global_wm := i_global_watermark;
+        if i_combined_queue is not null then
+            perform 1 from pgq.get_queue_info(i_combined_queue);
+            if not found then
+                select 401, 'non-existing queue on leaf side: '||i_combined_queue
+                into ret_code, ret_note;
+                return;
+            end if;
+        end if;
     else
         select 401, 'bad node type: '||i_node_type
           into ret_code, ret_note;