Index: openacs-4/packages/acs-kernel/catalog/acs-kernel.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/catalog/acs-kernel.en_US.ISO-8859-1.xml,v diff -u -r1.38 -r1.39 --- openacs-4/packages/acs-kernel/catalog/acs-kernel.en_US.ISO-8859-1.xml 5 Jun 2006 00:02:37 -0000 1.38 +++ openacs-4/packages/acs-kernel/catalog/acs-kernel.en_US.ISO-8859-1.xml 16 Nov 2006 11:58:17 -0000 1.39 @@ -1,5 +1,5 @@ - + Administrator Administrators @@ -67,6 +67,7 @@ Permissions Previous previous + Print Register register Repeat Index: openacs-4/packages/acs-kernel/sql/postgresql/acs-relationships-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/acs-relationships-create.sql,v diff -u -r1.23 -r1.24 --- openacs-4/packages/acs-kernel/sql/postgresql/acs-relationships-create.sql 25 Sep 2006 17:59:16 -0000 1.23 +++ openacs-4/packages/acs-kernel/sql/postgresql/acs-relationships-create.sql 16 Nov 2006 11:58:17 -0000 1.24 @@ -473,7 +473,7 @@ -- function new select define_function_args('acs_rel__new','rel_id,rel_type,object_id_one,object_id_two,context_id,creation_user,creation_ip'); -create function acs_rel__new (integer,varchar,integer,integer,integer,integer,varchar) +create or replace function acs_rel__new (integer,varchar,integer,integer,integer,integer,varchar) returns integer as ' declare new__rel_id alias for $1; -- default null @@ -487,6 +487,9 @@ begin -- XXX This should check that object_id_one and object_id_two are -- of the appropriate types. + + LOCK TABLE acs_objects IN SHARE ROW EXCLUSIVE MODE; + v_rel_id := acs_object__new ( new__rel_id, new__rel_type, Index: openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.3.0d2-5.3.0d3.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/upgrade/Attic/upgrade-5.3.0d2-5.3.0d3.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.3.0d2-5.3.0d3.sql 16 Nov 2006 11:58:17 -0000 1.1 @@ -0,0 +1,37 @@ +create or replace function acs_rel__new (integer,varchar,integer,integer,integer,integer,varchar) +returns integer as ' +declare + new__rel_id alias for $1; -- default null + new__rel_type alias for $2; -- default ''relationship'' + new__object_id_one alias for $3; + new__object_id_two alias for $4; + context_id alias for $5; -- default null + creation_user alias for $6; -- default null + creation_ip alias for $7; -- default null + v_rel_id acs_rels.rel_id%TYPE; +begin + -- XXX This should check that object_id_one and object_id_two are + -- of the appropriate types. + + LOCK TABLE acs_objects IN SHARE ROW EXCLUSIVE MODE; + + v_rel_id := acs_object__new ( + new__rel_id, + new__rel_type, + now(), + creation_user, + creation_ip, + context_id, + ''t'', + new__rel_type || '': '' || new__object_id_one || '' - '' || new__object_id_two, + null + ); + + insert into acs_rels + (rel_id, rel_type, object_id_one, object_id_two) + values + (v_rel_id, new__rel_type, new__object_id_one, new__object_id_two); + + return v_rel_id; + +end;' language 'plpgsql';