Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.derby.client.am
Class ColumnMetaData  view ColumnMetaData download ColumnMetaData.java

java.lang.Object
  extended byorg.apache.derby.client.am.ColumnMetaData
All Implemented Interfaces:
java.sql.ResultSetMetaData

public class ColumnMetaData
extends java.lang.Object
implements java.sql.ResultSetMetaData


Field Summary
 int[] clientParamtertype_
           
private  java.util.Hashtable columnNameToIndexCache_
           
 int columns_
           
 LogWriter logWriter_
           
 java.util.ArrayList mddOverrideArray_
           
 boolean[] nullable_
           
 int[][] protocolTypesCache_
           
 java.util.Hashtable protocolTypeToOverrideLidMapping_
           
 int resultSetConcurrency_
           
 int[] singleMixedByteOrDouble_
           
 int[] sqlCcsid_
           
 java.lang.String[] sqlComment_
           
 short sqldFcode_
           
 short sqldHold_
           
 short sqldKeytype_
           
 java.lang.String sqldRdbnam_
           
 short sqldReturn_
           
 java.lang.String sqldSchema_
           
 short sqldScroll_
           
 short sqldSensitive_
           
 java.lang.String[] sqlLabel_
           
 long[] sqlLength_
           
 java.lang.String[] sqlName_
           
 int[] sqlPrecision_
           
 int[] sqlScale_
           
 int[] sqlType_
           
 short[] sqlUnnamed_
           
 java.lang.String[] sqlxBasename_
           
 java.lang.String[] sqlxCorname_
           
 short[] sqlxGenerated_
           
 short[] sqlxKeymem_
           
 java.lang.String[] sqlxName_
           
 short[] sqlxParmmode_
           
 java.lang.String[] sqlxRdbnam_
           
 java.lang.String[] sqlxSchema_
           
 int[] sqlxUpdatable_
           
private  boolean statementClosed_
           
 int[] types_
           
 
Fields inherited from interface java.sql.ResultSetMetaData
columnNoNulls, columnNullable, columnNullableUnknown
 
Constructor Summary
ColumnMetaData(LogWriter logWriter)
           
ColumnMetaData(LogWriter logWriter, int upperBound)
           
 
Method Summary
(package private)  void assignColumnName(int column)
           
(package private)  void checkForClosedStatement()
           
(package private)  void checkForValidColumnIndex(int column)
           
 boolean columnIsNotInUnicode(int index)
           
protected  void finalize()
          Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed.
(package private)  int findColumnX(java.lang.String columnName)
           
 java.lang.String getCatalogName(int column)
          What's a column's table's catalog name?
 java.lang.String getColumnClassName(int column)
          This method returns the name of the Java class which will be used to create objects representing the data in this column.
 int getColumnCount()
          This method returns the number of columns in the result set.
 int getColumnDisplaySize(int column)
          This method returns the maximum number of characters that can be used to display a value in this column.
 java.lang.String getColumnLabel(int column)
          This method returns a string that should be used as a caption for this column for user display purposes.
 java.lang.String getColumnName(int column)
          This method returns the name of the specified column.
 int getColumnType(int column)
          This method returns the SQL type of the specified column.
 java.lang.String getColumnTypeName(int column)
          This method returns the name of the SQL type for this column.
private  int getInternalTypeForGuessedOrRegisteredJdbcType(int guessedOrRegisteredJdbcType)
           
 int getPrecision(int column)
          This method returns the precision of the specified column, which is the number of decimal digits it contains.
 int getScale(int column)
          This method returns the scale of the specified column, which is the number of digits to the right of the decimal point.
 java.lang.String getSchemaName(int column)
          This method returns the name of the schema that contains the specified column.
 java.lang.String getTableName(int column)
          This method returns the name of the table containing the specified column.
 void guessInputParameterMetaData(int parameterIndex, int jdbcType)
           
 void guessInputParameterMetaData(int parameterIndex, int jdbcType, int scale)
           
 void guessOutputParameterMetaData(int parameterIndex, int jdbcType, int scale)
           
private  void guessParameterMetaData(int parameterIndex, int type, int length, int precision, int scale)
           
private  void guessParameterMetaDataBasedOnSupportedDriverType(int parameterIndex, boolean isBigInt, int driverType, int scale)
           
 boolean hasLobColumns()
           
 void initializeCache(int upperBound)
           
 boolean isAutoIncrement(int column)
          This method test whether or not the column is an auto-increment column.
 boolean isCaseSensitive(int column)
          This method tests whether or not a column is case sensitive in its values.
private  boolean isCompatibleDriverTypes(int registeredType, int guessedInputType)
           
 boolean isCurrency(int column)
          This method tests whether or not the column stores a monetary value.
 boolean isDefinitelyWritable(int column)
          This method tests whether or not the column is writable.
 int isNullable(int column)
          This method returns a value indicating whether or not the specified column may contain a NULL value.
private  boolean isParameterModeGuessedAsAnInput(int parameterIndex)
           
 boolean isParameterModeGuessedAsOutput(int parameterIndex)
           
 boolean isReadOnly(int column)
          This method tests whether or not the specified column is read only.
 boolean isSearchable(int column)
          This method tests whether not the specified column can be used in a WHERE clause.
 boolean isSigned(int column)
          This method tests whether or not the value of the specified column is signed or unsigned.
 boolean isWritable(int column)
          This method tests whether or not the column may be writable.
(package private)  int mapDriverToSqlType(int type, boolean nullable)
           
(package private)  void markClosed()
           
private  void nullDataForGC()
           
 void setLogWriter(LogWriter logWriter)
           
private  void setParmModeForInputParameter(int parameterIndex)
           
private  void setParmModeForOutputParameter(int parameterIndex)
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

columns_

public int columns_

nullable_

public boolean[] nullable_

singleMixedByteOrDouble_

public transient int[] singleMixedByteOrDouble_

sqldHold_

public short sqldHold_

sqldReturn_

public short sqldReturn_

sqldScroll_

public short sqldScroll_

sqldSensitive_

public short sqldSensitive_

sqldFcode_

public short sqldFcode_

sqldKeytype_

public short sqldKeytype_

sqldRdbnam_

public java.lang.String sqldRdbnam_

sqldSchema_

public java.lang.String sqldSchema_

sqlPrecision_

public int[] sqlPrecision_

sqlScale_

public int[] sqlScale_

sqlLength_

public long[] sqlLength_

sqlType_

public int[] sqlType_

sqlCcsid_

public int[] sqlCcsid_

sqlName_

public java.lang.String[] sqlName_

sqlLabel_

public java.lang.String[] sqlLabel_

sqlUnnamed_

public short[] sqlUnnamed_

sqlComment_

public java.lang.String[] sqlComment_

sqlxKeymem_

public short[] sqlxKeymem_

sqlxGenerated_

public short[] sqlxGenerated_

sqlxParmmode_

public short[] sqlxParmmode_

sqlxCorname_

public java.lang.String[] sqlxCorname_

sqlxName_

public java.lang.String[] sqlxName_

sqlxBasename_

public java.lang.String[] sqlxBasename_

sqlxUpdatable_

public int[] sqlxUpdatable_

sqlxSchema_

public java.lang.String[] sqlxSchema_

sqlxRdbnam_

public java.lang.String[] sqlxRdbnam_

protocolTypesCache_

public transient int[][] protocolTypesCache_

protocolTypeToOverrideLidMapping_

public transient java.util.Hashtable protocolTypeToOverrideLidMapping_

mddOverrideArray_

public transient java.util.ArrayList mddOverrideArray_

types_

public transient int[] types_

clientParamtertype_

public transient int[] clientParamtertype_

logWriter_

public transient LogWriter logWriter_

resultSetConcurrency_

public transient int resultSetConcurrency_

columnNameToIndexCache_

private transient java.util.Hashtable columnNameToIndexCache_

statementClosed_

private transient boolean statementClosed_
Constructor Detail

ColumnMetaData

public ColumnMetaData(LogWriter logWriter)

ColumnMetaData

public ColumnMetaData(LogWriter logWriter,
                      int upperBound)
Method Detail

markClosed

void markClosed()

checkForClosedStatement

void checkForClosedStatement()
                       throws SqlException

initializeCache

public void initializeCache(int upperBound)

finalize

protected void finalize()
                 throws java.lang.Throwable
Description copied from class: java.lang.Object
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. You would think that this means it eventually is called on every Object, but this is not necessarily the case. If execution terminates abnormally, garbage collection does not always happen. Thus you cannot rely on this method to always work. For finer control over garbage collection, use references from the java.lang.ref package.

Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simply super.finalize().

finalize() will be called by a java.lang.Thread that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work.

If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.

It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.

Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically calls super.finalize().

The default implementation does nothing.


getColumnCount

public int getColumnCount()
                   throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the number of columns in the result set.

Specified by:
getColumnCount in interface java.sql.ResultSetMetaData

isAutoIncrement

public boolean isAutoIncrement(int column)
                        throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method test whether or not the column is an auto-increment column. Auto-increment columns are read-only.

Specified by:
isAutoIncrement in interface java.sql.ResultSetMetaData

isCaseSensitive

public boolean isCaseSensitive(int column)
                        throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method tests whether or not a column is case sensitive in its values.

Specified by:
isCaseSensitive in interface java.sql.ResultSetMetaData

isSearchable

public boolean isSearchable(int column)
                     throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method tests whether not the specified column can be used in a WHERE clause.

Specified by:
isSearchable in interface java.sql.ResultSetMetaData

isCurrency

public boolean isCurrency(int column)
                   throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method tests whether or not the column stores a monetary value.

Specified by:
isCurrency in interface java.sql.ResultSetMetaData

isNullable

public int isNullable(int column)
               throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns a value indicating whether or not the specified column may contain a NULL value.

Specified by:
isNullable in interface java.sql.ResultSetMetaData

isSigned

public boolean isSigned(int column)
                 throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method tests whether or not the value of the specified column is signed or unsigned.

Specified by:
isSigned in interface java.sql.ResultSetMetaData

getColumnDisplaySize

public int getColumnDisplaySize(int column)
                         throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the maximum number of characters that can be used to display a value in this column.

Specified by:
getColumnDisplaySize in interface java.sql.ResultSetMetaData

getColumnLabel

public java.lang.String getColumnLabel(int column)
                                throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns a string that should be used as a caption for this column for user display purposes.

Specified by:
getColumnLabel in interface java.sql.ResultSetMetaData

getColumnName

public java.lang.String getColumnName(int column)
                               throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the name of the specified column.

Specified by:
getColumnName in interface java.sql.ResultSetMetaData

getSchemaName

public java.lang.String getSchemaName(int column)
                               throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the name of the schema that contains the specified column.

Specified by:
getSchemaName in interface java.sql.ResultSetMetaData

getPrecision

public int getPrecision(int column)
                 throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the precision of the specified column, which is the number of decimal digits it contains.

Specified by:
getPrecision in interface java.sql.ResultSetMetaData

getScale

public int getScale(int column)
             throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the scale of the specified column, which is the number of digits to the right of the decimal point.

Specified by:
getScale in interface java.sql.ResultSetMetaData

getTableName

public java.lang.String getTableName(int column)
                              throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the name of the table containing the specified column.

Specified by:
getTableName in interface java.sql.ResultSetMetaData

getCatalogName

public java.lang.String getCatalogName(int column)
                                throws SqlException
What's a column's table's catalog name?

Specified by:
getCatalogName in interface java.sql.ResultSetMetaData

getColumnType

public int getColumnType(int column)
                  throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the SQL type of the specified column. This will be one of the constants from Types.

Specified by:
getColumnType in interface java.sql.ResultSetMetaData

getColumnTypeName

public java.lang.String getColumnTypeName(int column)
                                   throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the name of the SQL type for this column.

Specified by:
getColumnTypeName in interface java.sql.ResultSetMetaData

isReadOnly

public boolean isReadOnly(int column)
                   throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method tests whether or not the specified column is read only.

Specified by:
isReadOnly in interface java.sql.ResultSetMetaData

isWritable

public boolean isWritable(int column)
                   throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method tests whether or not the column may be writable. This does not guarantee that a write will be successful.

Specified by:
isWritable in interface java.sql.ResultSetMetaData

isDefinitelyWritable

public boolean isDefinitelyWritable(int column)
                             throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method tests whether or not the column is writable. This does guarantee that a write will be successful.

Specified by:
isDefinitelyWritable in interface java.sql.ResultSetMetaData

getColumnClassName

public java.lang.String getColumnClassName(int column)
                                    throws SqlException
Description copied from interface: java.sql.ResultSetMetaData
This method returns the name of the Java class which will be used to create objects representing the data in this column.

Specified by:
getColumnClassName in interface java.sql.ResultSetMetaData

checkForValidColumnIndex

void checkForValidColumnIndex(int column)
                        throws SqlException

isParameterModeGuessedAsAnInput

private boolean isParameterModeGuessedAsAnInput(int parameterIndex)

isParameterModeGuessedAsOutput

public boolean isParameterModeGuessedAsOutput(int parameterIndex)

guessInputParameterMetaData

public void guessInputParameterMetaData(int parameterIndex,
                                        int jdbcType)
                                 throws SqlException

setParmModeForInputParameter

private void setParmModeForInputParameter(int parameterIndex)

guessInputParameterMetaData

public void guessInputParameterMetaData(int parameterIndex,
                                        int jdbcType,
                                        int scale)
                                 throws SqlException

setParmModeForOutputParameter

private void setParmModeForOutputParameter(int parameterIndex)

guessOutputParameterMetaData

public void guessOutputParameterMetaData(int parameterIndex,
                                         int jdbcType,
                                         int scale)
                                  throws SqlException

isCompatibleDriverTypes

private boolean isCompatibleDriverTypes(int registeredType,
                                        int guessedInputType)

getInternalTypeForGuessedOrRegisteredJdbcType

private int getInternalTypeForGuessedOrRegisteredJdbcType(int guessedOrRegisteredJdbcType)
                                                   throws SqlException

guessParameterMetaDataBasedOnSupportedDriverType

private void guessParameterMetaDataBasedOnSupportedDriverType(int parameterIndex,
                                                              boolean isBigInt,
                                                              int driverType,
                                                              int scale)
                                                       throws SqlException

guessParameterMetaData

private void guessParameterMetaData(int parameterIndex,
                                    int type,
                                    int length,
                                    int precision,
                                    int scale)

mapDriverToSqlType

int mapDriverToSqlType(int type,
                       boolean nullable)

setLogWriter

public void setLogWriter(LogWriter logWriter)

nullDataForGC

private void nullDataForGC()

hasLobColumns

public boolean hasLobColumns()

findColumnX

int findColumnX(java.lang.String columnName)
          throws SqlException

assignColumnName

void assignColumnName(int column)

columnIsNotInUnicode

public boolean columnIsNotInUnicode(int index)