diff --git a/config/alfresco/dbscripts/upgrade/2.0/org.hibernate.dialect.PostgreSQLDialect/_pg_keypositions-function.sql b/config/alfresco/dbscripts/upgrade/2.0/org.hibernate.dialect.PostgreSQLDialect/_pg_keypositions-function.sql new file mode 100644 index 0000000000..0587b3e6d9 --- /dev/null +++ b/config/alfresco/dbscripts/upgrade/2.0/org.hibernate.dialect.PostgreSQLDialect/_pg_keypositions-function.sql @@ -0,0 +1,15 @@ +/* + * Solution to PostgreSQL issue: + * function information_schema._pg_keypositions() does not exist + * Taken from: http://archives.postgresql.org/pgsql-general/2005-12/msg00060.php + * Author: Jason Long + * Tested against PostgreSQL 8.2 + * First seen during upgrade testing of PostgreSQL from Alfresco 1.4.3 to 2.0 + */ +SET search_path TO information_schema, public; +CREATE FUNCTION _pg_keypositions() RETURNS SETOF integer + LANGUAGE sql + IMMUTABLE + AS 'select g.s + from generate_series(1,current_setting(''max_index_keys'')::int,1) + as g(s)'; \ No newline at end of file diff --git a/source/java/org/alfresco/repo/admin/patch/hibernate/HibernatePatchDaoServiceImpl.java b/source/java/org/alfresco/repo/admin/patch/hibernate/HibernatePatchDaoServiceImpl.java index 13e2f468fc..97dad35b22 100644 --- a/source/java/org/alfresco/repo/admin/patch/hibernate/HibernatePatchDaoServiceImpl.java +++ b/source/java/org/alfresco/repo/admin/patch/hibernate/HibernatePatchDaoServiceImpl.java @@ -118,7 +118,8 @@ public class HibernatePatchDaoServiceImpl extends HibernateDaoSupport implements { AppliedPatch appliedPatch = iterator.next(); Date appliedOnDate = appliedPatch.getAppliedOnDate(); - if (appliedOnDate != null && fromDate.compareTo(appliedOnDate) >= 0 || toDate.compareTo(appliedOnDate) <= 0) + if (appliedOnDate != null && + (fromDate.compareTo(appliedOnDate) >= 0 || toDate.compareTo(appliedOnDate) <= 0)) { // it is out of range iterator.remove(); diff --git a/source/java/org/alfresco/repo/descriptor/DescriptorServiceImpl.java b/source/java/org/alfresco/repo/descriptor/DescriptorServiceImpl.java index 8ea03282da..bea020b458 100644 --- a/source/java/org/alfresco/repo/descriptor/DescriptorServiceImpl.java +++ b/source/java/org/alfresco/repo/descriptor/DescriptorServiceImpl.java @@ -185,6 +185,10 @@ public class DescriptorServiceImpl extends AbstractLifecycleBean implements Desc @Override protected void onShutdown(ApplicationEvent event) { + if (this.licenseService != null) + { + this.licenseService.shutdown(); + } } /** @@ -396,6 +400,10 @@ public class DescriptorServiceImpl extends AbstractLifecycleBean implements Desc { return null; } + + public void shutdown() + { + } } /** diff --git a/source/java/org/alfresco/repo/template/FreeMarkerProcessor.java b/source/java/org/alfresco/repo/template/FreeMarkerProcessor.java index 726ba4703e..f626753ff0 100644 --- a/source/java/org/alfresco/repo/template/FreeMarkerProcessor.java +++ b/source/java/org/alfresco/repo/template/FreeMarkerProcessor.java @@ -132,6 +132,10 @@ public class FreeMarkerProcessor implements TemplateProcessor // rethrow any exception so we can deal with them config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); + // localized template lookups off by default - as they create strange noderef lookups + // such as workspace://SpacesStore/01234_en_GB - causes problems for ns.exists() on DB2 + config.setLocalizedLookup(false); + // set default template encoding if (defaultEncoding != null) { diff --git a/source/java/org/alfresco/service/license/LicenseService.java b/source/java/org/alfresco/service/license/LicenseService.java index 40541ba202..b75ea0d7d5 100644 --- a/source/java/org/alfresco/service/license/LicenseService.java +++ b/source/java/org/alfresco/service/license/LicenseService.java @@ -54,4 +54,9 @@ public interface LicenseService @NotAuditable public LicenseDescriptor getLicense() throws LicenseException; + /** + * Informs the service it is being shutdown + */ + @NotAuditable + public void shutdown(); }