Github user patricker commented on a diff in the pull request: https://github.com/apache/nifi/pull/2243#discussion_r166180285 --- Diff: nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteSQL.java --- @@ -202,56 +205,63 @@ public void process(InputStream in) throws IOException { st.setQueryTimeout(queryTimeout); // timeout in seconds logger.debug("Executing query {}", new Object[]{selectQuery}); - boolean results = st.execute(selectQuery); + boolean hasResults = st.execute(selectQuery); + boolean hasUpdateCount = st.getUpdateCount() != -1; --- End diff -- I haven't run into any issues with calling `execute` instead of `executeUpdate`. I did some additional research and found the following concerning `execute`: https://stackoverflow.com/a/16625802/328968 > "*Executes the given SQL statement, which may return multiple results. In some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.*" Or the answer after that which provides more details on each type of call, `execute`, `executeUpdate`, and `executeQuery`: https://stackoverflow.com/a/37509744/328968.
---