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(int)` 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 and 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`

### Constructor Detail

#### 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)`.