Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-2452

ResultSet.getDouble should not throw an exception when the underlying type is a FLOAT

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.0.0
    • Client - JDBC
    • None

    Description

      git.commit.id.abbrev=e92db23

      Currently when we call ResultSet.getDouble(int) and if the underlying column's type is FLOAT, we get the below exception

      org.apache.drill.exec.vector.accessor.AbstractSqlAccessor$InvalidAccessException: Requesting class of type double for an object of type FLOAT4:OPTIONAL is not allowed.
      	at org.apache.drill.exec.vector.accessor.AbstractSqlAccessor.getDouble(AbstractSqlAccessor.java:62)
      	at org.apache.drill.exec.vector.accessor.NullableFloat4Accessor.getDouble(NullableFloat4Accessor.java:87)
      	at org.apache.drill.exec.vector.accessor.BoundCheckingAccessor.getDouble(BoundCheckingAccessor.java:73)
      	at org.apache.drill.jdbc.AvaticaDrillSqlAccessor.getDouble(AvaticaDrillSqlAccessor.java:101)
      	at net.hydromatic.avatica.AvaticaResultSet.getDouble(AvaticaResultSet.java:233)
      

      According to the JDBC spec we should return the double representation of the value

      Attachments

        Issue Links

          Activity

            People

              dsbos Daniel Barclay
              rkins Rahul Kumar Challapalli
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: