com.mysql.jdbc
Class SQLError

java.lang.Object
  extended by com.mysql.jdbc.SQLError

public class SQLError
extends java.lang.Object

SQLError is a utility class that maps MySQL error codes to X/Open error codes as is required by the JDBC spec.


Field Summary
(package private) static int ER_WARNING_NOT_COMPLETE_ROLLBACK
           
static java.lang.String SQL_STATE_BASE_TABLE_NOT_FOUND
           
static java.lang.String SQL_STATE_BASE_TABLE_OR_VIEW_ALREADY_EXISTS
           
static java.lang.String SQL_STATE_BASE_TABLE_OR_VIEW_NOT_FOUND
           
static java.lang.String SQL_STATE_COLUMN_ALREADY_EXISTS
           
static java.lang.String SQL_STATE_COLUMN_NOT_FOUND
           
static java.lang.String SQL_STATE_COMMUNICATION_LINK_FAILURE
           
static java.lang.String SQL_STATE_CONNECTION_FAIL_DURING_TX
           
static java.lang.String SQL_STATE_CONNECTION_IN_USE
           
static java.lang.String SQL_STATE_CONNECTION_NOT_OPEN
           
static java.lang.String SQL_STATE_CONNECTION_REJECTED
           
static java.lang.String SQL_STATE_DATE_TRUNCATED
           
static java.lang.String SQL_STATE_DATETIME_FIELD_OVERFLOW
           
static java.lang.String SQL_STATE_DEADLOCK
           
static java.lang.String SQL_STATE_DISCONNECT_ERROR
           
static java.lang.String SQL_STATE_DIVISION_BY_ZERO
           
static java.lang.String SQL_STATE_DRIVER_NOT_CAPABLE
           
static java.lang.String SQL_STATE_ERROR_IN_ROW
           
static java.lang.String SQL_STATE_GENERAL_ERROR
           
static java.lang.String SQL_STATE_ILLEGAL_ARGUMENT
           
static java.lang.String SQL_STATE_INDEX_ALREADY_EXISTS
           
static java.lang.String SQL_STATE_INDEX_NOT_FOUND
           
static java.lang.String SQL_STATE_INSERT_VALUE_LIST_NO_MATCH_COL_LIST
           
static java.lang.String SQL_STATE_INVALID_AUTH_SPEC
           
static java.lang.String SQL_STATE_INVALID_CHARACTER_VALUE_FOR_CAST
           
static java.lang.String SQL_STATE_INVALID_COLUMN_NUMBER
           
static java.lang.String SQL_STATE_INVALID_CONNECTION_ATTRIBUTE
           
static java.lang.String SQL_STATE_INVALID_TRANSACTION_TERMINATION
           
static java.lang.String SQL_STATE_MEMORY_ALLOCATION_FAILURE
           
static java.lang.String SQL_STATE_MORE_THAN_ONE_ROW_UPDATED_OR_DELETED
           
static java.lang.String SQL_STATE_NO_DEFAULT_FOR_COLUMN
           
static java.lang.String SQL_STATE_NO_ROWS_UPDATED_OR_DELETED
           
static java.lang.String SQL_STATE_NUMERIC_VALUE_OUT_OF_RANGE
           
static java.lang.String SQL_STATE_PRIVILEGE_NOT_REVOKED
           
static java.lang.String SQL_STATE_SYNTAX_ERROR
           
static java.lang.String SQL_STATE_TIMEOUT_EXPIRED
           
static java.lang.String SQL_STATE_TRANSACTION_RESOLUTION_UNKNOWN
           
static java.lang.String SQL_STATE_UNABLE_TO_CONNECT_TO_DATASOURCE
           
static java.lang.String SQL_STATE_WRONG_NO_OF_PARAMETERS
           
 
Constructor Summary
SQLError()
           
 
Method Summary
(package private) static java.sql.SQLWarning convertShowWarningsToSQLWarnings(Connection connection)
          Turns output of 'SHOW WARNINGS' into JDBC SQLWarning instances.
(package private) static java.sql.SQLWarning convertShowWarningsToSQLWarnings(Connection connection, int warningCountIfKnown, boolean forTruncationOnly)
          Turns output of 'SHOW WARNINGS' into JDBC SQLWarning instances.
static java.sql.SQLException createCommunicationsException(ConnectionImpl conn, long lastPacketSentTimeMs, long lastPacketReceivedTimeMs, java.lang.Exception underlyingException, ExceptionInterceptor interceptor)
           
static java.lang.String createLinkFailureMessageBasedOnHeuristics(ConnectionImpl conn, long lastPacketSentTimeMs, long lastPacketReceivedTimeMs, java.lang.Exception underlyingException, boolean streamingResultSetInPlay)
          Creates a communications link failure message to be used in CommunicationsException that (hopefully) has some better information and suggestions based on heuristics.
static java.sql.SQLException createSQLException(java.lang.String message, ExceptionInterceptor interceptor)
           
static java.sql.SQLException createSQLException(java.lang.String message, ExceptionInterceptor interceptor, Connection conn)
           
static java.sql.SQLException createSQLException(java.lang.String message, java.lang.String sqlState, ExceptionInterceptor interceptor)
           
static java.sql.SQLException createSQLException(java.lang.String message, java.lang.String sqlState, int vendorErrorCode, boolean isTransient, ExceptionInterceptor interceptor)
           
static java.sql.SQLException createSQLException(java.lang.String message, java.lang.String sqlState, int vendorErrorCode, boolean isTransient, ExceptionInterceptor interceptor, Connection conn)
           
static java.sql.SQLException createSQLException(java.lang.String message, java.lang.String sqlState, int vendorErrorCode, ExceptionInterceptor interceptor)
           
static java.sql.SQLException createSQLException(java.lang.String message, java.lang.String sqlState, java.lang.Throwable cause, ExceptionInterceptor interceptor)
           
static java.sql.SQLException createSQLException(java.lang.String message, java.lang.String sqlState, java.lang.Throwable cause, ExceptionInterceptor interceptor, Connection conn)
           
static void dumpSqlStatesMappingsAsXml()
           
(package private) static java.lang.String get(java.lang.String stateCode)
           
(package private) static java.lang.String mysqlToSqlState(int errno, boolean useSql92States)
          Map MySQL error codes to X/Open or SQL-92 error codes
static java.sql.SQLException notImplemented()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ER_WARNING_NOT_COMPLETE_ROLLBACK

static final int ER_WARNING_NOT_COMPLETE_ROLLBACK
See Also:
Constant Field Values

SQL_STATE_BASE_TABLE_NOT_FOUND

public static final java.lang.String SQL_STATE_BASE_TABLE_NOT_FOUND
See Also:
Constant Field Values

SQL_STATE_BASE_TABLE_OR_VIEW_ALREADY_EXISTS

public static final java.lang.String SQL_STATE_BASE_TABLE_OR_VIEW_ALREADY_EXISTS
See Also:
Constant Field Values

SQL_STATE_BASE_TABLE_OR_VIEW_NOT_FOUND

public static final java.lang.String SQL_STATE_BASE_TABLE_OR_VIEW_NOT_FOUND
See Also:
Constant Field Values

SQL_STATE_COLUMN_ALREADY_EXISTS

public static final java.lang.String SQL_STATE_COLUMN_ALREADY_EXISTS
See Also:
Constant Field Values

SQL_STATE_COLUMN_NOT_FOUND

public static final java.lang.String SQL_STATE_COLUMN_NOT_FOUND
See Also:
Constant Field Values

SQL_STATE_COMMUNICATION_LINK_FAILURE

public static final java.lang.String SQL_STATE_COMMUNICATION_LINK_FAILURE
See Also:
Constant Field Values

SQL_STATE_CONNECTION_FAIL_DURING_TX

public static final java.lang.String SQL_STATE_CONNECTION_FAIL_DURING_TX
See Also:
Constant Field Values

SQL_STATE_CONNECTION_IN_USE

public static final java.lang.String SQL_STATE_CONNECTION_IN_USE
See Also:
Constant Field Values

SQL_STATE_CONNECTION_NOT_OPEN

public static final java.lang.String SQL_STATE_CONNECTION_NOT_OPEN
See Also:
Constant Field Values

SQL_STATE_CONNECTION_REJECTED

public static final java.lang.String SQL_STATE_CONNECTION_REJECTED
See Also:
Constant Field Values

SQL_STATE_DATE_TRUNCATED

public static final java.lang.String SQL_STATE_DATE_TRUNCATED
See Also:
Constant Field Values

SQL_STATE_DATETIME_FIELD_OVERFLOW

public static final java.lang.String SQL_STATE_DATETIME_FIELD_OVERFLOW
See Also:
Constant Field Values

SQL_STATE_DEADLOCK

public static final java.lang.String SQL_STATE_DEADLOCK
See Also:
Constant Field Values

SQL_STATE_DISCONNECT_ERROR

public static final java.lang.String SQL_STATE_DISCONNECT_ERROR
See Also:
Constant Field Values

SQL_STATE_DIVISION_BY_ZERO

public static final java.lang.String SQL_STATE_DIVISION_BY_ZERO
See Also:
Constant Field Values

SQL_STATE_DRIVER_NOT_CAPABLE

public static final java.lang.String SQL_STATE_DRIVER_NOT_CAPABLE
See Also:
Constant Field Values

SQL_STATE_ERROR_IN_ROW

public static final java.lang.String SQL_STATE_ERROR_IN_ROW
See Also:
Constant Field Values

SQL_STATE_GENERAL_ERROR

public static final java.lang.String SQL_STATE_GENERAL_ERROR
See Also:
Constant Field Values

SQL_STATE_ILLEGAL_ARGUMENT

public static final java.lang.String SQL_STATE_ILLEGAL_ARGUMENT
See Also:
Constant Field Values

SQL_STATE_INDEX_ALREADY_EXISTS

public static final java.lang.String SQL_STATE_INDEX_ALREADY_EXISTS
See Also:
Constant Field Values

SQL_STATE_INDEX_NOT_FOUND

public static final java.lang.String SQL_STATE_INDEX_NOT_FOUND
See Also:
Constant Field Values

SQL_STATE_INSERT_VALUE_LIST_NO_MATCH_COL_LIST

public static final java.lang.String SQL_STATE_INSERT_VALUE_LIST_NO_MATCH_COL_LIST
See Also:
Constant Field Values

SQL_STATE_INVALID_AUTH_SPEC

public static final java.lang.String SQL_STATE_INVALID_AUTH_SPEC
See Also:
Constant Field Values

SQL_STATE_INVALID_CHARACTER_VALUE_FOR_CAST

public static final java.lang.String SQL_STATE_INVALID_CHARACTER_VALUE_FOR_CAST
See Also:
Constant Field Values

SQL_STATE_INVALID_COLUMN_NUMBER

public static final java.lang.String SQL_STATE_INVALID_COLUMN_NUMBER
See Also:
Constant Field Values

SQL_STATE_INVALID_CONNECTION_ATTRIBUTE

public static final java.lang.String SQL_STATE_INVALID_CONNECTION_ATTRIBUTE
See Also:
Constant Field Values

SQL_STATE_MEMORY_ALLOCATION_FAILURE

public static final java.lang.String SQL_STATE_MEMORY_ALLOCATION_FAILURE
See Also:
Constant Field Values

SQL_STATE_MORE_THAN_ONE_ROW_UPDATED_OR_DELETED

public static final java.lang.String SQL_STATE_MORE_THAN_ONE_ROW_UPDATED_OR_DELETED
See Also:
Constant Field Values

SQL_STATE_NO_DEFAULT_FOR_COLUMN

public static final java.lang.String SQL_STATE_NO_DEFAULT_FOR_COLUMN
See Also:
Constant Field Values

SQL_STATE_NO_ROWS_UPDATED_OR_DELETED

public static final java.lang.String SQL_STATE_NO_ROWS_UPDATED_OR_DELETED
See Also:
Constant Field Values

SQL_STATE_NUMERIC_VALUE_OUT_OF_RANGE

public static final java.lang.String SQL_STATE_NUMERIC_VALUE_OUT_OF_RANGE
See Also:
Constant Field Values

SQL_STATE_PRIVILEGE_NOT_REVOKED

public static final java.lang.String SQL_STATE_PRIVILEGE_NOT_REVOKED
See Also:
Constant Field Values

SQL_STATE_SYNTAX_ERROR

public static final java.lang.String SQL_STATE_SYNTAX_ERROR
See Also:
Constant Field Values

SQL_STATE_TIMEOUT_EXPIRED

public static final java.lang.String SQL_STATE_TIMEOUT_EXPIRED
See Also:
Constant Field Values

SQL_STATE_TRANSACTION_RESOLUTION_UNKNOWN

public static final java.lang.String SQL_STATE_TRANSACTION_RESOLUTION_UNKNOWN
See Also:
Constant Field Values

SQL_STATE_UNABLE_TO_CONNECT_TO_DATASOURCE

public static final java.lang.String SQL_STATE_UNABLE_TO_CONNECT_TO_DATASOURCE
See Also:
Constant Field Values

SQL_STATE_WRONG_NO_OF_PARAMETERS

public static final java.lang.String SQL_STATE_WRONG_NO_OF_PARAMETERS
See Also:
Constant Field Values

SQL_STATE_INVALID_TRANSACTION_TERMINATION

public static final java.lang.String SQL_STATE_INVALID_TRANSACTION_TERMINATION
See Also:
Constant Field Values
Constructor Detail

SQLError

public SQLError()
Method Detail

convertShowWarningsToSQLWarnings

static java.sql.SQLWarning convertShowWarningsToSQLWarnings(Connection connection)
                                                     throws java.sql.SQLException
Turns output of 'SHOW WARNINGS' into JDBC SQLWarning instances. If 'forTruncationOnly' is true, only looks for truncation warnings, and actually throws DataTruncation as an exception.

Parameters:
connection - the connection to use for getting warnings.
Returns:
the SQLWarning chain (or null if no warnings)
Throws:
java.sql.SQLException - if the warnings could not be retrieved

convertShowWarningsToSQLWarnings

static java.sql.SQLWarning convertShowWarningsToSQLWarnings(Connection connection,
                                                            int warningCountIfKnown,
                                                            boolean forTruncationOnly)
                                                     throws java.sql.SQLException
Turns output of 'SHOW WARNINGS' into JDBC SQLWarning instances. If 'forTruncationOnly' is true, only looks for truncation warnings, and actually throws DataTruncation as an exception.

Parameters:
connection - the connection to use for getting warnings.
warningCountIfKnown - the warning count (if known), otherwise set it to 0.
forTruncationOnly - if this method should only scan for data truncation warnings
Returns:
the SQLWarning chain (or null if no warnings)
Throws:
java.sql.SQLException - if the warnings could not be retrieved, or if data truncation is being scanned for and truncations were found.

dumpSqlStatesMappingsAsXml

public static void dumpSqlStatesMappingsAsXml()
                                       throws java.lang.Exception
Throws:
java.lang.Exception

get

static java.lang.String get(java.lang.String stateCode)

mysqlToSqlState

static java.lang.String mysqlToSqlState(int errno,
                                        boolean useSql92States)
Map MySQL error codes to X/Open or SQL-92 error codes

Parameters:
errno - the MySQL error code
Returns:
the corresponding X/Open or SQL-92 error code

createSQLException

public static java.sql.SQLException createSQLException(java.lang.String message,
                                                       java.lang.String sqlState,
                                                       ExceptionInterceptor interceptor)

createSQLException

public static java.sql.SQLException createSQLException(java.lang.String message,
                                                       ExceptionInterceptor interceptor)

createSQLException

public static java.sql.SQLException createSQLException(java.lang.String message,
                                                       ExceptionInterceptor interceptor,
                                                       Connection conn)

createSQLException

public static java.sql.SQLException createSQLException(java.lang.String message,
                                                       java.lang.String sqlState,
                                                       java.lang.Throwable cause,
                                                       ExceptionInterceptor interceptor)

createSQLException

public static java.sql.SQLException createSQLException(java.lang.String message,
                                                       java.lang.String sqlState,
                                                       java.lang.Throwable cause,
                                                       ExceptionInterceptor interceptor,
                                                       Connection conn)

createSQLException

public static java.sql.SQLException createSQLException(java.lang.String message,
                                                       java.lang.String sqlState,
                                                       int vendorErrorCode,
                                                       ExceptionInterceptor interceptor)

createSQLException

public static java.sql.SQLException createSQLException(java.lang.String message,
                                                       java.lang.String sqlState,
                                                       int vendorErrorCode,
                                                       boolean isTransient,
                                                       ExceptionInterceptor interceptor)

createSQLException

public static java.sql.SQLException createSQLException(java.lang.String message,
                                                       java.lang.String sqlState,
                                                       int vendorErrorCode,
                                                       boolean isTransient,
                                                       ExceptionInterceptor interceptor,
                                                       Connection conn)

createCommunicationsException

public static java.sql.SQLException createCommunicationsException(ConnectionImpl conn,
                                                                  long lastPacketSentTimeMs,
                                                                  long lastPacketReceivedTimeMs,
                                                                  java.lang.Exception underlyingException,
                                                                  ExceptionInterceptor interceptor)

createLinkFailureMessageBasedOnHeuristics

public static java.lang.String createLinkFailureMessageBasedOnHeuristics(ConnectionImpl conn,
                                                                         long lastPacketSentTimeMs,
                                                                         long lastPacketReceivedTimeMs,
                                                                         java.lang.Exception underlyingException,
                                                                         boolean streamingResultSetInPlay)
Creates a communications link failure message to be used in CommunicationsException that (hopefully) has some better information and suggestions based on heuristics.

Parameters:
conn -
lastPacketSentTimeMs -
underlyingException -
streamingResultSetInPlay -
Returns:

notImplemented

public static java.sql.SQLException notImplemented()