Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-7680

Do not throw SQLException for HiveStatement getMoreResults and setEscapeProcessing(false)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.13.1
    • 0.14.0
    • JDBC
    • None

    Description

      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.

      Attachments

        1. HIVE-7680.2.patch
          3 kB
          Alexander Pivovarov
        2. HIVE-7680.2.patch
          3 kB
          Alexander Pivovarov
        3. HIVE-7680.patch
          2 kB
          Alexander Pivovarov

        Issue Links

          Activity

            People

              apivovarov Alexander Pivovarov
              apivovarov Alexander Pivovarov
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: