Package org.h2.jdbc

Class JdbcResultSetMetaData

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

    public final class JdbcResultSetMetaData
    extends TraceObject
    implements java.sql.ResultSetMetaData
    Represents the meta data for a ResultSet.
    • 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
      • checkClosed

        private void checkClosed()
      • getColumn

        private int getColumn​(java.lang.String methodName,
                              int columnIndex)
        Writes trace information and checks validity of this object and parameter.
        Parameters:
        methodName - the called method name
        columnIndex - 1-based column index
        Returns:
        0-based column index
      • 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