Class FBResultSetMetaData

    • Constructor Detail

      • FBResultSetMetaData

        protected FBResultSetMetaData​(RowDescriptor rowDescriptor,
                                      FBConnection connection)
                               throws java.sql.SQLException
        Creates a new FBResultSetMetaData instance.
        Parameters:
        rowDescriptor - a row descriptor
        connection - a FBConnection value
        Throws:
        java.sql.SQLException - if an error occurs

        TODO Need another constructor for metadata from constructed result set, where we supply the ext field info.

    • Method Detail

      • getColumnCount

        public int getColumnCount()
                           throws java.sql.SQLException
        Specified by:
        getColumnCount in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isAutoIncrement

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

        The current implementation always returns false.

        Specified by:
        isAutoIncrement in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isCaseSensitive

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

        The current implementation always returns true.

        Specified by:
        isCaseSensitive in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isSearchable

        public boolean isSearchable​(int column)
                             throws java.sql.SQLException
        Specified by:
        isSearchable in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isCurrency

        public boolean isCurrency​(int column)
                           throws java.sql.SQLException
        Specified by:
        isCurrency in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isNullable

        public int isNullable​(int column)
                       throws java.sql.SQLException
        Specified by:
        isNullable in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isSigned

        public boolean isSigned​(int column)
                         throws java.sql.SQLException
        Specified by:
        isSigned in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getColumnDisplaySize

        public int getColumnDisplaySize​(int column)
                                 throws java.sql.SQLException
        Specified by:
        getColumnDisplaySize in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getColumnLabel

        public java.lang.String getColumnLabel​(int column)
                                        throws java.sql.SQLException
        Specified by:
        getColumnLabel in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getColumnName

        public java.lang.String getColumnName​(int column)
                                       throws java.sql.SQLException
        Specified by:
        getColumnName in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getSchemaName

        public java.lang.String getSchemaName​(int column)
                                       throws java.sql.SQLException
        Specified by:
        getSchemaName in interface java.sql.ResultSetMetaData
        Returns:
        Always "" as schemas are not supported.
        Throws:
        java.sql.SQLException
      • getPrecision

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

        NOTE For NUMERIC and DECIMAL we attempt to retrieve the exact precision from the metadata, if this is not possible (eg the column is dynamically defined in the query), the reported precision is the maximum precision allowed by the underlying storage data type.

        Specified by:
        getPrecision in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getScale

        public int getScale​(int column)
                     throws java.sql.SQLException
        Specified by:
        getScale in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getTableName

        public java.lang.String getTableName​(int column)
                                      throws java.sql.SQLException
        Specified by:
        getTableName in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getTableAlias

        public java.lang.String getTableAlias​(int column)
                                       throws java.sql.SQLException
        Description copied from interface: FirebirdResultSetMetaData
        Gets the designated column's table alias.
        Specified by:
        getTableAlias in interface FirebirdResultSetMetaData
        Parameters:
        column - the first column is 1, the second is 2, ...
        Returns:
        table alias or "" if not applicable
        Throws:
        java.sql.SQLException - if a database access error occurs
      • getCatalogName

        public java.lang.String getCatalogName​(int column)
                                        throws java.sql.SQLException
        Specified by:
        getCatalogName in interface java.sql.ResultSetMetaData
        Returns:
        Always "" as catalogs are not supported
        Throws:
        java.sql.SQLException
      • getColumnType

        public int getColumnType​(int column)
                          throws java.sql.SQLException
        Specified by:
        getColumnType in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getColumnTypeName

        public java.lang.String getColumnTypeName​(int column)
                                           throws java.sql.SQLException
        Specified by:
        getColumnTypeName in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isReadOnly

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

        The current implementation always returns false, except for a DB_KEY column.

        Specified by:
        isReadOnly in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isWritable

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

        The current implementation always returns true, except for a DB_KEY column.

        Specified by:
        isWritable in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • isDefinitelyWritable

        public boolean isDefinitelyWritable​(int column)
                                     throws java.sql.SQLException
        Specified by:
        isDefinitelyWritable in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException
      • getColumnClassName

        public java.lang.String getColumnClassName​(int column)
                                            throws java.sql.SQLException
        Specified by:
        getColumnClassName in interface java.sql.ResultSetMetaData
        Throws:
        java.sql.SQLException