[ 
https://issues.apache.org/jira/browse/CAMEL-7251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13915039#comment-13915039
 ] 

ASF GitHub Bot commented on CAMEL-7251:
---------------------------------------

GitHub user boretti opened a pull request:

    https://github.com/apache/camel/pull/104

    CAMEL-7251 SqlProducer call twice the getResultSet on the PreparedStatement 
=> This cause issue with HSQLDB (NPE)

    According https://issues.apache.org/jira/browse/CAMEL-7251

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/boretti/camel camel-7251

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/camel/pull/104.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #104
    
----
commit e44f258a2f4fac85dcb67c48a9dc9ae129aa87e8
Author: boretti <[email protected]>
Date:   2014-02-27T20:56:04Z

    SqlProducer call twice the getResultSet on the PreparedStatement => This
    cause issue with HSQLDB (NPE)

----


> SqlProducer call twice the getResultSet on the PreparedStatement => This 
> cause issue with HSQLDB (NPE)
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-7251
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7251
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-sql
>    Affects Versions: 2.12.3
>            Reporter: Mathieu Boretti
>
> The SqlProducer class use the following lines of code :
> ResultSet rs = ps.getResultSet();
>                         SqlOutputType outputType = 
> getEndpoint().getOutputType();
>                         log.trace("Got result list from query: {}, 
> outputType={}", rs, outputType);
>                         if (outputType == SqlOutputType.SelectList) {
>                             List<Map<String, Object>> data = 
> getEndpoint().queryForList(ps.getResultSet());
>                            .................................
>                         } else if (outputType == SqlOutputType.SelectOne) {
>                             Object data = 
> getEndpoint().queryForObject(ps.getResultSet());
>                             .................................
>                         } else {
>                             throw new IllegalArgumentException("Invalid 
> outputType=" + outputType);
>                         }
> The problem is that the ResultSet is retrieved at the start, and then only 
> used for the log. Later, when the result set is required, a new call to 
> getResultSet is done. It is an issue with HSQL DB (tested with version 2.3.0 
> and 2.3.2 of HSQL DB), which in this case return null for the second call.
> As the ResultSet is already available in a variable "rs", I would recommand 
> to use this variable to replace the two last call to ps.getResultSet().
> Thanks



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to