AI-generated Key Takeaways
-
DataTruncationis a subclass ofSQLWarningsignaling unexpected data truncation, distinct from exceedingMaxFieldSize. -
It occurs during data reads or writes, with SQLstates
01004and22001respectively. -
Provides methods to access details like the truncated value's index, data size before and after truncation, and whether it was a parameter or column value.
-
Two constructors allow instantiation with or without specifying an underlying cause for the truncation.
An exception thrown as a DataTruncation exception
(on writes) or reported as a
DataTruncation warning (on reads)
when a data values is unexpectedly truncated for reasons other than its having
execeeded MaxFieldSize.
The SQLstate for a DataTruncation during read is 01004.
The SQLstate for a DataTruncation during write is 22001.
Public Constructor Summary
|
DataTruncation(int index, boolean parameter, boolean read, int dataSize, int transferSize)
Creates a
DataTruncation object
with the SQLState initialized
to 01004 when read is set to true and 22001
when read is set to false,
the reason set to "Data truncation", the
vendor code set to 0, and
the other fields set to the given values. |
|
|
DataTruncation(int index, boolean parameter, boolean read, int dataSize, int transferSize, Throwable cause)
Creates a
DataTruncation object
with the SQLState initialized
to 01004 when read is set to true and 22001
when read is set to false,
the reason set to "Data truncation", the
vendor code set to 0, and
the other fields set to the given values. |
Public Method Summary
| int |
getDataSize()
Gets the number of bytes of data that should have been transferred.
|
| int |
getIndex()
Retrieves the index of the column or parameter that was truncated.
|
| boolean |
getParameter()
Indicates whether the value truncated was a parameter value or
a column value.
|
| boolean |
getRead()
Indicates whether or not the value was truncated on a read.
|
| int |
getTransferSize()
Gets the number of bytes of data actually transferred.
|
Inherited Method Summary
Public Constructors
public DataTruncation (int index, boolean parameter, boolean read, int dataSize, int transferSize)
Creates a DataTruncation object
with the SQLState initialized
to 01004 when read is set to true and 22001
when read is set to false,
the reason set to "Data truncation", the
vendor code set to 0, and
the other fields set to the given values.
The cause is not initialized, and may subsequently be
initialized by a call to the
Throwable.initCause(java.lang.Throwable) method.
Parameters
| index | The index of the parameter or column value |
|---|---|
| parameter | true if a parameter value was truncated |
| read | true if a read was truncated |
| dataSize | the original size of the data |
| transferSize | the size after truncation |
public DataTruncation (int index, boolean parameter, boolean read, int dataSize, int transferSize, Throwable cause)
Creates a DataTruncation object
with the SQLState initialized
to 01004 when read is set to true and 22001
when read is set to false,
the reason set to "Data truncation", the
vendor code set to 0, and
the other fields set to the given values.
Parameters
| index | The index of the parameter or column value |
|---|---|
| parameter | true if a parameter value was truncated |
| read | true if a read was truncated |
| dataSize | the original size of the data |
| transferSize | the size after truncation |
| cause | the underlying reason for this DataTruncation
(which is saved for later retrieval by the getCause() method);
may be null indicating the cause is non-existent or unknown. |
Public Methods
public int getDataSize ()
Gets the number of bytes of data that should have been transferred.
This number may be approximate if data conversions were being
performed. The value may be -1 if the size is unknown.
Returns
- the number of bytes of data that should have been transferred
public int getIndex ()
Retrieves the index of the column or parameter that was truncated.
This may be -1 if the column or parameter index is unknown, in
which case the parameter and read fields should be ignored.
Returns
- the index of the truncated paramter or column value
public boolean getParameter ()
Indicates whether the value truncated was a parameter value or a column value.
Returns
trueif the value truncated was a parameter;falseif it was a column value
public boolean getRead ()
Indicates whether or not the value was truncated on a read.
Returns
trueif the value was truncated when read from the database;falseif the data was truncated on a write
public int getTransferSize ()
Gets the number of bytes of data actually transferred.
The value may be -1 if the size is unknown.
Returns
- the number of bytes of data actually transferred