diff --git a/hive b/hive index 98a410673f5d6fb86c776e4f22b10388ea4a346c..015c4c0dc6b76d8b256363335609c5eadbcfaaeb 160000 --- a/hive +++ b/hive @@ -1 +1 @@ -Subproject commit 98a410673f5d6fb86c776e4f22b10388ea4a346c +Subproject commit 015c4c0dc6b76d8b256363335609c5eadbcfaaeb diff --git a/src/hive_fork_manager/state_providers/update_providers.sql b/src/hive_fork_manager/state_providers/update_providers.sql index aa05171096e8e69830b70c29cdb75ad57c65ed26..c4235256c61170b3ebed7ccd7b865ca751f4684b 100644 --- a/src/hive_fork_manager/state_providers/update_providers.sql +++ b/src/hive_fork_manager/state_providers/update_providers.sql @@ -3,8 +3,16 @@ CREATE OR REPLACE FUNCTION hive.state_provider_update_runtime( _provider hafd.st LANGUAGE plpgsql AS $BODY$ +DECLARE + __owner NAME; BEGIN + SELECT hc.owner INTO __owner FROM hafd.contexts hc WHERE hc.name = _context; + + EXECUTE format('SET ROLE %s', __owner); + EXECUTE format('SELECT hive.runtimecode_provider_%s(%L)', _provider, _context ); + + RESET ROLE; END; $BODY$ ;