Node Archive and Move performance improvements

- This use case uses getPaths() instead of cycleCheck.  This is due to the nature of the archive process, but will
   be changed once cycleCheck is made to happen faster.
 - Efficient child node cache invalidation


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31382 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2011-10-20 14:28:13 +00:00
parent 77dfff3c0c
commit 36f8874211
5 changed files with 143 additions and 53 deletions

View File

@@ -4,13 +4,32 @@
<mapper namespace="alfresco.node.select.children">
<!-- Note the MySQL specific fetch size limitation (Integer.MIN_VALUE) on this statement. This activates result set streaming. -->
<!-- Note the MySQL specific fetch size limitation (Integer.MIN_VALUE). fetchSize activates resultset streaming. -->
<!-- '1=1': Makes the SQL string unique WRT the prepared statement cache -->
<select id="select_ChildAssocsOfParent_Limited" parameterType="ChildAssoc" resultMap="result_ChildAssoc" fetchSize="-2147483648">
<include refid="alfresco.node.select_ChildAssocsOfParent_Query"/>
and 1=1 <!-- This part present to make the SQL string unique WRT the prepared statement cache -->
and 1=1
<if test="ordered == true">
<include refid="alfresco.node.select_ChildAssoc_OrderBy"/>
</if>
</select>
<select id="select_ChildNodeIds_Limited" parameterType="Ids" resultMap="result_ChildAssocIds" fetchSize="-2147483648">
<![CDATA[
select
ca.id as id,
ca.child_node_id as child_node_id
from
alf_child_assoc ca
where
ca.parent_node_id = #{parentNode.id} and
ca.is_primary = #{isPrimary} and
ca.id >= #{id}
and 1=1
order by
ca.id
]]>
</select>
</mapper>