org.h2.jdbc

## Class JdbcResultSetMetaData

- java.lang.Object
- - org.h2.message.TraceObject
  - - org.h2.jdbc.JdbcResultSetMetaData

- All Implemented Interfaces:
    java.sql.ResultSetMetaData, java.sql.Wrapper

      public final class JdbcResultSetMetaData
      extends org.h2.message.TraceObject
      implements java.sql.ResultSetMetaData

  Represents the meta data for a ResultSet.

- - ### Field Summary

    - ### Fields inherited from class org.h2.message.TraceObject

      `ARRAY, BLOB, CALLABLE_STATEMENT, CLOB, CONNECTION, DATA_SOURCE, DATABASE_META_DATA, PARAMETER_META_DATA, PREPARED_STATEMENT, RESULT_SET, RESULT_SET_META_DATA, SAVEPOINT, SQLXML, STATEMENT, trace, XA_DATA_SOURCE, XID`

    - ### Fields inherited from interface java.sql.ResultSetMetaData

      `columnNoNulls, columnNullable, columnNullableUnknown`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getCatalogName(int column)` Returns the catalog name.
    `java.lang.String` | `getColumnClassName(int column)` Gets the Java class name of the object that will be returned if ResultSet.getObject is called.
    `int` | `getColumnCount()` Returns the number of columns.
    `int` | `getColumnDisplaySize(int column)` Gets the maximum display size for this column.
    `java.lang.String` | `getColumnLabel(int column)` Returns the column label.
    `java.lang.String` | `getColumnName(int column)` Returns the column name.
    `int` | `getColumnType(int column)` Returns the data type of a column.
    `java.lang.String` | `getColumnTypeName(int column)` Returns the data type name of a column.
    `int` | `getPrecision(int column)` Gets the precision for this column.
    `int` | `getScale(int column)` Gets the scale for this column.
    `java.lang.String` | `getSchemaName(int column)` Returns the schema name.
    `java.lang.String` | `getTableName(int column)` Returns the table name.
    `boolean` | `isAutoIncrement(int column)` Checks if this an autoincrement column.
    `boolean` | `isCaseSensitive(int column)` Checks if this column is case sensitive.
    `boolean` | `isCurrency(int column)` Checks if this is a currency column.
    `boolean` | `isDefinitelyWritable(int column)` Checks whether a write on this column will definitely succeed.
    `int` | `isNullable(int column)` Checks if this is nullable column.
    `boolean` | `isReadOnly(int column)` Checks if this column is read only.
    `boolean` | `isSearchable(int column)` Checks if this column is searchable.
    `boolean` | `isSigned(int column)` Checks if this column is signed.
    `boolean` | `isWrapperFor(java.lang.Class<?> iface)` Checks if unwrap can return an object of this class.
    `boolean` | `isWritable(int column)` Checks whether it is possible for a write on this column to succeed.
    `java.lang.String` | `toString()` INTERNAL
    `<T> T` | `unwrap(java.lang.Class<T> iface)` Return an object of this class if possible.

    - ### Methods inherited from class org.h2.message.TraceObject

      `debugCode, debugCodeAssign, debugCodeCall, debugCodeCall, debugCodeCall, getNextId, getTraceId, getTraceObjectName, isDebugEnabled, isInfoEnabled, logAndConvert, quote, quoteArray, quoteBigDecimal, quoteBytes, quoteDate, quoteIntArray, quoteMap, quoteTime, quoteTimestamp, setTrace, unsupported`

    - ### Methods inherited from class java.lang.Object

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

- - ### Method Detail

    - #### getColumnCount

          public int getColumnCount()
                             throws java.sql.SQLException

      Returns the number of columns.
      Specified by:
        `getColumnCount` in interface `java.sql.ResultSetMetaData`
      Returns:
        the number of columns
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getColumnLabel

          public java.lang.String getColumnLabel(int column)
                                          throws java.sql.SQLException

      Returns the column label.
      Specified by:
        `getColumnLabel` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the column label
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getColumnName

          public java.lang.String getColumnName(int column)
                                         throws java.sql.SQLException

      Returns the column name.
      Specified by:
        `getColumnName` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the column name
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getColumnType

          public int getColumnType(int column)
                            throws java.sql.SQLException

      Returns the data type of a column. See also java.sql.Type.
      Specified by:
        `getColumnType` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the data type
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getColumnTypeName

          public java.lang.String getColumnTypeName(int column)
                                             throws java.sql.SQLException

      Returns the data type name of a column.
      Specified by:
        `getColumnTypeName` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the data type name
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getSchemaName

          public java.lang.String getSchemaName(int column)
                                         throws java.sql.SQLException

      Returns the schema name.
      Specified by:
        `getSchemaName` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the schema name, or "" (an empty string) if not applicable
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getTableName

          public java.lang.String getTableName(int column)
                                        throws java.sql.SQLException

      Returns the table name.
      Specified by:
        `getTableName` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the table name
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getCatalogName

          public java.lang.String getCatalogName(int column)
                                          throws java.sql.SQLException

      Returns the catalog name.
      Specified by:
        `getCatalogName` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the catalog name
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isAutoIncrement

          public boolean isAutoIncrement(int column)
                                  throws java.sql.SQLException

      Checks if this an autoincrement column.
      Specified by:
        `isAutoIncrement` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        false
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isCaseSensitive

          public boolean isCaseSensitive(int column)
                                  throws java.sql.SQLException

      Checks if this column is case sensitive. It always returns true.
      Specified by:
        `isCaseSensitive` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        true
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isSearchable

          public boolean isSearchable(int column)
                               throws java.sql.SQLException

      Checks if this column is searchable. It always returns true.
      Specified by:
        `isSearchable` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        true
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isCurrency

          public boolean isCurrency(int column)
                             throws java.sql.SQLException

      Checks if this is a currency column. It always returns false.
      Specified by:
        `isCurrency` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        false
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isNullable

          public int isNullable(int column)
                         throws java.sql.SQLException

      Checks if this is nullable column. Returns ResultSetMetaData.columnNullableUnknown if this is not a column of a table. Otherwise, it returns ResultSetMetaData.columnNoNulls if the column is not nullable, and ResultSetMetaData.columnNullable if it is nullable.
      Specified by:
        `isNullable` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        ResultSetMetaData.column*
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isSigned

          public boolean isSigned(int column)
                           throws java.sql.SQLException

      Checks if this column is signed. Returns true for numeric columns.
      Specified by:
        `isSigned` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        true for numeric columns
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isReadOnly

          public boolean isReadOnly(int column)
                             throws java.sql.SQLException

      Checks if this column is read only. It always returns false.
      Specified by:
        `isReadOnly` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        false
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isWritable

          public boolean isWritable(int column)
                             throws java.sql.SQLException

      Checks whether it is possible for a write on this column to succeed. It always returns true.
      Specified by:
        `isWritable` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        true
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### isDefinitelyWritable

          public boolean isDefinitelyWritable(int column)
                                       throws java.sql.SQLException

      Checks whether a write on this column will definitely succeed. It always returns false.
      Specified by:
        `isDefinitelyWritable` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        false
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getColumnClassName

          public java.lang.String getColumnClassName(int column)
                                              throws java.sql.SQLException

      Gets the Java class name of the object that will be returned if ResultSet.getObject is called.
      Specified by:
        `getColumnClassName` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the Java class name
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getPrecision

          public int getPrecision(int column)
                           throws java.sql.SQLException

      Gets the precision for this column.
      Specified by:
        `getPrecision` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the precision
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getScale

          public int getScale(int column)
                       throws java.sql.SQLException

      Gets the scale for this column.
      Specified by:
        `getScale` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the scale
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### getColumnDisplaySize

          public int getColumnDisplaySize(int column)
                                   throws java.sql.SQLException

      Gets the maximum display size for this column.
      Specified by:
        `getColumnDisplaySize` in interface `java.sql.ResultSetMetaData`
      Parameters:
        `column` - the column index (1,2,...)
      Returns:
        the display size
      Throws:
        `java.sql.SQLException` - if the result set is closed or invalid

    - #### unwrap

          public <T> T unwrap(java.lang.Class<T> iface)
                       throws java.sql.SQLException

      Return an object of this class if possible.
      Specified by:
        `unwrap` in interface `java.sql.Wrapper`
      Parameters:
        `iface` - the class
      Returns:
        this
      Throws:
        `java.sql.SQLException`

    - #### isWrapperFor

          public boolean isWrapperFor(java.lang.Class<?> iface)
                               throws java.sql.SQLException

      Checks if unwrap can return an object of this class.
      Specified by:
        `isWrapperFor` in interface `java.sql.Wrapper`
      Parameters:
        `iface` - the class
      Returns:
        whether or not the interface is assignable from this class
      Throws:
        `java.sql.SQLException`

    - #### toString

          public java.lang.String toString()

      INTERNAL
      Overrides:
        `toString` in class `java.lang.Object`