DataTruncation (Java SE 26 & JDK 26)
Description: declaration: module: java.sql, package: java.sql, class: DataTruncation
Keywords: java.sql.DataTruncation class

# 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 SQLWarning

  `getNextWarning, setNextWarning`
  Modifier and Type
  Method
  Description
  `SQLWarning`
  `getNextWarning()`
  Retrieves the warning chained to this `SQLWarning` object by `setNextWarning`.
  `void`
  `setNextWarning(SQLWarning w)`
  Adds a `SQLWarning` object to the end of the chain.

  ### Methods declared in class SQLException

  `getErrorCode, getNextException, getSQLState, iterator, setNextException`
  Modifier and Type
  Method
  Description
  `int`
  `getErrorCode()`
  Retrieves the vendor-specific exception code for this `SQLException` object.
  `SQLException`
  `getNextException()`
  Retrieves the exception chained to this `SQLException` object by setNextException(SQLException ex).
  `String`
  `getSQLState()`
  Retrieves the SQLState for this `SQLException` object.
  `Iterator<Throwable>`
  `iterator()`
  Returns an iterator over the chained SQLExceptions.
  `void`
  `setNextException(SQLException ex)`
  Adds an `SQLException` object to the end of the chain.

  ### Methods declared in class Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`
  Modifier and Type
  Method
  Description
  `final void`
  `addSuppressed(Throwable exception)`
  Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
  `Throwable`
  `fillInStackTrace()`
  Fills in the execution stack trace.
  `Throwable`
  `getCause()`
  Returns the cause of this throwable or `null` if the cause is nonexistent or unknown.
  `String`
  `getLocalizedMessage()`
  Creates a localized description of this throwable.
  `String`
  `getMessage()`
  Returns the detail message string of this throwable.
  `StackTraceElement[]`
  `getStackTrace()`
  Provides programmatic access to the stack trace information printed by `Throwable.printStackTrace()`.
  `final Throwable[]`
  `getSuppressed()`
  Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
  `Throwable`
  `initCause(Throwable cause)`
  Initializes the cause of this throwable to the specified value.
  `void`
  `printStackTrace()`
  Prints this throwable and its backtrace to the standard error stream.
  `void`
  `printStackTrace(PrintStream s)`
  Prints this throwable and its backtrace to the specified print stream.
  `void`
  `printStackTrace(PrintWriter s)`
  Prints this throwable and its backtrace to the specified print writer.
  `void`
  `setStackTrace(StackTraceElement[] stackTrace)`
  Sets the stack trace elements that will be returned by `Throwable.getStackTrace()` and printed by `Throwable.printStackTrace()` and related methods.
  `String`
  `toString()`
  Returns a short description of this throwable.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

  ### Methods declared in interface Iterable

  `forEach, spliterator`
  Modifier and Type
  Method
  Description
  `default void`
  `forEach(Consumer<? super Throwable> action)`
  Performs the given action for each element of the `Iterable` until all elements have been processed or the action throws an exception.
  `default Spliterator<Throwable>`
  `spliterator()`
  Creates a `Spliterator` over the elements described by this `Iterable`.

- ## 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