Forum OpenACS Development: Re: PL/pgSQL concurrency and tree_sortkey questions

Posted by Jeff Davis on
Andrew, No, it has not been fixed yet and it (and thanks for pointing out Patrick's solution). I think there is still a locking problem with Patrick's code (not based on anything but hearsay though) but the more commonly encountered problem, besides the performance one that got me looking into it, is the duped tree_sortkeys. There are some places where code like Patricks has been implemented (forums, dotlrn_communities_all, dotlrn_community_types all maintain a max_child_sortkey in the parent) but it's not in: sp_folders, bm_bookmarks, acs_messages, cr_keywords, cr_items, site_nodes, acs_privilege_hierarchy_index, acs_objects, and acs_object_types.

Yes, most of the oracle datamodel uses connect by for this rather than tree_sortkey but they are roughly equivalent. The tree_sortkey stuff has been implemented in oracle is used in dotlrn (for the dotlrn_communities_all and dotlrn_community_types tables). My gut tells me tree_sortkey is a better answer for heirarchies that are mostly static but I am not aware of anyone having benchmarked things.