From a22fdceccd09448adbed5ecb041dbd25f8ff52da Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Fri, 20 Aug 2010 14:45:18 +0000 Subject: [PATCH] Upgrade overhaul: Retiring ancient patches and fixing de-Hibernate problems - Moved setting of txn isolation level to ControlDAO - Retired patches where target schema is < 100 - Removed unreferenced patch implementations - Removed unreferenced DB scripts - Moved patch-specific queries (ACL upgrade counts) into patch-common-SqlMap.xml - Fixed count query result processing (max of nothing is NULL) leading to unboxing NPEs - All DM-modifying patches depend on DmPermissionsPatch i.e. it will normally run immediately after SQL scripts git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21908 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/bootstrap-context.xml | 5 - .../AlfrescoSchemaUpdate-2.0-ContentUrls.sql | 24 - .../AlfrescoSchemaUpdate-2.1-JBPMData.sql | 29 - ...lfrescoSchemaUpdate-2.1-JBPMProcessKey.sql | 22 - ...lfrescoSchemaUpdate-2.1-NotNullColumns.sql | 21 - ...lfrescoSchemaUpdate-2.1-VersionColumns.sql | 33 - .../patch-common-SqlMap.xml | 45 + .../permissions-common-SqlMap.xml | 42 - .../alfresco/patch/patch-services-context.xml | 991 ++++++++---------- .../repo/admin/patch/impl/AVMGuidPatch.java | 79 -- .../patch/impl/AVMLayeredSnapshotPatch.java | 91 -- .../patch/impl/ActionRuleDecouplingPatch.java | 128 --- .../impl/CategoryRootPermissionPatch.java | 81 -- .../patch/impl/ContentFormTypePatch.java | 114 -- .../patch/impl/ContentPermissionPatch.java | 57 - .../patch/impl/DescriptorUpdatePatch.java | 88 -- .../admin/patch/impl/DmPermissionsPatch.java | 137 +-- .../impl/EmailTemplatesContentPatch.java | 192 ---- .../patch/impl/EmailTemplatesFolderPatch.java | 240 ----- .../admin/patch/impl/ForumsIconsPatch.java | 117 --- .../patch/impl/GroupTokenisationPatch.java | 94 -- .../impl/GuestPersonPermissionPatch.java | 71 -- .../impl/GuestPersonPermissionPatch2.java | 69 -- .../repo/admin/patch/impl/GuestUserPatch.java | 242 ----- .../impl/InvalidUserPersonAndGroupPatch.java | 160 --- .../admin/patch/impl/PermissionDataPatch.java | 59 -- .../patch/impl/RSSTemplatesFolderPatch.java | 307 ------ .../patch/impl/SavedSearchFolderPatch.java | 254 ----- .../impl/SavedSearchPermissionPatch.java | 77 -- .../admin/patch/impl/ScriptsFolderPatch.java | 296 ------ .../patch/impl/SpacesRootPermissionPatch.java | 73 -- .../impl/SystemDescriptorContentPatch.java | 139 --- .../patch/impl/SystemWorkflowFolderPatch.java | 53 - ...lGroupParentChildAssociationTypePatch.java | 94 -- .../impl/UIFacetsAspectRemovalPatch.java | 150 --- .../impl/UpdateGuestPermissionPatch.java | 44 - .../impl/UserAndPersonTokenisationPatch.java | 101 -- .../impl/VersionHistoryPerformancePatch.java | 83 -- .../control/AbstractControlDAOImpl.java | 9 + .../repo/domain/control/ControlDAO.java | 12 + .../domain/control/ibatis/ControlDAOImpl.java | 24 + .../domain/patch/AbstractPatchDAOImpl.java | 17 +- .../alfresco/repo/domain/patch/PatchDAO.java | 15 +- .../domain/patch/ibatis/PatchDAOImpl.java | 138 +-- .../permissions/ADMAccessControlListDAO.java | 5 + 45 files changed, 654 insertions(+), 4468 deletions(-) delete mode 100644 config/alfresco/dbscripts/upgrade/2.0/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.0-ContentUrls.sql delete mode 100644 config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMData.sql delete mode 100644 config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql delete mode 100644 config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-NotNullColumns.sql delete mode 100644 config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-VersionColumns.sql delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/AVMGuidPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/AVMLayeredSnapshotPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/ActionRuleDecouplingPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/CategoryRootPermissionPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/ContentFormTypePatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/ContentPermissionPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/DescriptorUpdatePatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/EmailTemplatesContentPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/EmailTemplatesFolderPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/ForumsIconsPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/GroupTokenisationPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/GuestPersonPermissionPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/GuestPersonPermissionPatch2.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/GuestUserPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/InvalidUserPersonAndGroupPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/PermissionDataPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/RSSTemplatesFolderPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/SavedSearchFolderPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/SavedSearchPermissionPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/ScriptsFolderPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/SpacesRootPermissionPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/SystemDescriptorContentPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/SystemWorkflowFolderPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/TopLevelGroupParentChildAssociationTypePatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/UIFacetsAspectRemovalPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/UpdateGuestPermissionPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/UserAndPersonTokenisationPatch.java delete mode 100644 source/java/org/alfresco/repo/admin/patch/impl/VersionHistoryPerformancePatch.java diff --git a/config/alfresco/bootstrap-context.xml b/config/alfresco/bootstrap-context.xml index 3ee4b4076e..00ea36bafd 100644 --- a/config/alfresco/bootstrap-context.xml +++ b/config/alfresco/bootstrap-context.xml @@ -94,7 +94,6 @@ - @@ -114,10 +113,6 @@ - - - - diff --git a/config/alfresco/dbscripts/upgrade/2.0/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.0-ContentUrls.sql b/config/alfresco/dbscripts/upgrade/2.0/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.0-ContentUrls.sql deleted file mode 100644 index 0263eabfcc..0000000000 --- a/config/alfresco/dbscripts/upgrade/2.0/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.0-ContentUrls.sql +++ /dev/null @@ -1,24 +0,0 @@ --- --- Title: Indexes for alf_content_url table --- Database: Generic --- Since: V2.0 Schema 44 --- Author: Derek Hulley --- --- Please contact support@alfresco.com if you need assistance with the upgrade. --- - --- Content URLs -SELECT COUNT(*) FROM alf_content_url; -CREATE INDEX idx_alf_con_urls ON alf_content_url (content_url);(optional) - --- --- Record script finish --- -DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.0-ContentUrls'; -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.0-ContentUrls', 'Manually executed script upgrade V2.0: Indexes for alf_content_url table', - 0, 123, -1, 124, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed' - ); \ No newline at end of file diff --git a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMData.sql b/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMData.sql deleted file mode 100644 index b53ef811c8..0000000000 --- a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMData.sql +++ /dev/null @@ -1,29 +0,0 @@ --- --- Title: Jbpm 3.1.2 -> 3.2 Data Migration --- Database: Generic --- Since: V2.1 Schema 52 --- Author: David Caruana --- --- Please contact support@alfresco.com if you need assistance with the upgrade. --- - -UPDATE JBPM_TASK SET PRIORITY_ = 2; -UPDATE JBPM_NODE SET ISASYNCEXCL_ = ${FALSE}; -UPDATE JBPM_MODULEINSTANCE SET VERSION_ = 0; -UPDATE JBPM_POOLEDACTOR SET VERSION_ = 0; -UPDATE JBPM_SWIMLANEINSTANCE SET VERSION_ = 0; -UPDATE JBPM_TASKINSTANCE SET VERSION_ = 0; -UPDATE JBPM_TOKENVARIABLEMAP SET VERSION_ = 0; -UPDATE JBPM_VARIABLEINSTANCE SET VERSION_ = 0; - --- --- Record script finish --- -DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-JBPMUpdate'; -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-JBPMUpdate', 'Manually executed script upgrade V2.1: JBPM 3.1.2 to 3.2 Data Upgrade', - 0, 51, -1, 52, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed' - ); \ No newline at end of file diff --git a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql b/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql deleted file mode 100644 index e81c69f5b2..0000000000 --- a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql +++ /dev/null @@ -1,22 +0,0 @@ --- --- Title: Jbpm 3.2 Process Instance Key --- Database: Generic --- Since: V2.1 Schema 63 --- Author: David Caruana --- --- Please contact support@alfresco.com if you need assistance with the upgrade. --- - -UPDATE JBPM_PROCESSINSTANCE SET KEY_ = ID_ WHERE KEY_ IS NULL; - --- --- Record script finish --- -DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-JBPMProcessKey'; -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-JBPMProcessKey', 'Manually executed script upgrade V2.1: JBPM 3.2 Process Instance Key', - 0, 62, -1, 63, null, 'UNKNOWN', ${TRUE}, ${TRUE}, 'Script completed' - ); \ No newline at end of file diff --git a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-NotNullColumns.sql b/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-NotNullColumns.sql deleted file mode 100644 index 8a3ec9621b..0000000000 --- a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-NotNullColumns.sql +++ /dev/null @@ -1,21 +0,0 @@ --- --- Title: Add text columns that allow null --- Database: Generic --- Since: V2.1 Schema 64 --- Author: Derek Hulley --- --- Please contact support@alfresco.com if you need assistance with the upgrade. --- --- This is a Sybase issue, so nothing is required here. - --- --- Record script finish --- -DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-NotNullColumns'; -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-NotNullColumns', 'Manually executed script upgrade V2.1: Add nullable columns', - 0, 63, -1, 64, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed' - ); \ No newline at end of file diff --git a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-VersionColumns.sql b/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-VersionColumns.sql deleted file mode 100644 index d745ac541f..0000000000 --- a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-VersionColumns.sql +++ /dev/null @@ -1,33 +0,0 @@ --- --- 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; -UPDATE alf_version_count SET version = 1 WHERE version IS NULL; - --- --- Record script finish --- -DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-VersionColumns2'; -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-VersionColumns2', 'Manually executed script upgrade V2.1: Created initial version number for ADM entities', - 0, 63, -1, 64, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed' - ); \ No newline at end of file diff --git a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/patch-common-SqlMap.xml b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/patch-common-SqlMap.xml index 96a9b4604d..890a9c49bd 100644 --- a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/patch-common-SqlMap.xml +++ b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/patch-common-SqlMap.xml @@ -74,6 +74,10 @@ + + + + @@ -270,6 +274,47 @@ name not in ('alfresco-tenants', '.avm_lock_table', '.PropertyBackedBeans', '.ChainingUserRegistrySynchronizer') + + + + + + + + + + + + + + diff --git a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/permissions-common-SqlMap.xml b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/permissions-common-SqlMap.xml index e1edbb93ec..457de44228 100644 --- a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/permissions-common-SqlMap.xml +++ b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/permissions-common-SqlMap.xml @@ -377,48 +377,6 @@ acl_id = ? - - - - - - - - - - - - - - -