| Slony-I 2.2.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 8. Schema schemadoc | Fast Forward | Next |
Function Properties
Language: PLPGSQL
Return Type: integer
Internal part of cloneNodePrepare().declare
v_dummy int4;
begin
-- ----
-- Grab the central configuration lock
-- ----
lock table sl_config_lock;
update sl_node set
no_active = np.no_active,
no_comment = np.no_comment,
no_failed = np.no_failed
from sl_node np
where np.no_id = p_no_provider
and sl_node.no_id = p_no_id;
if not found then
insert into sl_node
(no_id, no_active, no_comment,no_failed)
select p_no_id, no_active, p_no_comment, no_failed
from sl_node
where no_id = p_no_provider;
end if;
insert into sl_path
(pa_server, pa_client, pa_conninfo, pa_connretry)
select pa_server, p_no_id, '<event pending>', pa_connretry
from sl_path
where pa_client = p_no_provider
and (pa_server, p_no_id) not in (select pa_server, pa_client
from sl_path);
insert into sl_path
(pa_server, pa_client, pa_conninfo, pa_connretry)
select p_no_id, pa_client, '<event pending>', pa_connretry
from sl_path
where pa_server = p_no_provider
and (p_no_id, pa_client) not in (select pa_server, pa_client
from sl_path);
insert into sl_subscribe
(sub_set, sub_provider, sub_receiver, sub_forward, sub_active)
select sub_set, sub_provider, p_no_id, sub_forward, sub_active
from sl_subscribe
where sub_receiver = p_no_provider;
insert into sl_confirm
(con_origin, con_received, con_seqno, con_timestamp)
select con_origin, p_no_id, con_seqno, con_timestamp
from sl_confirm
where con_received = p_no_provider;
perform RebuildListenEntries();
return 0;
end;