--
-- acs_mail_link__new/7
--
create or replace function acs_mail_link__new(
  integer,
  integer,
  integer,
  timestamp with time zone,
  integer,
  character varying,
  character varying
) returns int4 as $$

declare
	p_mail_link_id			alias for $1;    -- default null
	p_body_id				alias for $2;
	p_context_id			alias for $3;    -- default null
	p_creation_date			alias for $4;    -- default now()
	p_creation_user			alias for $5;    -- default null
	p_creation_ip			alias for $6;    -- default null
	p_object_type			alias for $7;    -- default acs_mail_link
    v_mail_link_id			acs_mail_links.mail_link_id%TYPE;
begin
    v_mail_link_id := acs_object__new (
		p_mail_link_id,		-- object_id 
		p_object_type,		-- object_type 
		p_creation_date,	-- creation_date 
		p_creation_user,	-- creation_user 
		p_creation_ip,		-- creation_ip 
		p_context_id		-- context_id 
    );

    insert into acs_mail_links 
	 ( mail_link_id, body_id )
	values 
	 ( v_mail_link_id, p_body_id );

    return v_mail_link_id;
end;
$$ language plpgsql;