Index: openacs-4/packages/acs-tcl/tcl/site-nodes-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/site-nodes-procs-postgresql.xql,v
diff -u -r1.23 -r1.23.2.1
--- openacs-4/packages/acs-tcl/tcl/site-nodes-procs-postgresql.xql 31 Oct 2018 14:09:24 -0000 1.23
+++ openacs-4/packages/acs-tcl/tcl/site-nodes-procs-postgresql.xql 23 Oct 2020 16:20:41 -0000 1.23.2.1
@@ -10,22 +10,25 @@
-
- with recursive site_node_tree AS (
- select node_id, parent_id, name, directory_p, pattern_p, object_id
- from site_nodes where node_id = :node_id
- union all
- select c.node_id, c.parent_id, c.name, c.directory_p, c.pattern_p, c.object_id
- from site_node_tree tree, site_nodes c
- where c.parent_id = tree.node_id
- )
- select
- t.node_id, t.parent_id, t.name, t.directory_p, t.pattern_p, t.object_id,
- p.package_key, p.package_id, p.instance_name, pt.package_type
- from site_node_tree t, apm_packages p, apm_package_types pt
- where pt.package_key = p.package_key
- and t.object_id = p.package_id
-
+
+ with recursive site_node_tree as (
+ select node_id, parent_id, name, directory_p, pattern_p,
+ object_id, 1 as tdepth
+ from site_nodes where node_id = :node_id
+ union all
+ select c.node_id, c.parent_id, c.name, c.directory_p,
+ c.pattern_p, c.object_id, tree.tdepth + 1 as tdepth
+ from site_node_tree tree, site_nodes c
+ where c.parent_id = tree.node_id
+ )
+ select t.node_id, t.parent_id, t.name, t.directory_p,
+ t.pattern_p, t.object_id, t.tdepth,
+ p.package_key, p.package_id, p.instance_name, pt.package_type
+ from site_node_tree t
+ join apm_packages p on (t.object_id = p.package_id)
+ join apm_package_types pt on (pt.package_key = p.package_key)
+ order by tdepth, node_id
+