gustafn
committed
on 23 Mar 15
- bumped version to 0.161
- substantially improved scalability when acessing xowiki form pages
based on attributes specified in revision t… Show more
- bumped version to 0.161

- substantially improved scalability when acessing xowiki form pages

 based on attributes specified in revision tables.

- much faster version of folders.folder_query (mostly relevant, when having

 hundreds/thousands of folders) and FormPage.get_form_entries

- transferred hstore support from xowf to xowiki (e.g. utilities in

 ::xowiki::hstore::*)

- FormPage.hstore_attributes: added configurable support for

 specifying, what attributes of instance-attributes should

 be used in hstore.

- change virus scanning from  "clamscan" to "clamdscan"

 (use daemon-based version for improved performance

 when uploading files)

 # - xowiki_form_instance_item_index:

 #

 #   A materialized table of xowiki formpage instances, containing

 #   just the item information, but combined with other attributes

 #   frequently used for indexing (like page_id, paren_id, ... hkey).

 #

 #   Rationale: The quality of indices on cr_revisions tend to

 #   decrease when there are many revisions stored in the database,

 #   since the number of duplicates increases due to non-live

 #   revisions. This table can be used for indexing just the live

 #   revision on the item level.

 #

 #      select count(*) from xowiki_form_instance_item_index

 #      where package_id = 18255683

 #         and page_template = 20260757

 #         and publish_status='ready';

 #

 #

 # Define helper views in connection with the form_instance_item_index:

 #

 # - xowiki_form_instance_item_view:

 #

 #   A view similar to xowiki_form_pagei, but containing already

 #   often extra-joined attributes like parent_id, object_type,

 #   publish_status, etc.. This view returns

 #   only the values of the live revisions, and uses

 #   "form_instance_item_index" for quick lookup.

 #

 #      select * from xowiki_form_instance_item_view

 #      where package_id = 18255683

 #         and page_template = 20260757

 #         and publish_status='ready';

 #

 #

 # - xowiki_form_instance_children:

 #

 #   Return the root_item_id and all attributes of the

 #   form_instance_item_index of all child items under the tree based

 #   on parent_ids. Use a query like the following to count the

 #   children of an item having a certain page_template (e.g.

 #   find all the folders/links/... having the the specified item as

 #  parent).

 #

 #      select count(*) from xowiki_form_instance_children

 #      where root_item_id = 18255779

 #         and page_template = 20260757

 #         and publish_status='ready';

 #

 # - xowiki_form_instance_attributes

 #

 #   Return for a given item_id the full set of attributes like the

 #   one returned from xowiki_form_instance_item_view. The idea is to

 #   make it convenient to obtain from a query all attributes

 #   necessary for creating instances. The same view can be used to

 #   complete either values from the xowiki_form_instance_item_index

 #

 #      select * from xowiki_form_instance_item_index xi

 #      left join xowiki_form_instance_attributes xa on xi.item_id = xa.item_id;

 #

 #   or from xowiki_form_instance_children

 #

 #      select * from xowiki_form_instance_children ch

 #      left join xowiki_form_instance_attributes xa on ch.item_id = xa.item_id;

Show less