You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Daniel Barclay (Drill) (JIRA)" <ji...@apache.org> on 2015/04/13 21:43:14 UTC

[jira] [Assigned] (DRILL-2769) many(?) JDBC methods throw non-SQLException exceptions (e.g., UnsupportedOperationException, RuntimeException)

     [ https://issues.apache.org/jira/browse/DRILL-2769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Barclay (Drill) reassigned DRILL-2769:
---------------------------------------------

    Assignee: Daniel Barclay (Drill)

> many(?) JDBC methods throw non-SQLException exceptions (e.g., UnsupportedOperationException, RuntimeException)
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-2769
>                 URL: https://issues.apache.org/jira/browse/DRILL-2769
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Daniel Barclay (Drill)
>            Assignee: Daniel Barclay (Drill)
>
> It seems that many JDBC methods throw exceptions of type {{UnsupportedOperationException}} or {{RuntimeException}} to indicate that they are not applicable (e.g., Drill's implementation of {{Connection.commit()}}, since Drill isn't transactional) or not implemented yet (and some throw other {{RuntimeException}}s to indicate other problems ).
> However, these methods should be throwing exceptions of type {{SQLException}} (or subclasses thereof). 
> The JDBC pattern is to throw {{SQLException}}s, not {{RuntimeException}}s, so JDBC client code is not likely to handle {{RuntimeException}}s well.
> (For example, it is suspected that {{Connection.commit()}}'s throwing of {{UnsupportedOperationException}} is causing a hang in the JDBC client Spotfire.)
> JDBC does provide a {{SQLFeatureNotSupportedException}}.  However, it is specified to be for when "the JDBC driver does does not support an optional JDBC feature."  It's not clear how risky it would be to use this exception when Drill does not support a _non_-optional JDBC feature. 
> (Possibly, some methods that can't really do what JDBC specifies might need to just return silently without throwing any exception.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)