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

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_r166179486
  
    --- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteSQL.java
 ---
    @@ -268,8 +278,23 @@ public void process(OutputStream out) throws 
IOException {
                             }
                         });
     
    +                    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)
    --- End diff --
    
    Prior to my previous change (https://github.com/apache/nifi/pull/1471) only 
a single flowfile could be returned. The way the code was written, if no 
incoming flowfile existed then `session.create()` was called. The result, 
whether it be a large resultset or no result at all, was written using a 
`session.write` call. Thus a flowfile would always be returned.


> 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)

Reply via email to