[ https://issues.apache.org/jira/browse/CAMEL-9805?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrea Cosentino resolved CAMEL-9805. ------------------------------------- Resolution: Fixed Resolved. [~thomas.ben...@flatironssolutions.com], sorry for the delay. Thanks for spotting this and for the test case too. > camel-sql - body not copied from in to out when useing outputHeader and > outputType=SelectOne when sql doesn't return a result > ----------------------------------------------------------------------------------------------------------------------------- > > Key: CAMEL-9805 > URL: https://issues.apache.org/jira/browse/CAMEL-9805 > Project: Camel > Issue Type: Bug > Components: camel-sql > Affects Versions: 2.17.0 > Reporter: Thomas Bender > Assignee: Andrea Cosentino > Fix For: 2.16.4, 2.17.1, 2.18.0 > > Attachments: CamelSqlComponentTest.java, db-camel-data.sql, > db-camel-schema.sql > > > When using the options outputHeader and outputType=SelectOne the body of the > Exchange is not copied from in to out when the select returns no data.. > Probably root is line 175-185 of SqlProducer.java that is missing an else for > the above mentioned case. > {code} > if (data != null) { // <--- Missing the else > // for noop=true we still want to enrich with the row count header > if (getEndpoint().isNoop()) { > exchange.getOut().setBody(exchange.getIn().getBody()); > } else if (getEndpoint().getOutputHeader() != null) { > exchange.getOut().setBody(exchange.getIn().getBody()); > exchange.getOut().setHeader(getEndpoint().getOutputHeader(), data); > } else { > exchange.getOut().setBody(data); > } > exchange.getOut().setHeader(SqlConstants.SQL_ROW_COUNT, 1); > } > {code} > following could be added (untested) > {code} > else { // if data == null > if (getEndpoint().isNoop()) { > > exchange.getOut().setBody(exchange.getIn().getBody()); > } else if > (getEndpoint().getOutputHeader() != null) { > > exchange.getOut().setBody(exchange.getIn().getBody()); > } > exchange.getOut().setHeader(SqlConstants.SQL_ROW_COUNT, 0); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)