[
https://issues.apache.org/jira/browse/DRILL-2769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Barclay (Drill) updated DRILL-2769:
------------------------------------------
Comment: was deleted
(was: Review is at https://reviews.apache.org/r/37857.)
> 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)
> Fix For: 1.2.0
>
>
> 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)