--
-- rel_segment__new/3
--
create or replace function rel_segment__new(
  character varying,
  integer,
  character varying
) returns int4 as $$

declare
  new__segment_name      alias for $1;  
  new__group_id          alias for $2;  
  new__rel_type          alias for $3;
  v_segment_id           rel_segments.segment_id%TYPE;
begin

   v_segment_id := rel_segment__new(null, 'rel_segment', now(), null, null, null, null, new__segment_name, new__group_id, new__rel_type, null);

   return v_segment_id;

end;$$ language plpgsql;


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

declare
  new__segment_id        alias for $1;  -- default null  
  object_type            alias for $2;  -- default 'rel_segment'
  creation_date          alias for $3;  -- default now()
  creation_user          alias for $4;  -- default null
  creation_ip            alias for $5;  -- default null
  email                  alias for $6;  -- default null
  url                    alias for $7;  -- default null
  new__segment_name      alias for $8;  
  new__group_id          alias for $9;  
  new__rel_type          alias for $10; 
  context_id             alias for $11; -- default null
  v_segment_id           rel_segments.segment_id%TYPE;
begin
  v_segment_id :=
   party__new(new__segment_id, object_type, creation_date, creation_user,
             creation_ip, email, url, context_id);

  update acs_objects
  set title = new__segment_name
  where object_id = v_segment_id;

  insert into rel_segments
   (segment_id, segment_name, group_id, rel_type)
  values
   (v_segment_id, new__segment_name, new__group_id, new__rel_type);

  return v_segment_id;
  
end;$$ language plpgsql;