[ https://issues.apache.org/jira/browse/HIVE-7680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14104490#comment-14104490 ]
Julian Hyde commented on HIVE-7680: ----------------------------------- A stackoverflow thread [What does it mean when Statement.executeUpdate returns -1?|http://stackoverflow.com/questions/12400985/what-does-it-mean-when-statement-executeupdate-returns-1] is basically supportive of the idea of returning -1. In particular this comment: {quote} UPDATE: While reading [Mark Rotteveel's answer|http://stackoverflow.com/a/12412073/521799], I tend to agree with him, assuming that -1 is the JDBC-compliant value for "unknown update counts". Even if this isn't documented on the relevant method's Javadoc, it's documented in the [JDBC specs, chapter 13.1.2.3 Returning Unknown or Multiple Results|http://download.oracle.com/otn-pub/jcp/jdbc-4_1-mrel-spec/jdbc4.1-fr-spec.pdf]. In this very case, it could be said that an IF .. INSERT .. statement will have an "unknown update count", as this statement isn't SQL-standard compliant anyway. {quote} > Do not throw SQLException for HiveStatement getMoreResults and > setEscapeProcessing(false) > ----------------------------------------------------------------------------------------- > > Key: HIVE-7680 > URL: https://issues.apache.org/jira/browse/HIVE-7680 > Project: Hive > Issue Type: Bug > Components: JDBC > Affects Versions: 0.13.1 > Reporter: Alexander Pivovarov > Assignee: Alexander Pivovarov > Priority: Minor > Attachments: HIVE-7680.patch > > > 1. Some JDBC clients call method setEscapeProcessing(false) (e.g. SQL > Workbench) > Looks like setEscapeProcessing(false) should do nothing.So, lets do nothing > instead of throwing SQLException > 2. getMoreResults is needed in case Statements returns several ReseltSet. > Hive does not support Multiple ResultSets. So this method can safely always > return false. > 3. getUpdateCount. Currently this method always returns 0. Hive cannot tell > us how many rows were inserted. According to JDBC spec it should return " -1 > if the current result is a ResultSet object or there are no more results" > if this method returns 0 then in case of execution insert statement JDBC > client shows "0 rows were inserted" which is not true. > if this method returns -1 then JDBC client runs insert statements and shows > that it was executed successfully, no result were returned. > I think the latter behaviour is more correct. > 4. Some methods in Statement class should throw > SQLFeatureNotSupportedException if they are not supported. Current > implementation throws SQLException instead which means database access error. -- This message was sent by Atlassian JIRA (v6.2#6252)