From 39cc7c86809b35245ba773294c608eba4b11bbdf Mon Sep 17 00:00:00 2001
From: Dan Notestein <dan@syncad.com>
Date: Tue, 11 Mar 2025 21:37:01 +0000
Subject: [PATCH] Handle cases where current block being processed is only in
 the blocks_reversible table (avoid returning 0 for a block).

---
 src/hive_fork_manager/app_api.sql | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/hive_fork_manager/app_api.sql b/src/hive_fork_manager/app_api.sql
index bea1242e7..083a0c5aa 100644
--- a/src/hive_fork_manager/app_api.sql
+++ b/src/hive_fork_manager/app_api.sql
@@ -882,10 +882,13 @@ CREATE OR REPLACE FUNCTION hive.get_app_current_block_age(_contexts hive.context
     STABLE
 AS $BODY$
 BEGIN
-    RETURN now() - (select min(coalesce(hafd.blocks.created_at, to_timestamp(0))) from
+    RETURN now() - (select min(coalesce(hafd.blocks.created_at, hafd.blocks_reversible.created_at, to_timestamp(0))) from
                     UNNEST(_contexts) AS context_names(name)
                     LEFT JOIN hafd.contexts USING(name)
-                    LEFT JOIN hafd.blocks on num = hafd.contexts.current_block_num);
+                    LEFT JOIN hafd.blocks on hafd.blocks.num = hafd.contexts.current_block_num
+                    LEFT JOIN hafd.blocks_reversible on hafd.blocks_reversible.num = hafd.contexts.current_block_num AND
+                                                        hafd.blocks_reversible.fork_id = hafd.contexts.fork_id
+                    );
 END;
 $BODY$;
 
-- 
GitLab