Added new AVM node type DeletedNode (aka, ghost, tombstone), a marker node for a

node that has been deleted in a version. This makes tree comparisons easier by
resolving the cases in which one wants to know whether a deletions is more or less 
recent than another version of a node.  Along the way got rid of DeletedChild and 
friends including a table in the schema, since DeletedNode takes on all the work
that it performed.
Deleted two illegally named files in Virgin content.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3748 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-09-10 17:20:35 +00:00
parent 11772e5796
commit 8a95b09b98
21 changed files with 382 additions and 483 deletions

View File

@@ -45,6 +45,12 @@
<!-- ACL -->
<many-to-one name="acl" column="acl_id"
class="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl"/>
<!-- Deleted nodes -->
<subclass name="DeletedNodeImpl"
proxy="DeletedNode"
lazy="true"
discriminator-value="deletednode">
</subclass>
<!-- Directories, two flavors. -->
<subclass name="DirectoryNodeImpl"
proxy="DirectoryNode"
@@ -141,15 +147,6 @@
<many-to-one name="child" column="child_id" class="AVMNodeImpl"
not-null="true"/>
</class>
<class table="avm_deleted_children" name="DeletedChildImpl" proxy="DeletedChild">
<cache usage="read-write"/>
<id name="id" column="id" type="long">
<generator class="native"/>
</id>
<property name="name" column="name" type="string" index="deleted_child_name_index"/>
<many-to-one name="parent" class="LayeredDirectoryNodeImpl"
column="parent_id"/>
</class>
<class name="HistoryLinkImpl" proxy="HistoryLink" table="avm_history_links">
<composite-id>
<key-many-to-one name="ancestor" class="AVMNodeImpl" column="ancestor"/>
@@ -280,26 +277,6 @@
v.avmStore = :store and v.versionID = :version
]]>
</query>
<query name="DeletedChild.ByNameParent">
<![CDATA[
from DeletedChildImpl dc
where
dc.parent = :parent and dc.name = :name
]]>
</query>
<query name="DeletedChild.ByParent">
<![CDATA[
from DeletedChildImpl dc
where
dc.parent = :parent
]]>
</query>
<query name="DeletedChild.DeleteByParent">
<![CDATA[
delete DeletedChildImpl dc
where dc.parent = :parent
]]>
</query>
<query name="FindOrphans">
<![CDATA[
from AVMNodeImpl an