-- -- -- -- @author Andrew Grumet (aegrumet@alum.mit.edu) -- @creation-date 2005-07-07 -- @cvs-id $Id: upgrade-2.1.2d1-2.1.2d2.sql,v 1.1.4.2 2005/09/26 08:50:04 victorg Exp $ -- -- altering static_portal_content in order to support -- defining different format type for the content of the static portlet alter table static_portal_content add format varchar2(30) default 'text/html'; update static_portal_content set format = 'text/html'; alter table static_portal_content add constraint static_p_c_format_ck check (format in ('text/enhanced', 'text/plain', 'text/fixed-width', 'text/html')); -- updating data update static_portal_content set format = 'text/enhanced', body = dbms_lob.substr(body,dbms_lob.getlength(body)-13,1) where dbms_lob.substr(body,13,dbms_lob.getlength(body)-12) = 'text/enhanced'; update static_portal_content set format = 'text/plain', body = dbms_lob.substr(body,dbms_lob.getlength(body)-10,1) where dbms_lob.substr(body,10,dbms_lob.getlength(body)-9) = 'text/plain'; update static_portal_content set format = 'text/fixed-width', body = dbms_lob.substr(body,dbms_lob.getlength(body)-16,1) where dbms_lob.substr(body,16,dbms_lob.getlength(body)-15) = 'text/fixed-width'; update static_portal_content set format = 'text/html', body = dbms_lob.substr(body,dbms_lob.getlength(body)-9,1) where dbms_lob.substr(body,9,dbms_lob.getlength(body)-8) = 'text/html'; -- -- API -- -- content is still a varchar, even though it is being used to put content -- into body, a clob, because a varchar is what's being passed in from the -- Tcl script. create or replace package static_portal_content_item as function new ( package_id in static_portal_content.package_id%TYPE default null, pretty_name in static_portal_content.pretty_name%TYPE default null, content in varchar default null, format in varchar default 'text/html', object_type in acs_objects.object_type%TYPE default 'static_portal_content', creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null, context_id in acs_objects.context_id%TYPE default null ) return acs_objects.object_id%TYPE; procedure del ( content_id in static_portal_content.content_id%TYPE ); end static_portal_content_item; / show errors create or replace package body static_portal_content_item as function new ( package_id in static_portal_content.package_id%TYPE default null, pretty_name in static_portal_content.pretty_name%TYPE default null, content in varchar default null, format in varchar default 'text/html', object_type in acs_objects.object_type%TYPE default 'static_portal_content', creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null, context_id in acs_objects.context_id%TYPE default null ) return acs_objects.object_id%TYPE is v_content_id static_portal_content.content_id%TYPE; begin v_content_id := acs_object.new ( object_type => object_type, creation_date => creation_date, creation_user => creation_user, creation_ip => creation_ip, context_id => context_id ); insert into static_portal_content (content_id, package_id, pretty_name, body, format) values (v_content_id, new.package_id, new.pretty_name, new.content, new.format); return v_content_id; end new; procedure del ( content_id in static_portal_content.content_id%TYPE ) is begin delete from static_portal_content where content_id = content_id; acs_object.del(content_id); end del; end static_portal_content_item; / show errors