You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Tomohisa Igarashi (JIRA)" <ji...@apache.org> on 2016/11/21 03:55:58 UTC

[jira] [Created] (CAMEL-10499) camel-sql - error in multiple dynamic IN replacement

Tomohisa Igarashi created CAMEL-10499:
-----------------------------------------

             Summary: camel-sql - error in multiple dynamic IN replacement
                 Key: CAMEL-10499
                 URL: https://issues.apache.org/jira/browse/CAMEL-10499
             Project: Camel
          Issue Type: Bug
          Components: camel-sql
    Affects Versions: 2.18.0
            Reporter: Tomohisa Igarashi
            Assignee: Tomohisa Igarashi


Having this sql
{code:sql}
select *
from projects
where project in (:#in:names)
and license in (:#in:licenses)
order by id
{code}

and send as following
{code:java}
Map<String, Object> headers = new HashMap<>();
headers.put("names", new String[]{"Camel", "AMQ"});
headers.put("licenses", new String[]{"ASF", "XXX", "YYY"});
template.requestBodyAndHeaders("direct:query", "Hi there!", headers);
{code}

causes parameter mismatch
{code}
Caused by: java.sql.SQLException: Number of parameters mismatch. Expected: 4, was: 5
        at org.apache.camel.component.sql.DefaultSqlPrepareStatementStrategy.populateStatement(DefaultSqlPrepareStatementStrategy.java:152) ~[classes/:?]
        at org.apache.camel.component.sql.SqlProducer$2.doInPreparedStatement(SqlProducer.java:146) ~[classes/:?]
        at org.apache.camel.component.sql.SqlProducer$2.doInPreparedStatement(SqlProducer.java:116) ~[classes/:?]
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE]
        ... 51 more
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)