From e84ea744eb7bab6f0e307c8c30adb687a90297e7 Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Tue, 30 Mar 2010 17:07:06 +0000 Subject: [PATCH] Initial fix ALF-498 - PostgreSQL: AVMServiceTest.testStorePropertyQuerying - note: depends on ALF-2175 (unit tested w/ local PostgreSQL scripts: qname-insert-SqlMap.xml & AlfrescoCreate-3.3-RepoTables.sql) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19677 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../avm-common-SqlMap.xml | 25 +++++++++++++++++++ .../domain/avm/ibatis/AVMStoreDAOImpl.java | 19 +++++++++++--- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/avm-common-SqlMap.xml b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/avm-common-SqlMap.xml index 5b61378d05..17477c71b0 100644 --- a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/avm-common-SqlMap.xml +++ b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/avm-common-SqlMap.xml @@ -388,6 +388,18 @@ qn.local_name like ? + + + + update diff --git a/source/java/org/alfresco/repo/domain/avm/ibatis/AVMStoreDAOImpl.java b/source/java/org/alfresco/repo/domain/avm/ibatis/AVMStoreDAOImpl.java index f07633a62b..557172e488 100644 --- a/source/java/org/alfresco/repo/domain/avm/ibatis/AVMStoreDAOImpl.java +++ b/source/java/org/alfresco/repo/domain/avm/ibatis/AVMStoreDAOImpl.java @@ -51,15 +51,20 @@ public class AVMStoreDAOImpl extends AbstractAVMStoreDAOImpl private static final String UPDATE_AVM_STORE_PROP ="alfresco.avm.update_AVMStoreProperty"; private static final String SELECT_AVM_STORE_PROP ="alfresco.avm.select_AVMStoreProperty"; private static final String SELECT_AVM_STORE_PROPS ="alfresco.avm.select_AVMStoreProperties"; - private static final String SELECT_AVM_STORE_PROPS_BY_KEY_PATTERN ="alfresco.avm.select_AVMStorePropertiesByKeyPattern"; - private static final String SELECT_AVM_STORE_PROPS_BY_STORE_AND_KEY_PATTERN ="alfresco.avm.select_AVMStorePropertiesByStoreAndKeyPattern"; + + private static final String SELECT_AVM_STORE_PROPS_BY_KEY_PATTERN ="alfresco.avm.select_AVMStorePropertiesByKeyPattern"; // uri + local_name + private static final String SELECT_AVM_STORE_PROPS_BY_KEY_PATTERN_L ="alfresco.avm.select_AVMStorePropertiesByKeyPatternL"; // uri + lower(local_name) + + private static final String SELECT_AVM_STORE_PROPS_BY_STORE_AND_KEY_PATTERN ="alfresco.avm.select_AVMStorePropertiesByStoreAndKeyPattern"; // store id + uri + local_name + private static final String SELECT_AVM_STORE_PROPS_BY_STORE_AND_KEY_PATTERN_L ="alfresco.avm.select_AVMStorePropertiesByStoreAndKeyPatternL"; // store id + uri + lower(local_name) + private static final String DELETE_AVM_STORE_PROP ="alfresco.avm.delete_AVMStoreProperty"; private static final String DELETE_AVM_STORE_PROPS ="alfresco.avm.delete_AVMStoreProperties"; private SqlMapClientTemplate template; - // Initial generic fix for ALF-2278 (pending SAIL-365) + // Initial generic fixes for ALF-2278 (pending SAIL-365) & ALF-498 (pending SAIL-359) // Note: in order to override to false, DB must be setup to be case-insensitive (at least on column avm_stores.name) private boolean toLower = true; @@ -173,6 +178,10 @@ public class AVMStoreDAOImpl extends AbstractAVMStoreDAOImpl params.put("uri", uriPattern); params.put("localname", localNamePattern); + if (toLower) + { + return (List) template.queryForList(SELECT_AVM_STORE_PROPS_BY_KEY_PATTERN_L, params); + } return (List) template.queryForList(SELECT_AVM_STORE_PROPS_BY_KEY_PATTERN, params); } @@ -185,6 +194,10 @@ public class AVMStoreDAOImpl extends AbstractAVMStoreDAOImpl params.put("uri", uriPattern); params.put("localname", localNamePattern); + if (toLower) + { + return (List) template.queryForList(SELECT_AVM_STORE_PROPS_BY_STORE_AND_KEY_PATTERN_L, params); + } return (List) template.queryForList(SELECT_AVM_STORE_PROPS_BY_STORE_AND_KEY_PATTERN, params); }