Content-Repository Reform: reduce dependency on cr_child_rels and make creation of cr_child_rels entries optional. Most applications do not need cr_child_rels, these take substantial space and slow down operations. The change is fully backward compatible, since per default cr_child_rels are still created. First tests show an improvement for the creation of cr_items by 17% and for deletion by 28% (when parent item is a plain cr_item, as it is e.g. the case in xwowiki). Same change made as well for Oracle.
- affected functions (here with pg-names) * procedure content_item__new/21 (version for text or file entries) has new optional boolean parameter: with_child_rels * procedure content_item__new/17 (version for blob entries) has new optional boolean parameter: with_child_rels
- remove/reduce dependency on cr_child_rels (if no rel-tag is used, the chile-information is obtained from cr_items) * content_item__is_publishable/1 * content_item__is_valid_child/3 * content_item__is_valid_child/2
- reduce number of functions by using defaults * content_item__copy/5 * content_item__get_title/2 * content_item__move/3
Content-Repository Reform: reduce dependency on cr_child_rels and simplify content_item__del() via cascading delete operations - remove manual deletion operations from content_item__del() via * delete cr_child_rels via "ON DELETE CASCADE" on parent_id and child_id * delete cr_item_rels via "ON DELETE CASCADE" on item_id * delete acs_object_context_index entries via "ON DELETE CASCADE" on ancestor_id and object_id * delete acs_objects entries via "ON DELETE CASCADE" on context_id - remove manual deletion operations for symlinks amd journal entries, since db constrains handle the deletion already - use cr_items.parent_id instead of cr_child_rels to determine direct children of items - remove deletion trigger for content search content_search__dtrg since "ON DELETE CASCADE" removes entries already