[
https://issues.apache.org/jira/browse/NIFI-4561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16448134#comment-16448134
]
ASF GitHub Bot commented on NIFI-4561:
--------------------------------------
Github user patricker commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2243#discussion_r183391339
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteSQL.java
---
@@ -278,8 +289,18 @@ public void onTrigger(final ProcessContext context,
final ProcessSession session
} else {
fileToProcess = session.write(fileToProcess,
JdbcCommon::createEmptyAvroStream);
+ fileToProcess = session.putAttribute(fileToProcess,
CoreAttributes.MIME_TYPE.key(), JdbcCommon.MIME_TYPE_AVRO_BINARY);
session.transfer(fileToProcess, REL_SUCCESS);
}
+ } else if(resultCount == 0){
+ //If we had no inbound FlowFile, no exceptions, and the
SQL generated no result sets (Insert/Update/Delete statements only)
+ // Then generate an empty Output FlowFile
+ FlowFile resultSetFF = session.create();
+
+ resultSetFF = session.write(resultSetFF, out ->
JdbcCommon.createEmptyAvroStream(out));
+
+ resultSetFF = session.putAttribute(resultSetFF,
CoreAttributes.MIME_TYPE.key(), JdbcCommon.MIME_TYPE_AVRO_BINARY);
--- End diff --
This is a good suggestion. I'll update the `else` to cover this scenario
with a `0` `RESULT_ROW_COUNT`.
> ExecuteSQL Stopped Returning FlowFile for non-ResultSet Queries
> ---------------------------------------------------------------
>
> Key: NIFI-4561
> URL: https://issues.apache.org/jira/browse/NIFI-4561
> Project: Apache NiFi
> Issue Type: Bug
> Reporter: Peter Wicks
> Assignee: Peter Wicks
> Priority: Major
>
> While most people use ExecuteSQL for Select statements, some JDBC drivers
> allow you to execute any kind of statement, including multi-statement
> requests.
> This allowed users to submit multiple SQL statements in one JDBC Statement
> and get back multiple result sets. This was part of the reason I wrote
> [NIFI-3432].
> After having NIFI-3432 merged, I found that some request types no longer
> cause a FlowFile to be generated because there is no ResultSet. Also, if
> request types are mixed, such as an insert followed by a Select, then no
> ResultSet is returned because the first result is not a result set but an
> Update Count.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)