Added 'version' column to ADM entities

- A patch will assign initial version values to the entities
 - Deprecated TransactionUtil in favour of the RetryingTransactionHelper
 - Renamed RetryingTransactionHelper.Callback to RetryingTransactionHelper.RetryingTransactionCallback
   The name Callback clashes with many other classes in the classpath
 - Moved loads of components to be included in the retry behaviour
Duplicate name checks
 - This is done using a query, but the entity update is not written to the database early
 - Concurrent adds of the same-named child node will only fail at the end of the transaction
 - TODO: Detect the duplicate violation during transaction retrying
Workaround for ADMLuceneTest
 - Disable session size resource management during tests


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5823 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2007-06-01 12:40:17 +00:00
parent bbbd18923f
commit 819c7084a2
45 changed files with 818 additions and 230 deletions

View File

@@ -54,6 +54,7 @@
<ref bean="patch.db-V2.0-ExplicitIndexes" />
<ref bean="patch.db-V2.0-AVMFKIndexes" />
<ref bean="patch.db-V2.1-JBPMData" />
<ref bean="patch.db-V2.1-VersionColumns" />
</list>
</property>
</bean>

View File

@@ -0,0 +1,32 @@
--
-- Title: Fill 'version' columns with data
-- Database: Generic
-- Since: V2.1 Schema 54
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
UPDATE alf_store SET version = 1 WHERE version IS NULL;
UPDATE alf_node SET version = 1 WHERE version IS NULL;
UPDATE alf_child_assoc SET version = 1 WHERE version IS NULL;
UPDATE alf_node_assoc SET version = 1 WHERE version IS NULL;
UPDATE alf_node_status SET version = 1 WHERE version IS NULL;
UPDATE alf_transaction SET version = 1 WHERE version IS NULL;
UPDATE alf_server SET version = 1 WHERE version IS NULL;
UPDATE alf_access_control_list SET version = 1 WHERE version IS NULL;
UPDATE alf_access_control_entry SET version = 1 WHERE version IS NULL;
UPDATE alf_permission SET version = 1 WHERE version IS NULL;
UPDATE alf_authority SET version = 1 WHERE version IS NULL;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-VersionColumns';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V2.1-VersionColumns', 'Manually executed script upgrade V2.1: Created initial version number for ADM entities',
0, 53, -1, 54, null, 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -177,7 +177,7 @@
<ref bean="sessionFactory" />
</property>
<property name="threshold">
<value>2000</value>
<value>5000</value>
</property>
</bean>

View File

@@ -753,4 +753,16 @@
<ref bean="avmNodeDAO"/>
</property>
</bean>
<bean id="patch.db-V2.1-VersionColumns" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V2.1-VersionColumns</value></property>
<property name="description"><value>patch.schemaUpgradeScript.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>53</value></property>
<property name="targetSchema"><value>54</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/2.1/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-VersionColumns.sql</value>
</property>
</bean>
</beans>

View File

@@ -19,4 +19,4 @@ version.build=@build-number@
# Schema number
version.schema=53
version.schema=54