1.47. dropset_int( integer )

関数特性

言語: PLPGSQL

戻り値: integer

declare
	p_set_id			alias for $1;
	v_tab_row			record;
begin
	-- ----
	-- 中枢構成にロックの取得
	-- ----
	lock table sl_config_lock;
	
	-- ----
	-- 全てのテーブルの元のトリガーとルールをリストアし
	-- レプリケーション材料を削除
	-- ----
	for v_tab_row in select tab_id from sl_table
			where tab_set = p_set_id
			order by tab_id
	loop
		perform alterTableRestore(v_tab_row.tab_id);
		perform tableDropKey(v_tab_row.tab_id);
	end loop;

	-- ----
	-- セット構成の全てのトレースを削除
	-- ----
	delete from sl_sequence
			where seq_set = p_set_id;
	delete from sl_table
			where tab_set = p_set_id;
	delete from sl_subscribe
			where sub_set = p_set_id;
	delete from sl_setsync
			where ssy_setid = p_set_id;
	delete from sl_set
			where set_id = p_set_id;

	-- 購読を更新したため sl_listen を再生成
	perform RebuildListenEntries();

	return p_set_id;
end;