関数特性
言語: PLPGSQL
戻り値: bigint
no_id - ノード識別子番号 ノード no_id に対し ENABLE_NODE 事象を生成declare
p_no_id alias for $1;
v_local_node_id int4;
v_node_row record;
begin
-- ----
-- 中枢構成にロックを取得
-- ----
lock table sl_config_lock;
-- ----
-- 私たちは活動的になるノードであるが
-- 現在は動作しないようになっている事の検査
-- ----
v_local_node_id := getLocalNodeId('_schemadoc');
select * into v_node_row
from sl_node
where no_id = p_no_id
for update;
if not found then
raise exception 'Slony-I: node % not found', p_no_id;
end if;
if v_node_row.no_active then
raise exception 'Slony-I: node % is already active', p_no_id;
end if;
-- ----
-- このノードを活性化し、ENABLE_NODE 事象を生成
-- ----
perform enableNode_int (p_no_id);
return createEvent('_schemadoc', 'ENABLE_NODE',
p_no_id);
end;