-- -- apm_package_version__edit/12 -- create or replace function apm_package_version__edit( integer, integer, character varying, character varying, character varying, character varying, character varying, timestamp with time zone, character varying, character varying, boolean, boolean ) returns int4 as $$ declare edit__new_version_id alias for $1; -- default null edit__version_id alias for $2; edit__version_name alias for $3; -- default null edit__version_uri alias for $4; edit__summary alias for $5; edit__description_format alias for $6; edit__description alias for $7; edit__release_date alias for $8; edit__vendor alias for $9; edit__vendor_uri alias for $10; edit__installed_p alias for $11; -- default 'f' edit__data_model_loaded_p alias for $12; -- default 'f' v_version_id apm_package_versions.version_id%TYPE; version_unchanged_p integer; begin -- Determine if version has changed. select case when count(*) = 0 then 0 else 1 end into version_unchanged_p from apm_package_versions where version_id = edit__version_id and version_name = edit__version_name; if version_unchanged_p <> 1 then v_version_id := apm_package_version__copy( edit__version_id, edit__new_version_id, edit__version_name, edit__version_uri, 'f' ); else v_version_id := edit__version_id; end if; update apm_package_versions set version_uri = edit__version_uri, summary = edit__summary, description_format = edit__description_format, description = edit__description, release_date = date_trunc('days',now()), vendor = edit__vendor, vendor_uri = edit__vendor_uri, installed_p = edit__installed_p, data_model_loaded_p = edit__data_model_loaded_p where version_id = v_version_id; return v_version_id; end;$$ language plpgsql; -- -- apm_package_version__edit/13 -- create or replace function apm_package_version__edit( integer, integer, character varying, character varying, character varying, character varying, character varying, timestamp with time zone, character varying, character varying, character varying, boolean, boolean ) returns int4 as $$ declare edit__new_version_id alias for $1; -- default null edit__version_id alias for $2; edit__version_name alias for $3; -- default null edit__version_uri alias for $4; edit__summary alias for $5; edit__description_format alias for $6; edit__description alias for $7; edit__release_date alias for $8; edit__vendor alias for $9; edit__vendor_uri alias for $10; edit__auto_mount alias for $11; edit__installed_p alias for $12; -- default 'f' edit__data_model_loaded_p alias for $13; -- default 'f' v_version_id apm_package_versions.version_id%TYPE; version_unchanged_p integer; begin -- Determine if version has changed. select case when count(*) = 0 then 0 else 1 end into version_unchanged_p from apm_package_versions where version_id = edit__version_id and version_name = edit__version_name; if version_unchanged_p <> 1 then v_version_id := apm_package_version__copy( edit__version_id, edit__new_version_id, edit__version_name, edit__version_uri, 'f' ); else v_version_id := edit__version_id; end if; update apm_package_versions set version_uri = edit__version_uri, summary = edit__summary, description_format = edit__description_format, description = edit__description, release_date = date_trunc('days',now()), vendor = edit__vendor, vendor_uri = edit__vendor_uri, auto_mount = edit__auto_mount, installed_p = edit__installed_p, data_model_loaded_p = edit__data_model_loaded_p where version_id = v_version_id; return v_version_id; end;$$ language plpgsql;