--
-- pa_photo__new/16
--
create or replace function pa_photo__new(
character varying,
integer,
integer,
integer,
timestamp with time zone,
integer,
character varying,
character varying,
integer,
character varying,
character varying,
boolean,
timestamp with time zone,
character varying,
character varying,
text
) returns int4 as $$
declare
new__name alias for $1;
new__parent_id alias for $2; -- default null
new__item_id alias for $3; -- default null
new__revision_id alias for $4; -- default null
new__creation_date alias for $5; -- default now()
new__creation_user alias for $6; -- default null
new__creation_ip alias for $7; -- default null
new__locale alias for $8; -- default null
new__context_id alias for $9; -- default null
new__title alias for $10; -- default null
new__description alias for $11; -- default null
new__is_live alias for $12; -- default f
new__publish_date alias for $13; -- default now()
new__nls_language alias for $14; -- default null
new__caption alias for $15; -- default null
new__story alias for $16; -- default null
-- mime_type determined by image content_type
new__mime_type varchar default null;
-- the same as title
-- user_filename in pa_photos.user_filename%TYPE default null
new__content_type varchar default 'pa_photo';
new__relation_tag varchar default null;
v_item_id cr_items.item_id%TYPE;
v_revision_id cr_revisions.revision_id%TYPE;
begin
v_item_id := content_item__new (
new__name,
new__parent_id,
new__item_id,
new__locale,
new__creation_date,
new__creation_user,
new__context_id,
new__creation_ip,
'content_item',
new__content_type,
null,
null,
null,
null,
null
);
-- not needed in the new call to content_item__new
-- new__relation_tag,
v_revision_id := content_revision__new (
new__title,
new__description,
new__publish_date,
new__mime_type,
new__nls_language,
null,
v_item_id,
new__revision_id,
new__creation_date,
new__creation_user,
new__creation_ip
);
insert into pa_photos
(pa_photo_id, caption, story, user_filename)
values
(v_revision_id, new__caption, new__story, new__title);
if new__is_live = 't' then
PERFORM content_item__set_live_revision (v_revision_id);
end if;
return v_item_id;
end; $$ language plpgsql;