Module java.sql
Package java.sql

# Class DataTruncation

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.sql.SQLException
java.sql.SQLWarning
java.sql.DataTruncation

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

public class DataTruncation extends SQLWarning
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 exceeded `MaxFieldSize`.

The SQLstate for a `DataTruncation` during read is `01004`.

The SQLstate for a `DataTruncation` during write is `22001`.

Since:
  1.1
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`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.

## Method Summary

Modifier and Type
Method
Description
`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.

### Methods declared in class java.sql.SQLWarning

`getNextWarning, setNextWarning`

### Methods declared in class java.sql.SQLException

`getErrorCode, getNextException, getSQLState, iterator, setNextException`

### Methods declared in class java.lang.Throwable

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

### Methods declared in class java.lang.Object

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

### Methods declared in interface java.lang.Iterable

`forEach, spliterator`

## Constructor Details

### DataTruncation

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

### DataTruncation

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.
Since:
  1.6

## Method Details

### getIndex

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 parameter or column value

### getParameter

public boolean getParameter()
Indicates whether the value truncated was a parameter value or a column value.

Returns:
  `true` if the value truncated was a parameter; `false` if it was a column value

### getRead

public boolean getRead()
Indicates whether or not the value was truncated on a read.

Returns:
  `true` if the value was truncated when read from the database; `false` if the data was truncated on a write

### getDataSize

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

### getTransferSize

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