[ https://issues.apache.org/jira/browse/CAMEL-7251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13931761#comment-13931761 ]
ASF GitHub Bot commented on CAMEL-7251: --------------------------------------- Github user boretti closed the pull request at: https://github.com/apache/camel/pull/104 > 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 > Assignee: Willem Jiang > Fix For: 2.12.4, 2.13.0 > > > 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.2#6252)