Index: openacs-4/packages/acs-kernel/acs-kernel.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/acs-kernel.info,v
diff -u -r1.150.2.6 -r1.150.2.7
--- openacs-4/packages/acs-kernel/acs-kernel.info 23 Feb 2019 13:03:40 -0000 1.150.2.6
+++ openacs-4/packages/acs-kernel/acs-kernel.info 25 Feb 2019 12:29:08 -0000 1.150.2.7
@@ -9,15 +9,15 @@
f
t
-
+
OpenACS Core Team
Routines and data models providing the foundation for OpenACS-based Web services.
2017-08-06
OpenACS
The OpenACS kernel contains the core datamodel create and drop scripts for such things as objects, groups, parties and the supporting PL/SQL and PL/pgSQL procedures.
3
-
+
Index: openacs-4/packages/acs-kernel/sql/postgresql/site-nodes-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/site-nodes-create.sql,v
diff -u -r1.30 -r1.30.2.1
--- openacs-4/packages/acs-kernel/sql/postgresql/site-nodes-create.sql 1 May 2018 10:45:43 -0000 1.30
+++ openacs-4/packages/acs-kernel/sql/postgresql/site-nodes-create.sql 25 Feb 2019 12:29:08 -0000 1.30.2.1
@@ -7,7 +7,6 @@
--
-
--
-- procedure inline_0/0
--
@@ -59,191 +58,20 @@
-- mapped to this node?
pattern_p boolean default false not null,
object_id integer constraint site_nodes_object_id_fk
- references acs_objects (object_id),
- tree_sortkey varbit
+ references acs_objects (object_id)
);
create index site_nodes_object_id_idx on site_nodes (object_id);
create index site_nodes_parent_object_node_id_idx on site_nodes(parent_id, object_id, node_id);
-create index site_nodes_tree_skey_idx on site_nodes (tree_sortkey);
create index site_nodes_parent_id_idx on site_nodes(parent_id);
-
---
--- procedure site_node_get_tree_sortkey/1
---
-select define_function_args('site_node_get_tree_sortkey','node_id');
-
-CREATE OR REPLACE FUNCTION site_node_get_tree_sortkey(
- p_node_id integer
-) RETURNS varbit AS $$
-DECLARE
-BEGIN
- return tree_sortkey from site_nodes where node_id = p_node_id;
-END;
-$$ LANGUAGE plpgsql stable strict;
-
-
-
---
--- procedure site_node_insert_tr/0
---
-CREATE OR REPLACE FUNCTION site_node_insert_tr(
-
-) RETURNS trigger AS $$
-DECLARE
- v_parent_sk varbit default null;
- v_max_value integer;
-BEGIN
- if new.parent_id is null then
- select max(tree_leaf_key_to_int(tree_sortkey)) into v_max_value
- from site_nodes
- where parent_id is null;
- else
- select max(tree_leaf_key_to_int(tree_sortkey)) into v_max_value
- from site_nodes
- where parent_id = new.parent_id;
-
- select tree_sortkey into v_parent_sk
- from site_nodes
- where node_id = new.parent_id;
- end if;
-
- new.tree_sortkey := tree_next_key(v_parent_sk, v_max_value);
-
- return new;
-
-END;
-$$ LANGUAGE plpgsql;
-
-create trigger site_node_insert_tr before insert
-on site_nodes for each row
-execute procedure site_node_insert_tr ();
-
-
-
---
--- procedure site_node_update_tr/0
---
-CREATE OR REPLACE FUNCTION site_node_update_tr(
-
-) RETURNS trigger AS $$
-DECLARE
- v_parent_sk varbit default null;
- v_max_value integer;
- p_id integer;
- v_rec record;
- clr_keys_p boolean default 't';
-BEGIN
- if new.node_id = old.node_id and
- ((new.parent_id = old.parent_id) or
- (new.parent_id is null and old.parent_id is null)) then
-
- return new;
-
- end if;
-
- for v_rec in select node_id
- from site_nodes
- where tree_sortkey between new.tree_sortkey and tree_right(new.tree_sortkey)
- order by tree_sortkey
- LOOP
- if clr_keys_p then
- update site_nodes set tree_sortkey = null
- where tree_sortkey between new.tree_sortkey and tree_right(new.tree_sortkey);
- clr_keys_p := 'f';
- end if;
-
- select parent_id into p_id
- from site_nodes
- where node_id = v_rec.node_id;
-
- if p_id is null then
- select max(tree_leaf_key_to_int(tree_sortkey)) into v_max_value
- from site_nodes
- where parent_id is null;
- else
- select max(tree_leaf_key_to_int(tree_sortkey)) into v_max_value
- from site_nodes
- where parent_id = p_id;
-
- select tree_sortkey into v_parent_sk
- from site_nodes
- where node_id = p_id;
- end if;
-
- update site_nodes
- set tree_sortkey = tree_next_key(v_parent_sk, v_max_value)
- where node_id = v_rec.node_id;
-
- end LOOP;
-
- return new;
-
-END;
-$$ LANGUAGE plpgsql;
-
-create trigger site_node_update_tr after update
-on site_nodes
-for each row
-execute procedure site_node_update_tr ();
-
-
--- create or replace package site_node
--- as
--
--- -- Create a new site node. If you set directory_p to be 'f' then you
--- -- cannot create nodes that have this node as their parent.
+-- procedure site_node__new/8
--
--- function new (
--- node_id in site_nodes.node_id%TYPE default null,
--- parent_id in site_nodes.node_id%TYPE default null,
--- name in site_nodes.name%TYPE,
--- object_id in site_nodes.object_id%TYPE default null,
--- directory_p in site_nodes.directory_p%TYPE,
--- pattern_p in site_nodes.pattern_p%TYPE default 'f',
--- creation_user in acs_objects.creation_user%TYPE default null,
--- creation_ip in acs_objects.creation_ip%TYPE default null
--- ) return site_nodes.node_id%TYPE;
---
--- -- Delete a site node.
---
--- procedure delete (
--- node_id in site_nodes.node_id%TYPE
--- );
---
--- -- Return the node_id of a URL. If the url begins with '/' then the
--- -- parent_id must be null. This will raise the no_data_found
--- -- exception if there is no mathing node in the site_nodes table.
--- -- This will match directories even if no trailing slash is included
--- -- in the url.
---
--- function node_id (
--- url in varchar2,
--- parent_id in site_nodes.node_id%TYPE default null
--- ) return site_nodes.node_id%TYPE;
---
--- -- Return the url of a node_id.
---
--- function url (
--- node_id in site_nodes.node_id%TYPE
--- ) return varchar2;
---
--- end;
--- show errors
-
-
--- old define_function_args ('site_node__new', 'node_id,parent_id,name,object_id,directory_p,pattern_p,creation_user,creation_ip')
--- new
select define_function_args('site_node__new','node_id;null,parent_id;null,name,object_id;null,directory_p,pattern_p;f,creation_user;null,creation_ip;null');
-
-
---
--- procedure site_node__new/8
---
CREATE OR REPLACE FUNCTION site_node__new(
new__node_id integer, -- default null
new__parent_id integer, -- default null
Fisheye: Tag 1.1.2.4 refers to a dead (removed) revision in file `openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.10.0d12-5.10.0d13.sql'.
Fisheye: No comparison available. Pass `N' to diff?