From 651dd5f4578bde761cf4164f752b25aad09419df Mon Sep 17 00:00:00 2001 From: Marko Kreen Date: Fri, 15 Jun 2012 16:53:34 +0300 Subject: [PATCH] pgq.maint_rotate_tables: check txid sanity, fail if bad --- sql/pgq/functions/pgq.maint_rotate_tables.sql | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sql/pgq/functions/pgq.maint_rotate_tables.sql b/sql/pgq/functions/pgq.maint_rotate_tables.sql index d972a04e..d3cee739 100644 --- a/sql/pgq/functions/pgq.maint_rotate_tables.sql +++ b/sql/pgq/functions/pgq.maint_rotate_tables.sql @@ -30,6 +30,12 @@ begin return 0; end if; + -- if DB is in invalid state, stop + if txid_current() < cf.queue_switch_step1 then + raise exception 'queue % maint failure: step1=%, current=%', + i_queue_name, cf.queue_switch_step1, txid_current(); + end if; + -- find lowest tick for that queue select min(sub_last_tick) into lowest_tick_id from pgq.subscription -- 2.39.5