James Server
  1. James Server
  2. JAMES-994

JDBCVirtualUserTable does not work when using Postgresql

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0-M1, 3.0.0, Trunk
    • Fix Version/s: 3.0-M1
    • Component/s: None
    • Labels:
      None

      Description

      When JAMES try to use the JDBCVirtualUserTable and use Postgreqsl it fails with the following exception:

      ERROR 16:02:38,362 | james.virtualusertable-store | Error accessing database
      org.postgresql.util.PSQLException: ERROR: function concat(character varying, unknown, character varying) does not exist
      at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1608)
      at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1343)
      at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:194)
      at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
      at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
      at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
      at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
      at org.apache.james.vut.JDBCVirtualUserTable.mapAddressInternal(JDBCVirtualUserTable.java:250)
      at org.apache.james.impl.vut.AbstractVirtualUserTable.mapAddress(AbstractVirtualUserTable.java:467)
      at org.apache.james.impl.vut.AbstractVirtualUserTable.getMappings(AbstractVirtualUserTable.java:122)
      at org.apache.james.impl.vut.AbstractVirtualUserTable.getMappings(AbstractVirtualUserTable.java:113)
      at org.apache.james.transport.mailets.VirtualUserTable.processMail(VirtualUserTable.java:89)
      at org.apache.james.transport.mailets.AbstractVirtualUserTableMailet.service(AbstractVirtualUserTableMailet.java:76)
      at org.apache.james.transport.camel.MailetProcessor.process(MailetProcessor.java:60)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.spring.spi.TransactionErrorHandler.processByRegularErrorHandler(TransactionErrorHandler.java:90)
      at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:81)
      at org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:266)
      at org.apache.camel.processor.MulticastProcessor.access$000(MulticastProcessor.java:59)
      at org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:178)
      at org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:172)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)

        Activity

        Hide
        Norman Maurer added a comment -

        Fixed

        Show
        Norman Maurer added a comment - Fixed

          People

          • Assignee:
            Norman Maurer
            Reporter:
            Norman Maurer
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development