public class FBResultSetMetaData extends AbstractFieldMetaData implements FirebirdResultSetMetaData
ResultSet
object.AbstractFieldMetaData.ExtendedFieldInfo, AbstractFieldMetaData.FieldKey
Modifier | Constructor and Description |
---|---|
protected |
FBResultSetMetaData(RowDescriptor rowDescriptor,
FBConnection connection)
Creates a new
FBResultSetMetaData instance. |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getCatalogName(int column)
Gets the designated column's table's catalog name.
|
java.lang.String |
getColumnClassName(int column)
Returns the fully-qualified name of the Java class whose instances
are manufactured if the method
ResultSet.getObject
is called to retrieve a value from the column. |
int |
getColumnCount()
Returns the number of columns in this
ResultSet object. |
int |
getColumnDisplaySize(int column)
Indicates the designated column's normal maximum width in characters.
|
java.lang.String |
getColumnLabel(int column)
Gets the designated column's suggested title for use in printouts and
displays.
|
java.lang.String |
getColumnName(int column)
Get the designated column's name.
|
int |
getColumnType(int column)
Retrieves the designated column's SQL type.
|
java.lang.String |
getColumnTypeName(int column)
Retrieves the designated column's database-specific type name.
|
protected java.util.Map<AbstractFieldMetaData.FieldKey,AbstractFieldMetaData.ExtendedFieldInfo> |
getExtendedFieldInfo(FBConnection connection)
This method retrieves extended information from the system tables in
a database.
|
int |
getPrecision(int column)
Get the designated column's specified column size.
|
int |
getScale(int column)
Gets the designated column's number of digits to right of the decimal point.
|
java.lang.String |
getSchemaName(int column)
Get the designated column's table's schema.
|
java.lang.String |
getTableAlias(int column)
Gets the designated column's table alias.
|
java.lang.String |
getTableName(int column)
Gets the designated column's table name.
|
boolean |
isAutoIncrement(int column)
Indicates whether the designated column is automatically numbered.
|
boolean |
isCaseSensitive(int column)
Indicates whether a column's case matters.
|
boolean |
isCurrency(int column)
Indicates whether the designated column is a cash value.
|
boolean |
isDefinitelyWritable(int column)
Indicates whether a write on the designated column will definitely succeed.
|
int |
isNullable(int column)
Indicates the nullability of values in the designated column.
|
boolean |
isReadOnly(int column)
Indicates whether the designated column is definitely not writable.
|
boolean |
isSearchable(int column)
Indicates whether the designated column can be used in a where clause.
|
boolean |
isSigned(int column)
Indicates whether values in the designated column are signed numbers.
|
boolean |
isWritable(int column)
Indicates whether it is possible for a write on the designated column to succeed.
|
estimateFixedPrecision, getExtFieldInfo, getFieldClassName, getFieldCount, getFieldDescriptor, getFieldType, getFieldTypeName, getPrecisionInternal, getRowDescriptor, getScaleInternal, isSignedInternal, isWrapperFor, unwrap
protected FBResultSetMetaData(RowDescriptor rowDescriptor, FBConnection connection) throws java.sql.SQLException
FBResultSetMetaData
instance.rowDescriptor
- a row descriptorconnection
- a FBConnection
valuejava.sql.SQLException
- if an error occurs
TODO Need another constructor for metadata from constructed
result set, where we supply the ext field info.public int getColumnCount() throws java.sql.SQLException
ResultSet
object.getColumnCount
in interface java.sql.ResultSetMetaData
java.sql.SQLException
- if a database access error occurspublic boolean isAutoIncrement(int column) throws java.sql.SQLException
The current implementation always returns false
.
isAutoIncrement
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...true
if so; false
otherwisejava.sql.SQLException
- if a database access error occurspublic boolean isCaseSensitive(int column) throws java.sql.SQLException
The current implementation always returns true
.
isCaseSensitive
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...true
if so; false
otherwisejava.sql.SQLException
- if a database access error occurspublic boolean isSearchable(int column) throws java.sql.SQLException
isSearchable
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...true
if so; false
otherwisejava.sql.SQLException
- if a database access error occurspublic boolean isCurrency(int column) throws java.sql.SQLException
isCurrency
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...true
if so; false
otherwisejava.sql.SQLException
- if a database access error occurspublic int isNullable(int column) throws java.sql.SQLException
isNullable
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...columnNoNulls
,
columnNullable
or columnNullableUnknown
java.sql.SQLException
- if a database access error occurspublic boolean isSigned(int column) throws java.sql.SQLException
isSigned
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...true
if so; false
otherwisejava.sql.SQLException
- if a database access error occurspublic int getColumnDisplaySize(int column) throws java.sql.SQLException
getColumnDisplaySize
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic java.lang.String getColumnLabel(int column) throws java.sql.SQLException
AS
clause. If a SQL AS
is not specified, the value returned from
getColumnLabel
will be the same as the value returned by the
getColumnName
method.getColumnLabel
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic java.lang.String getColumnName(int column) throws java.sql.SQLException
getColumnName
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic java.lang.String getSchemaName(int column) throws java.sql.SQLException
Firebird has no schemas. This method always returns the empty string.
getSchemaName
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic int getPrecision(int column) throws java.sql.SQLException
For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. 0 is returned for data types where the column size is not applicable.
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.
getPrecision
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic int getScale(int column) throws java.sql.SQLException
getScale
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic java.lang.String getTableName(int column) throws java.sql.SQLException
getTableName
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic java.lang.String getTableAlias(int column) throws java.sql.SQLException
FirebirdResultSetMetaData
getTableAlias
in interface FirebirdResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic java.lang.String getCatalogName(int column) throws java.sql.SQLException
Firebird has no catalogs. This method always returns the empty string.
getCatalogName
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic int getColumnType(int column) throws java.sql.SQLException
getColumnType
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occursTypes
public java.lang.String getColumnTypeName(int column) throws java.sql.SQLException
getColumnTypeName
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...java.sql.SQLException
- if a database access error occurspublic boolean isReadOnly(int column) throws java.sql.SQLException
The current implementation always returns false
.
isReadOnly
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...true
if so; false
otherwisejava.sql.SQLException
- if a database access error occurspublic boolean isWritable(int column) throws java.sql.SQLException
The current implementation always returns true
.
isWritable
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...true
if so; false
otherwisejava.sql.SQLException
- if a database access error occurspublic boolean isDefinitelyWritable(int column) throws java.sql.SQLException
The current implementation always returns true
.
isDefinitelyWritable
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...true
if so; false
otherwisejava.sql.SQLException
- if a database access error occurspublic java.lang.String getColumnClassName(int column) throws java.sql.SQLException
ResultSet.getObject
is called to retrieve a value from the column.
ResultSet.getObject
may return a subclass of the
class returned by this method.
getColumnClassName
in interface java.sql.ResultSetMetaData
column
- the first column is 1, the second is 2, ...ResultSet.getObject
to retrieve the value in the specified
column. This is the class name used for custom mapping.java.sql.SQLException
- if a database access error occursprotected java.util.Map<AbstractFieldMetaData.FieldKey,AbstractFieldMetaData.ExtendedFieldInfo> getExtendedFieldInfo(FBConnection connection) throws java.sql.SQLException
AbstractFieldMetaData
getExtendedFieldInfo
in class AbstractFieldMetaData
AbstractFieldMetaData.FieldKey
instances and AbstractFieldMetaData.ExtendedFieldInfo
instances,
or an empty Map if the metadata implementation does not support extended info.java.sql.SQLException
- if a database error occurs while obtaining extended field information.Copyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.