Author: norman
Date: Tue Apr 27 15:13:39 2010
New Revision: 938499
URL: http://svn.apache.org/viewvc?rev=938499&view=rev
Log:
postgresql does not support concat function so we need a custom sql query for
it when select mappings. Fix for (JAMES-994)
Modified:
james/server/trunk/spring-deployment/src/main/config/james/sqlResources.xml
james/server/trunk/user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java
james/server/trunk/user-function/src/test/resources/sqlResources.xml
Modified:
james/server/trunk/spring-deployment/src/main/config/james/sqlResources.xml
URL:
http://svn.apache.org/viewvc/james/server/trunk/spring-deployment/src/main/config/james/sqlResources.xml?rev=938499&r1=938498&r2=938499&view=diff
==============================================================================
--- james/server/trunk/spring-deployment/src/main/config/james/sqlResources.xml
(original)
+++ james/server/trunk/spring-deployment/src/main/config/james/sqlResources.xml
Tue Apr 27 15:13:39 2010
@@ -817,8 +817,9 @@
<sqlDefs name="org.apache.james.vut.JDBCVirtualUserTable">
<!-- Statements used to check whether a particular message exists in this
repository. -->
- <sql name="selectMappings" db="derby">select
VirtualUserTable.target_address,(VirtualUserTable."user" || '@'
||VirtualUserTable.domain) from VirtualUserTable, VirtualUserTable as
VUTDomains where ((VirtualUserTable."user") like ? or (VirtualUserTable."user")
like '\%' escape '\') and (VirtualUserTable.domain like ? or
(VirtualUserTable.domain like '\%' escape '\' and VUTDomains.domain like ?))
order by 2 desc</sql>
- <sql name="selectMappings">select VirtualUserTable.target_address from
VirtualUserTable, VirtualUserTable as VUTDomains where (VirtualUserTable.user
like ? or VirtualUserTable.user like '\%') and (VirtualUserTable.domain like ?
or (VirtualUserTable.domain like '\%' and VUTDomains.domain like ?)) order by
concat(VirtualUserTable.user,'@',VirtualUserTable.domain) desc limit 1</sql>
+ <sql name="selectMappings" db="derby">select
VirtualUserTable.target_address,(VirtualUserTable."user" || '@'
||VirtualUserTable.domain) from VirtualUserTable, VirtualUserTable as
VUTDomains where ((VirtualUserTable."user") like ? or (VirtualUserTable."user")
like '\%' escape '\') and (VirtualUserTable.domain like ? or
(VirtualUserTable.domain like '\%' escape '\')) order by 2 desc</sql>
+ <sql name="selectMappings">select VirtualUserTable.target_address from
VirtualUserTable, VirtualUserTable as VUTDomains where (VirtualUserTable.user
like ? or VirtualUserTable.user like '\%') and (VirtualUserTable.domain like ?
or (VirtualUserTable.domain like '\%')) order by
concat(VirtualUserTable.user,'@',VirtualUserTable.domain) desc limit 1</sql>
+ <sql name="selectMappings" db="postgresql">select
VirtualUserTable.target_address from VirtualUserTable, VirtualUserTable as
VUTDomains where (VirtualUserTable.user like ? or VirtualUserTable.user like
E'%') and (VirtualUserTable.domain like ? or (VirtualUserTable.domain like
E'%')) order by (VirtualUserTable.user || '@' || VirtualUserTable.domain) desc
limit 1</sql>
<sql name="selectUserDomainMapping" db="derby">select
VirtualUserTable.target_address from VirtualUserTable where
VirtualUserTable."user" = ? and VirtualUserTable.domain = ? </sql>
<sql name="selectUserDomainMapping">select VirtualUserTable.target_address
from VirtualUserTable where VirtualUserTable.user = ? and
VirtualUserTable.domain = ? </sql>
Modified:
james/server/trunk/user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java?rev=938499&r1=938498&r2=938499&view=diff
==============================================================================
---
james/server/trunk/user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java
(original)
+++
james/server/trunk/user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java
Tue Apr 27 15:13:39 2010
@@ -246,7 +246,6 @@ public class JDBCVirtualUserTable extend
try {
mappingStmt.setString(1, user);
mappingStmt.setString(2, domain);
- mappingStmt.setString(3, domain);
mappingRS = mappingStmt.executeQuery();
if (mappingRS.next()) {
return mappingRS.getString(1);
Modified: james/server/trunk/user-function/src/test/resources/sqlResources.xml
URL:
http://svn.apache.org/viewvc/james/server/trunk/user-function/src/test/resources/sqlResources.xml?rev=938499&r1=938498&r2=938499&view=diff
==============================================================================
--- james/server/trunk/user-function/src/test/resources/sqlResources.xml
(original)
+++ james/server/trunk/user-function/src/test/resources/sqlResources.xml Tue
Apr 27 15:13:39 2010
@@ -1028,8 +1028,8 @@
<sqlDefs name="org.apache.james.vut.JDBCVirtualUserTable">
<!-- Statements used to check whether a particular message exists in this
repository. -->
- <sql name="selectMappings" db="derby">select
VirtualUserTable.target_address,(VirtualUserTable."user" || '@'
||VirtualUserTable.domain) from VirtualUserTable, VirtualUserTable as
VUTDomains where ((VirtualUserTable."user") like ? or (VirtualUserTable."user")
like '\%' escape '\') and (VirtualUserTable.domain like ? or
(VirtualUserTable.domain like '\%' escape '\' and VUTDomains.domain like ?))
order by 2 desc</sql>
- <sql name="selectMappings">select VirtualUserTable.target_address from
VirtualUserTable, VirtualUserTable as VUTDomains where (VirtualUserTable.user
like ? or VirtualUserTable.user like '\%') and (VirtualUserTable.domain like ?
or (VirtualUserTable.domain like '\%' and VUTDomains.domain like ?)) order by
concat(VirtualUserTable.user,'@',VirtualUserTable.domain) desc limit 1</sql>
+ <sql name="selectMappings" db="derby">select
VirtualUserTable.target_address,(VirtualUserTable."user" || '@'
||VirtualUserTable.domain) from VirtualUserTable, VirtualUserTable as
VUTDomains where ((VirtualUserTable."user") like ? or (VirtualUserTable."user")
like '\%' escape '\') and (VirtualUserTable.domain like ? or
(VirtualUserTable.domain like '\%' escape '\')) order by 2 desc</sql>
+ <sql name="selectMappings">select VirtualUserTable.target_address from
VirtualUserTable, VirtualUserTable as VUTDomains where (VirtualUserTable.user
like ? or VirtualUserTable.user like '\%') and (VirtualUserTable.domain like ?
or (VirtualUserTable.domain like '\%')) order by
concat(VirtualUserTable.user,'@',VirtualUserTable.domain) desc limit 1</sql>
<sql name="selectUserDomainMapping" db="derby">select
VirtualUserTable.target_address from VirtualUserTable where
VirtualUserTable."user" = ? and VirtualUserTable.domain = ? </sql>
<sql name="selectUserDomainMapping">select VirtualUserTable.target_address
from VirtualUserTable where VirtualUserTable.user = ? and
VirtualUserTable.domain = ? </sql>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]