--
--
--
-- @author Victor Guerra (guerra@galileo.edu)
-- @creation-date 2006-07-13
-- @cvs-id $Id: upgrade-5.2.0d18-5.2.0d19.sql,v 1.5 2018/08/15 16:49:20 gustafn Exp $
--
-- this script was originally created by daveb -- upgrade-5.2.0d15-5.2.0a1.sql
-- patch#548 bug#1937
select define_function_args('content_revision__copy_attributes','content_type,revision_id,copy_id');
create or replace function content_revision__copy_attributes (varchar,integer,integer)
returns integer as '
declare
copy_attributes__content_type alias for $1;
copy_attributes__revision_id alias for $2;
copy_attributes__copy_id alias for $3;
v_table_name acs_object_types.table_name%TYPE;
v_id_column acs_object_types.id_column%TYPE;
cols varchar default '''';
attr_rec record;
begin
if copy_attributes__content_type is null or copy_attributes__revision_id is null or copy_attributes__copy_id is null then
raise exception ''content_revision__copy_attributes called with null % % %'',copy_attributes__content_type,copy_attributes__revision_id, copy_attributes__copy_id;
end if;
select table_name, id_column into v_table_name, v_id_column
from acs_object_types where object_type = copy_attributes__content_type;
for attr_rec in select
attribute_name
from
acs_attributes
where
object_type = copy_attributes__content_type
LOOP
cols := cols || '', '' || attr_rec.attribute_name;
end loop;
execute ''insert into '' || v_table_name || ''('' || v_id_column || cols || '')'' || '' select '' || copy_attributes__copy_id ||
'' as '' || v_id_column || cols || '' from '' ||
v_table_name || '' where '' || v_id_column || '' = '' ||
copy_attributes__revision_id;
return 0;
end;' language 'plpgsql';
--
--
--
-- @author Dave Bauer (dave@thedesignexperience.org)
-- @creation-date 2005-06-05
--
-- patch#548 bug#1937
select define_function_args('content_revision__copy_attributes','content_type,revision_id,copy_id');
create or replace function content_revision__copy_attributes (varchar,integer,integer)
returns integer as '
declare
copy_attributes__content_type alias for $1;
copy_attributes__revision_id alias for $2;
copy_attributes__copy_id alias for $3;
v_table_name acs_object_types.table_name%TYPE;
v_id_column acs_object_types.id_column%TYPE;
cols varchar default '''';
attr_rec record;
begin
if copy_attributes__content_type is null or copy_attributes__revision_id is null or copy_attributes__copy_id is null then
raise exception ''content_revision__copy_attributes called with null % % %'',copy_attributes__content_type,copy_attributes__revision_id, copy_attributes__copy_id;
end if;
select table_name, id_column into v_table_name, v_id_column
from acs_object_types where object_type = copy_attributes__content_type;
for attr_rec in select
attribute_name
from
acs_attributes
where
object_type = copy_attributes__content_type
LOOP
cols := cols || '', '' || attr_rec.attribute_name;
end loop;
execute ''insert into '' || v_table_name || ''('' || v_id_column || cols || '')'' || '' select '' || copy_attributes__copy_id ||
'' as '' || v_id_column || cols || '' from '' ||
v_table_name || '' where '' || v_id_column || '' = '' ||
copy_attributes__revision_id;
return 0;
end;' language 'plpgsql';