Package org.apache.drill.jdbc

# Class JdbcApiSqlException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.sql.SQLException
java.sql.SQLNonTransientException
org.apache.drill.jdbc.JdbcApiSqlException

All Implemented Interfaces:
  `Serializable`, `Iterable<Throwable>`

Direct Known Subclasses:
  `AlreadyClosedSqlException`, `InvalidCursorStateSqlException`, `InvalidParameterSqlException`

public class JdbcApiSqlException extends SQLNonTransientException
SQLException for JDBC API calling-sequence/state problems.

`JdbcApiSqlException` is intended for errors in using the JDBC API, such as calling `ResultSet#getString` before calling `ResultSet#next`.

(`JdbcApiSqlException` is not for errors that are not under direct control of the programmer writing JDBC API calls, for example, invalid SQL syntax errors (which should use `SQLSyntaxErrorException`), errors from SQL-vs.-data mismatches (which likely should use `SQLDataException`), data file format errors, resource availability errors (which might use `SQLTransientException`), or internal Drill errors.)

TODO: Consider using ANSI-/XOPEN-standard SQL State values. (See:

- http://stackoverflow.com/questions/1399574/what-are-all-the-possible-values-for-sqlexception-getsqlstate
- https://github.com/olamedia/kanon/blob/master/src/mvc-model/storageDrivers/SQLSTATE.txt
- http://kanon-framework.googlecode.com/svn/trunk/src/mvc-model/storageDrivers/SQLSTATE.txt
- http://www-01.ibm.com/support/knowledgecenter/api/content/nl/en-us/SSVHEW_6.2.0/com.ibm.rcp.tools.doc.db2e/adg/sql11.html
- ftp://ftp.software.ibm.com/ps/products/db2/info/vr6/htm/db2m0/db2state.htm
- https://docs.oracle.com/cd/E15817_01/appdev.111/b31230/ch2.htm

etc.)

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`JdbcApiSqlException()`
See `SQLException#SQLException()`.
`JdbcApiSqlException(String reason)`
See `SQLException#SQLException(String)`.
`JdbcApiSqlException(String reason, String SQLState)`
See `SQLException#SQLException(String, String)`.
`JdbcApiSqlException(String reason, String SQLState, int vendorCode)`
See `SQLException#SQLException(String, String, int)`.
`JdbcApiSqlException(String reason, String sqlState, int vendorCode, Throwable cause)`
See `SQLException#SQLException(String, String, int, Throwable)`.
`JdbcApiSqlException(String reason, String sqlState, Throwable cause)`
See `SQLException#SQLException(String, String, Throwable)`.
`JdbcApiSqlException(String reason, Throwable cause)`
See `SQLException#SQLException(String, Throwable)`.
`JdbcApiSqlException(Throwable cause)`
See `SQLException#SQLException(Throwable cause)`.

## Method Summary

### Methods inherited from class java.sql.SQLException

`getErrorCode, getNextException, getSQLState, iterator, setNextException`

### Methods inherited from class java.lang.Throwable

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

## Constructor Details

### JdbcApiSqlException

public JdbcApiSqlException(String reason, String SQLState, int vendorCode)
See `SQLException#SQLException(String, String, int)`.

### JdbcApiSqlException

public JdbcApiSqlException(String reason, String SQLState)
See `SQLException#SQLException(String, String)`.

### JdbcApiSqlException

public JdbcApiSqlException(String reason)
See `SQLException#SQLException(String)`.

### JdbcApiSqlException

public JdbcApiSqlException()
See `SQLException#SQLException()`.

### JdbcApiSqlException

public JdbcApiSqlException(Throwable cause)
See `SQLException#SQLException(Throwable cause)`.

### JdbcApiSqlException

public JdbcApiSqlException(String reason, Throwable cause)
See `SQLException#SQLException(String, Throwable)`.

### JdbcApiSqlException

public JdbcApiSqlException(String reason, String sqlState, Throwable cause)
See `SQLException#SQLException(String, String, Throwable)`.

### JdbcApiSqlException

public JdbcApiSqlException(String reason, String sqlState, int vendorCode, Throwable cause)
See `SQLException#SQLException(String, String, int, Throwable)`.