public abstract class Sqlca
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private Agent |
agent_ |
private java.lang.String[] |
cachedMessages
Cached error messages (to prevent multiple invocations of the stored
procedure to get the same message).
|
protected Connection |
connection_ |
protected boolean |
containsSqlcax_ |
(package private) SqlException |
exceptionThrownOnStoredProcInvocation_ |
static int |
HIGH_ORDER_ROW_COUNT |
static int |
HIGH_ORDER_UPDATE_COUNT |
static int |
LOW_ORDER_ROW_COUNT |
static int |
LOW_ORDER_UPDATE_COUNT |
(package private) boolean |
messageTextRetrievedContainsTokensOnly_ |
private boolean |
returnTokensOnlyInMessageText_ |
protected long |
rowsetRowCount_ |
static int |
SQL_ERR_LENGTH |
protected int |
sqlCode_ |
protected int[] |
sqlErrd_ |
private java.lang.String |
sqlErrmc_
A string representation of
sqlErrmcBytes_ . |
private static java.lang.String |
SQLERRMC_TOKEN_DELIMITER
Token delimiter for SQLERRMC.
|
protected byte[] |
sqlErrmcBytes_ |
protected int |
sqlErrmcCcsid_ |
private static java.lang.String |
sqlErrmcDelimiter__
Character sequence that separates the different messages in the errmc.
|
protected java.lang.String[] |
sqlErrmcMessages_
Array of errmc strings for each message in the chain.
|
protected java.lang.String |
sqlErrp_ |
protected byte[] |
sqlErrpBytes_ |
protected java.lang.String |
sqlState_ |
private java.lang.String[] |
sqlStates_
SQL states for all the messages in the exception chain.
|
protected char[] |
sqlWarn_ |
protected byte[] |
sqlWarnBytes_ |
Modifier | Constructor and Description |
---|---|
protected |
Sqlca(Connection connection) |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
bytes2String(byte[] bytes,
int offset,
int length) |
private void |
chainDeferredExceptionsToAgentOrAsConnectionWarnings(SqlException e) |
boolean |
containsSqlcax() |
(package private) java.sql.DataTruncation |
getDataTruncation()
Get a
java.sql.DataTruncation warning based on the information
in this SQLCA. |
int |
getErrorCode()
Get the error code based on the SQL code received from the server.
|
(package private) java.lang.String |
getJDBCMessage(int messageNumber) |
private java.lang.String |
getMessage(int messageNumber) |
long |
getRowCount() |
long |
getRowsetRowCount() |
int |
getSqlCode() |
int[] |
getSqlErrd() |
java.lang.String |
getSqlErrmc() |
java.lang.String |
getSqlErrp() |
java.lang.String |
getSqlState() |
(package private) java.lang.String |
getSqlState(int messageNumber)
Get the SQL state for a given error.
|
char[] |
getSqlWarn() |
private java.lang.String |
getUnformattedMessage(int messageNumber)
Get the unformatted message text (in case we cannot ask the server).
|
long |
getUpdateCount() |
boolean |
includesSqlCode(int[] codes) |
private void |
initSqlErrmcMessages()
Initialize and build the arrays
sqlErrmcMessages_ and
sqlStates_ . |
(package private) int |
numberOfMessages()
Returns the number of messages this SQLCA contains.
|
private void |
processSqlErrmcTokens(byte[] tokenBytes) |
void |
resetRowsetSqlca(Connection connection,
int sqlCode,
java.lang.String sqlState,
byte[] sqlErrpBytes) |
(package private) void |
returnTokensOnlyInMessageText(boolean returnTokensOnlyInMessageText) |
void |
setContainsSqlcax(boolean containsSqlcax) |
void |
setRowsetRowCount(long rowCount) |
public static final int HIGH_ORDER_ROW_COUNT
public static final int LOW_ORDER_ROW_COUNT
public static final int LOW_ORDER_UPDATE_COUNT
public static final int HIGH_ORDER_UPDATE_COUNT
public static final int SQL_ERR_LENGTH
protected transient Connection connection_
SqlException exceptionThrownOnStoredProcInvocation_
boolean messageTextRetrievedContainsTokensOnly_
protected int sqlCode_
private java.lang.String sqlErrmc_
sqlErrmcBytes_
.protected java.lang.String[] sqlErrmcMessages_
private java.lang.String[] sqlStates_
protected java.lang.String sqlErrp_
protected int[] sqlErrd_
protected char[] sqlWarn_
protected java.lang.String sqlState_
protected byte[] sqlErrmcBytes_
protected byte[] sqlErrpBytes_
protected byte[] sqlWarnBytes_
protected int sqlErrmcCcsid_
protected boolean containsSqlcax_
protected long rowsetRowCount_
private static final java.lang.String sqlErrmcDelimiter__
private static final java.lang.String SQLERRMC_TOKEN_DELIMITER
private boolean returnTokensOnlyInMessageText_
private final transient Agent agent_
private java.lang.String[] cachedMessages
protected Sqlca(Connection connection)
void returnTokensOnlyInMessageText(boolean returnTokensOnlyInMessageText)
int numberOfMessages()
public int getSqlCode()
public int getErrorCode()
Get the error code based on the SQL code received from the server.
The conversion from SQL code to error code happens like this:
-(sqlCode+1)
.public java.lang.String getSqlErrmc()
private void initSqlErrmcMessages()
sqlErrmcMessages_
and
sqlStates_
.public java.lang.String getSqlErrp()
public int[] getSqlErrd()
public char[] getSqlWarn()
public java.lang.String getSqlState()
java.lang.String getSqlState(int messageNumber)
messageNumber
- the error to retrieve SQL state forprivate java.lang.String getMessage(int messageNumber) throws SqlException
SqlException
java.lang.String getJDBCMessage(int messageNumber)
private java.lang.String getUnformattedMessage(int messageNumber)
messageNumber
- which message number to get the text forprivate void chainDeferredExceptionsToAgentOrAsConnectionWarnings(SqlException e)
public boolean includesSqlCode(int[] codes)
java.sql.DataTruncation getDataTruncation()
java.sql.DataTruncation
warning based on the information
in this SQLCA.java.sql.DataTruncation
instanceprivate void processSqlErrmcTokens(byte[] tokenBytes)
protected java.lang.String bytes2String(byte[] bytes, int offset, int length) throws java.io.UnsupportedEncodingException
java.io.UnsupportedEncodingException
public long getUpdateCount()
public long getRowCount() throws DisconnectException
DisconnectException
public void setContainsSqlcax(boolean containsSqlcax)
public boolean containsSqlcax()
public void resetRowsetSqlca(Connection connection, int sqlCode, java.lang.String sqlState, byte[] sqlErrpBytes)
public void setRowsetRowCount(long rowCount)
public long getRowsetRowCount()
Apache Derby V10.10 Internals - Copyright © 2004,2013 The Apache Software Foundation. All Rights Reserved.