1.100. storeset_int( integer, integer, text )

関数特性

言語: PLPGSQL

戻り値: integer

storeSet_int (set_id, set_origin, set_comment) 与えられた識別子、オリジンノード、および人の読めるコメント付きの新規セットを示す STORE_SET 事象を処理します。

declare
	p_set_id			alias for $1;
	p_set_origin			alias for $2;
	p_set_comment			alias for $3;
	v_dummy				int4;
begin
	-- ----
	-- 中枢構成のロックを取得
	-- ----
	lock table sl_config_lock;

	select 1 into v_dummy
			from sl_set
			where set_id = p_set_id
			for update;
	if found then 
		update sl_set
				set set_comment = p_set_comment
				where set_id = p_set_id;
	else
		if not exists (select 1 from sl_node
						where no_id = p_set_origin) then
			perform storeNode_int (p_set_origin, '<event pending>', 'f');
		end if;
		insert into sl_set
				(set_id, set_origin, set_comment) values
				(p_set_id, p_set_origin, p_set_comment);
	end if;

	return p_set_id;
end;