diff --git a/hive/db/sql_scripts/hafapp_api.sql b/hive/db/sql_scripts/hafapp_api.sql index af4832949b7b5222723b6e2fb9a9b843bda8c304..300115e4a41e56b1bebc728636bd32d783819b15 100644 --- a/hive/db/sql_scripts/hafapp_api.sql +++ b/hive/db/sql_scripts/hafapp_api.sql @@ -68,34 +68,33 @@ AS $function$ BEGIN RETURN QUERY - SELECT -- hivemind_app.hive_api_hivemind_blocks - hb.num - , hb.hash - , hb.prev as prev - , to_char( created_at, 'YYYY-MM-DDThh24:MI:SS' ) as date - , COALESCE( oper.operations, '{}'::jsonb[] ) as operations - FROM hivemind_app.blocks_view hb - LEFT JOIN ( + SELECT + hb.num, + hb.hash, + hb.prev, + to_char(hb.created_at, 'YYYY-MM-DD"T"HH24:MI:SS') AS date, + COALESCE(oper.operations, '{}'::jsonb[]) AS operations + FROM hivemind_app.blocks_view AS hb + LEFT JOIN LATERAL ( SELECT - op.block_num - , ARRAY_AGG( to_jsonb(op) ORDER BY op.id ) as operations - FROM - (SELECT - ho.id - , ho.block_num - , ho.op_type_id as operation_type_id - , ho.op_type_id >= 50 AS is_virtual - , ho.body::VARCHAR - FROM hivemind_app.operations_view ho - WHERE ho.block_num BETWEEN _first_block AND _last_block - AND (ho.op_type_id < 50 - OR ho.op_type_id in (51, 53, 61, 72, 73) - ) - ) as op - GROUP BY op.block_num - ) as oper ON oper.block_num = hb.num + ARRAY_AGG( + to_jsonb(op) ORDER BY op.id + ) AS operations + FROM ( + SELECT + ho.id, + ho.block_num, + ho.op_type_id AS operation_type_id, + ho.op_type_id >= 50 AS is_virtual, + ho.body::VARCHAR + FROM hivemind_app.operations_view ho + WHERE ho.block_num = hb.num + AND (ho.op_type_id < 50 + OR ho.op_type_id IN (51, 53, 61, 72, 73)) + ) AS op + ) AS oper ON TRUE WHERE hb.num BETWEEN _first_block AND _last_block - ORDER by hb.num + ORDER BY hb.num ; END $function$ diff --git a/hive/db/sql_scripts/head_block_time.sql b/hive/db/sql_scripts/head_block_time.sql index 70c1cc9a742362b62ba3d73a08218ceb92527493..2f5caed348ef0a64de70c75b4e0ed61af6bc3bbf 100644 --- a/hive/db/sql_scripts/head_block_time.sql +++ b/hive/db/sql_scripts/head_block_time.sql @@ -24,5 +24,5 @@ RETURNS hivemind_app.blocks_view.num%TYPE LANGUAGE 'sql' STABLE AS $BODY$ - SELECT hive.app_get_irreversible_block( 'hivemind_app' ) - CAST( extract(epoch from _time)/3 as INTEGER ); + SELECT hive.get_estimated_hive_head_block() - CAST( extract(epoch from _time)/3 as INTEGER ); $BODY$; diff --git a/scripts/ci/wrapper_for_app_next_block.sql b/scripts/ci/wrapper_for_app_next_block.sql index 6a7ce5a9d05a15d6349120cd1f3cdcebfe57dc91..0d9e95d7f843f07da3ba44c01ab80537c4a0cf6b 100644 --- a/scripts/ci/wrapper_for_app_next_block.sql +++ b/scripts/ci/wrapper_for_app_next_block.sql @@ -30,3 +30,14 @@ BEGIN RETURN __result; END; $BODY$; + +CREATE OR REPLACE FUNCTION hive.get_estimated_hive_head_block() + RETURNS INTEGER + LANGUAGE 'plpgsql' + STABLE +AS +$body$ +BEGIN + RETURN 5000000; +END; +$body$; \ No newline at end of file