org.apache.derby.impl.sql.catalog
Class TabInfoImpl

java.lang.Object
  extended byorg.apache.derby.impl.sql.catalog.TabInfoImpl
All Implemented Interfaces:
TabInfo

public class TabInfoImpl
extends java.lang.Object
implements TabInfo

A poor mans structure used in DataDictionaryImpl.java. Used to save heapId, name pairs for non core tables.

Author:
jamie

Field Summary
private  boolean computedStreamStorableHeapColIds
           
private  CatalogRowFactory crf
           
private  ExecutionFactory executionFactory
           
private  long heapConglomerate
           
private  boolean heapSet
           
private  IndexInfoImpl[] indexes
           
private  java.lang.String name
           
private  int numIndexesSet
           
private  int[] streamStorableHeapColIds
           
private  UUID uuid
           
 
Fields inherited from interface org.apache.derby.iapi.sql.dictionary.TabInfo
ROWNOTDUPLICATE
 
Constructor Summary
TabInfoImpl(CatalogRowFactory crf)
          Constructor
 
Method Summary
 int deleteRow(TransactionController tc, ExecIndexRow key, int indexNumber)
          LOCKING: row locking if there there is a key
 int deleteRows(TransactionController tc, ExecIndexRow startKey, int startOp, Qualifier[][] qualifier, TupleFilter filter, ExecIndexRow stopKey, int stopOp, int indexNumber)
          LOCKING: row locking if there is both a start and stop key; otherwise table locking
 int getBaseColumnPosition(int indexNumber, int colNumber)
          Get the base column position for a column within a catalog given the (0-based) index number for this catalog and the (0-based) column number for the column within the index.
 CatalogRowFactory getCatalogRowFactory()
          Get the CatalogRowFactory for this TabInfo.
 java.util.Properties getCreateHeapProperties()
          Get the Properties associated with creating the heap.
 java.util.Properties getCreateIndexProperties(int indexNumber)
          Get the Properties associated with creating the specified index.
 long getHeapConglomerate()
          Get the conglomerate for the heap.
 int getIndexColumnCount(int indexNumber)
          Get the column count for the specified index number.
 long getIndexConglomerate(int indexID)
          Get the conglomerate for the specified index.
 java.lang.String getIndexName(int indexId)
          Get the index name.
private  ExecIndexRow getIndexRowFromHeapRow(IndexRowGenerator irg, RowLocation rl, ExecRow heapRow)
          Get an index row based on a row from the heap.
 IndexRowGenerator getIndexRowGenerator(int indexNumber)
          Get the IndexRowGenerator for the specified index number.
 int getNumberOfIndexes()
          Get the number of indexes on this catalog.
 ExecRow getRow(TransactionController tc, ConglomerateController heapCC, ExecIndexRow key, int indexNumber)
          Given a key row, return the first matching heap row.
 ExecRow getRow(TransactionController tc, ExecIndexRow key, int indexNumber)
          Given a key row, return the first matching heap row.
private  RowChanger getRowChanger(TransactionController tc, int[] changedCols, ExecRow baseRow)
          Gets a row changer for this catalog.
private  ExecRow getRowInternal(TransactionController tc, ConglomerateController heapCC, ExecIndexRow key, int indexNumber, RowLocation[] rl)
           
 RowLocation getRowLocation(TransactionController tc, ExecIndexRow key, int indexNumber)
          Given an index row and index number return the RowLocation in the heap of the first matching row.
private  int[] getStreamStorableHeapColIds(ExecRow baseRow)
           
 java.lang.String getTableName()
          Get the table name.
 int insertRow(ExecRow row, LanguageConnectionContext lcc)
          Inserts a base row into a catalog and inserts all the corresponding index rows.
 int insertRow(ExecRow row, TransactionController tc, boolean wait)
          Inserts a base row into a catalog and inserts all the corresponding index rows.
 RowLocation insertRowAndFetchRowLocation(ExecRow row, TransactionController tc)
          Inserts a base row into a catalog and inserts all the corresponding index rows.
 int insertRowList(ExecRow[] rowList, TransactionController tc)
          Inserts a list of base rows into a catalog and inserts all the corresponding index rows.
private  int insertRowListImpl(ExecRow[] rowList, TransactionController tc, RowLocation[] rowLocationOut, boolean wait)
          Insert logic to insert a list of rows into a table.
 boolean isComplete()
          Is the TabInfo fully initialized.
 boolean isIndexUnique(int indexNumber)
          Return whether or not this index is declared unique
 void setBaseColumnPosition(int indexNumber, int colNumber, int baseColumnPosition)
          Set the base column position for a column within a catalog given the (0-based) index number for this catalog and the (0-based) column number for the column within the index.
 void setHeapConglomerate(long heapConglomerate)
          Set the heap conglomerate for the TabInfo.
 void setIndexConglomerate(ConglomerateDescriptor cd)
          Set the index conglomerate for the table.
 void setIndexConglomerate(int index, long indexConglomerate)
          Set the index conglomerate for the table.
 void setIndexName(int indexID, java.lang.String indexName)
          Set the index name for the specified indexID
 void setIndexRowGenerator(int indexNumber, IndexRowGenerator irg)
          Set the IndexRowGenerator for the specified index number.
 java.lang.String toString()
           
 int truncate(TransactionController tc)
          Delete all the rows from the table.
 void updateRow(ExecIndexRow key, ExecRow[] newRows, int indexNumber, boolean[] indicesToUpdate, int[] colsToUpdate, TransactionController tc)
          Updates a set of base rows in a catalog with the same key on an index and updates all the corresponding index rows.
 void updateRow(ExecIndexRow key, ExecRow[] newRows, int indexNumber, boolean[] indicesToUpdate, int[] colsToUpdate, TransactionController tc, boolean wait)
          Updates a set of base rows in a catalog with the same key on an index and updates all the corresponding index rows.
 void updateRow(ExecIndexRow key, ExecRow newRow, int indexNumber, boolean[] indicesToUpdate, int[] colsToUpdate, TransactionController tc)
          Updates a base row in a catalog and updates all the corresponding index rows.
 void updateRow(ExecIndexRow key, ExecRow newRow, int indexNumber, boolean[] indicesToUpdate, int[] colsToUpdate, TransactionController tc, boolean wait)
          Updates a base row in a catalog and updates all the corresponding index rows.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

indexes

private IndexInfoImpl[] indexes

name

private java.lang.String name

heapConglomerate

private long heapConglomerate

numIndexesSet

private int numIndexesSet

heapSet

private boolean heapSet

uuid

private UUID uuid

crf

private CatalogRowFactory crf

executionFactory

private ExecutionFactory executionFactory

computedStreamStorableHeapColIds

private boolean computedStreamStorableHeapColIds

streamStorableHeapColIds

private int[] streamStorableHeapColIds
Constructor Detail

TabInfoImpl

public TabInfoImpl(CatalogRowFactory crf)
Constructor

Parameters:
crf - the associated CatalogRowFactory
Method Detail

getHeapConglomerate

public long getHeapConglomerate()
Description copied from interface: TabInfo
Get the conglomerate for the heap.

Specified by:
getHeapConglomerate in interface TabInfo
Returns:
long The conglomerate for the heap.
See Also:
TabInfo.getHeapConglomerate()

setHeapConglomerate

public void setHeapConglomerate(long heapConglomerate)
Description copied from interface: TabInfo
Set the heap conglomerate for the TabInfo.

Specified by:
setHeapConglomerate in interface TabInfo
Parameters:
heapConglomerate - The new heap conglomerate.
Returns:
Nothing.
See Also:
TabInfo.setHeapConglomerate(long)

getIndexConglomerate

public long getIndexConglomerate(int indexID)
Description copied from interface: TabInfo
Get the conglomerate for the specified index.

Specified by:
getIndexConglomerate in interface TabInfo
Returns:
long The conglomerate for the specified index.
See Also:
TabInfo.getIndexConglomerate(int)

setIndexConglomerate

public void setIndexConglomerate(int index,
                                 long indexConglomerate)
Description copied from interface: TabInfo
Set the index conglomerate for the table.

Specified by:
setIndexConglomerate in interface TabInfo
Parameters:
index - Index number for index for table
indexConglomerate - The conglomerate for that index
Returns:
Nothing
See Also:
TabInfo.setIndexConglomerate(int, long)

setIndexConglomerate

public void setIndexConglomerate(ConglomerateDescriptor cd)
Description copied from interface: TabInfo
Set the index conglomerate for the table.

Specified by:
setIndexConglomerate in interface TabInfo
Parameters:
cd - The ConglomerateDescriptor for one of the index for this table.
Returns:
Nothing

getTableName

public java.lang.String getTableName()
Description copied from interface: TabInfo
Get the table name.

Specified by:
getTableName in interface TabInfo
Returns:
String The table name.
See Also:
TabInfo.getTableName()

getIndexName

public java.lang.String getIndexName(int indexId)
Description copied from interface: TabInfo
Get the index name.

Specified by:
getIndexName in interface TabInfo
Parameters:
indexId - Index number for index for table
Returns:
String The index name.
See Also:
TabInfo.getIndexName(int)

setIndexName

public void setIndexName(int indexID,
                         java.lang.String indexName)
Description copied from interface: TabInfo
Set the index name for the specified indexID

Specified by:
setIndexName in interface TabInfo
Parameters:
indexID - Index number for index for table
indexName - The name for that index ID
See Also:
TabInfo.setIndexName(int, java.lang.String)

getCatalogRowFactory

public CatalogRowFactory getCatalogRowFactory()
Description copied from interface: TabInfo
Get the CatalogRowFactory for this TabInfo.

Specified by:
getCatalogRowFactory in interface TabInfo
Returns:
CatalogRowFactory The CatalogRowFactory for this TabInfo.
See Also:
TabInfo.getCatalogRowFactory()

isComplete

public boolean isComplete()
Description copied from interface: TabInfo
Is the TabInfo fully initialized. (i.e., is all conglomerate info initialized)

Specified by:
isComplete in interface TabInfo
Returns:
boolean Whether or not the TabInfo is fully initialized.
See Also:
TabInfo.isComplete()

getIndexColumnCount

public int getIndexColumnCount(int indexNumber)
Description copied from interface: TabInfo
Get the column count for the specified index number.

Specified by:
getIndexColumnCount in interface TabInfo
Parameters:
indexNumber - The index number.
Returns:
int The column count for the specified index.
See Also:
TabInfo.getIndexColumnCount(int)

getIndexRowGenerator

public IndexRowGenerator getIndexRowGenerator(int indexNumber)
Description copied from interface: TabInfo
Get the IndexRowGenerator for the specified index number.

Specified by:
getIndexRowGenerator in interface TabInfo
Parameters:
indexNumber - The index number.
Returns:
IndexRowGenerator The IRG for the specified index number.
See Also:
TabInfo.getIndexRowGenerator(int)

setIndexRowGenerator

public void setIndexRowGenerator(int indexNumber,
                                 IndexRowGenerator irg)
Description copied from interface: TabInfo
Set the IndexRowGenerator for the specified index number.

Specified by:
setIndexRowGenerator in interface TabInfo
Parameters:
indexNumber - The index number.
irg - The IndexRowGenerator for the specified index number.
Returns:
Nothing.
See Also:
TabInfo.setIndexRowGenerator(int, org.apache.derby.iapi.sql.dictionary.IndexRowGenerator)

getNumberOfIndexes

public int getNumberOfIndexes()
Description copied from interface: TabInfo
Get the number of indexes on this catalog.

Specified by:
getNumberOfIndexes in interface TabInfo
Returns:
int The number of indexes on this catalog.
See Also:
TabInfo.getNumberOfIndexes()

getBaseColumnPosition

public int getBaseColumnPosition(int indexNumber,
                                 int colNumber)
Description copied from interface: TabInfo
Get the base column position for a column within a catalog given the (0-based) index number for this catalog and the (0-based) column number for the column within the index.

Specified by:
getBaseColumnPosition in interface TabInfo
Parameters:
indexNumber - The index number
colNumber - The column number within the index
Returns:
int The base column position for the column.
See Also:
TabInfo.getBaseColumnPosition(int, int)

setBaseColumnPosition

public void setBaseColumnPosition(int indexNumber,
                                  int colNumber,
                                  int baseColumnPosition)
Description copied from interface: TabInfo
Set the base column position for a column within a catalog given the (0-based) index number for this catalog and the (0-based) column number for the column within the index.

Specified by:
setBaseColumnPosition in interface TabInfo
Parameters:
indexNumber - The index number
colNumber - The column number within the index
Returns:
Nothing.
See Also:
TabInfo.setBaseColumnPosition(int, int, int)

isIndexUnique

public boolean isIndexUnique(int indexNumber)
Description copied from interface: TabInfo
Return whether or not this index is declared unique

Specified by:
isIndexUnique in interface TabInfo
Parameters:
indexNumber - The index number
Returns:
boolean Whether or not this index is declared unique
See Also:
TabInfo.isIndexUnique(int)

insertRow

public int insertRow(ExecRow row,
                     TransactionController tc,
                     boolean wait)
              throws StandardException
Inserts a base row into a catalog and inserts all the corresponding index rows.

Specified by:
insertRow in interface TabInfo
Parameters:
row - row to insert
tc - transaction
wait - to wait on lock or quickly TIMEOUT
Returns:
row number (>= 0) if duplicate row inserted into an index ROWNOTDUPLICATE otherwise
Throws:
StandardException - Thrown on failure

insertRow

public int insertRow(ExecRow row,
                     LanguageConnectionContext lcc)
              throws StandardException
Inserts a base row into a catalog and inserts all the corresponding index rows.

Specified by:
insertRow in interface TabInfo
Parameters:
row - row to insert
lcc - language state variable
Returns:
row number (>= 0) if duplicate row inserted into an index ROWNOTDUPLICATE otherwise
Throws:
StandardException - Thrown on failure

insertRowAndFetchRowLocation

public RowLocation insertRowAndFetchRowLocation(ExecRow row,
                                                TransactionController tc)
                                         throws StandardException
Description copied from interface: TabInfo
Inserts a base row into a catalog and inserts all the corresponding index rows.

Specified by:
insertRowAndFetchRowLocation in interface TabInfo
Parameters:
tc - transaction controller
Returns:
The row location for the inserted row.
Throws:
StandardException - Thrown on failure
See Also:
TabInfo.insertRowAndFetchRowLocation(org.apache.derby.iapi.sql.execute.ExecRow, org.apache.derby.iapi.store.access.TransactionController)

insertRowList

public int insertRowList(ExecRow[] rowList,
                         TransactionController tc)
                  throws StandardException
Inserts a list of base rows into a catalog and inserts all the corresponding index rows.

Specified by:
insertRowList in interface TabInfo
Parameters:
rowList - List of rows to insert
tc - transaction controller
Returns:
row number (>= 0) if duplicate row inserted into an index ROWNOTDUPLICATE otherwise
Throws:
StandardException - Thrown on failure

insertRowListImpl

private int insertRowListImpl(ExecRow[] rowList,
                              TransactionController tc,
                              RowLocation[] rowLocationOut,
                              boolean wait)
                       throws StandardException
Insert logic to insert a list of rows into a table. This logic has two odd features to support the TabInfo interface.
  1. Returns an indication if any returned row was a duplicate.
  2. Returns the RowLocation of the last row inserted.

Parameters:
rowList - the list of rows to insert
tc - transaction controller
rowLocationOut - on output rowLocationOut[0] is set to the last RowLocation inserted.
wait - to wait on lock or quickly TIMEOUT
Returns:
row number (>= 0) if duplicate row inserted into an index ROWNOTDUPLICATE otherwise
Throws:
StandardException

truncate

public int truncate(TransactionController tc)
             throws StandardException
Description copied from interface: TabInfo
Delete all the rows from the table.

LOCKING: exclusive TABLE locking

Specified by:
truncate in interface TabInfo
Parameters:
tc - transaction controller
Returns:
the number of rows deleted.
Throws:
StandardException - Thrown on failure
See Also:
TabInfo.truncate(org.apache.derby.iapi.store.access.TransactionController)

deleteRow

public int deleteRow(TransactionController tc,
                     ExecIndexRow key,
                     int indexNumber)
              throws StandardException
LOCKING: row locking if there there is a key

Specified by:
deleteRow in interface TabInfo
Parameters:
tc - transaction controller
key - key to delete by.
indexNumber - Key is appropriate for this index.
Returns:
the number of rows deleted. If key is not unique, this may be more than one.
Throws:
StandardException - Thrown on failure
See Also:
TabInfo.deleteRow(org.apache.derby.iapi.store.access.TransactionController, org.apache.derby.iapi.sql.execute.ExecIndexRow, int)

deleteRows

public int deleteRows(TransactionController tc,
                      ExecIndexRow startKey,
                      int startOp,
                      Qualifier[][] qualifier,
                      TupleFilter filter,
                      ExecIndexRow stopKey,
                      int stopOp,
                      int indexNumber)
               throws StandardException
LOCKING: row locking if there is both a start and stop key; otherwise table locking

Specified by:
deleteRows in interface TabInfo
Parameters:
tc - transaction controller
startKey - key to start the scan.
startOp - operation to start the scan.
stopKey - key to start the scan.
qualifier - a qualifier for the scan.
filter - filter on base rows
stopOp - operation to start the scan.
indexNumber - Key is appropriate for this index.
Returns:
the number of rows deleted.
Throws:
StandardException - Thrown on failure
See Also:
TabInfo.deleteRows(org.apache.derby.iapi.store.access.TransactionController, org.apache.derby.iapi.sql.execute.ExecIndexRow, int, org.apache.derby.iapi.store.access.Qualifier[][], org.apache.derby.iapi.sql.execute.TupleFilter, org.apache.derby.iapi.sql.execute.ExecIndexRow, int, int)

getRow

public ExecRow getRow(TransactionController tc,
                      ExecIndexRow key,
                      int indexNumber)
               throws StandardException
Description copied from interface: TabInfo
Given a key row, return the first matching heap row.

LOCKING: shared row locking.

Specified by:
getRow in interface TabInfo
Parameters:
tc - transaction controller
key - key to read by.
indexNumber - Key is appropriate for this index.
Throws:
StandardException - Thrown on failure
See Also:
TabInfo.getRow(org.apache.derby.iapi.store.access.TransactionController, org.apache.derby.iapi.sql.execute.ExecIndexRow, int)

getRowLocation

public RowLocation getRowLocation(TransactionController tc,
                                  ExecIndexRow key,
                                  int indexNumber)
                           throws StandardException
Given an index row and index number return the RowLocation in the heap of the first matching row. Used by the autoincrement code to get the RowLocation in syscolumns given a pair.

Specified by:
getRowLocation in interface TabInfo
Parameters:
tc - Transaction Controller to use.
key - Index Row to search in the index.
indexNumber - Identifies the index to use.
Throws:
StandardException - thrown on failure.
See Also:
DataDictionaryImpl.computeRowLocation(TransactionController, TableDescriptor, String)

getRow

public ExecRow getRow(TransactionController tc,
                      ConglomerateController heapCC,
                      ExecIndexRow key,
                      int indexNumber)
               throws StandardException
Description copied from interface: TabInfo
Given a key row, return the first matching heap row.

LOCKING: shared row locking.

Specified by:
getRow in interface TabInfo
Parameters:
tc - transaction controller
heapCC - heap to look in
key - key to read by.
indexNumber - Key is appropriate for this index.
Throws:
StandardException - Thrown on failure
See Also:
TabInfo.getRow(org.apache.derby.iapi.store.access.TransactionController, org.apache.derby.iapi.sql.execute.ExecIndexRow, int)

getRowInternal

private ExecRow getRowInternal(TransactionController tc,
                               ConglomerateController heapCC,
                               ExecIndexRow key,
                               int indexNumber,
                               RowLocation[] rl)
                        throws StandardException
Throws:
StandardException - Thrown on failure
See Also:
TabInfo.getRow(org.apache.derby.iapi.store.access.TransactionController, org.apache.derby.iapi.sql.execute.ExecIndexRow, int)

updateRow

public void updateRow(ExecIndexRow key,
                      ExecRow newRow,
                      int indexNumber,
                      boolean[] indicesToUpdate,
                      int[] colsToUpdate,
                      TransactionController tc)
               throws StandardException
Updates a base row in a catalog and updates all the corresponding index rows.

Specified by:
updateRow in interface TabInfo
Parameters:
key - key row
newRow - new version of the row
indexNumber - index that key operates
indicesToUpdate - array of booleans, one for each index on the catalog. if a boolean is true, that means we must update the corresponding index because changes in the newRow affect it.
colsToUpdate - array of ints indicating which columns (1 based) to update. If null, do all.
tc - transaction controller
Throws:
StandardException - Thrown on failure

updateRow

public void updateRow(ExecIndexRow key,
                      ExecRow newRow,
                      int indexNumber,
                      boolean[] indicesToUpdate,
                      int[] colsToUpdate,
                      TransactionController tc,
                      boolean wait)
               throws StandardException
Updates a base row in a catalog and updates all the corresponding index rows.

Specified by:
updateRow in interface TabInfo
Parameters:
key - key row
newRow - new version of the row
indexNumber - index that key operates
indicesToUpdate - array of booleans, one for each index on the catalog. if a boolean is true, that means we must update the corresponding index because changes in the newRow affect it.
colsToUpdate - array of ints indicating which columns (1 based) to update. If null, do all.
tc - transaction controller
wait - If true, then the caller wants to wait for locks. False will be when we using a nested user xaction - we want to timeout right away if the parent holds the lock. (bug 4821)
Throws:
StandardException - Thrown on failure

updateRow

public void updateRow(ExecIndexRow key,
                      ExecRow[] newRows,
                      int indexNumber,
                      boolean[] indicesToUpdate,
                      int[] colsToUpdate,
                      TransactionController tc)
               throws StandardException
Updates a set of base rows in a catalog with the same key on an index and updates all the corresponding index rows.

Specified by:
updateRow in interface TabInfo
Parameters:
key - key row
newRows - new version of the array of rows
indexNumber - index that key operates
indicesToUpdate - array of booleans, one for each index on the catalog. if a boolean is true, that means we must update the corresponding index because changes in the newRow affect it.
colsToUpdate - array of ints indicating which columns (1 based) to update. If null, do all.
tc - transaction controller
Throws:
StandardException - Thrown on failure

updateRow

public void updateRow(ExecIndexRow key,
                      ExecRow[] newRows,
                      int indexNumber,
                      boolean[] indicesToUpdate,
                      int[] colsToUpdate,
                      TransactionController tc,
                      boolean wait)
               throws StandardException
Updates a set of base rows in a catalog with the same key on an index and updates all the corresponding index rows. If parameter wait is true, then the caller wants to wait for locks. When using a nested user xaction we want to timeout right away if the parent holds the lock.

Parameters:
key - key row
newRows - new version of the array of rows
indexNumber - index that key operates
indicesToUpdate - array of booleans, one for each index on the catalog. if a boolean is true, that means we must update the corresponding index because changes in the newRow affect it.
colsToUpdate - array of ints indicating which columns (1 based) to update. If null, do all.
tc - transaction controller
wait - If true, then the caller wants to wait for locks. When using a nested user xaction we want to timeout right away if the parent holds the lock. (bug 4821)
Throws:
StandardException - Thrown on failure

getCreateHeapProperties

public java.util.Properties getCreateHeapProperties()
Get the Properties associated with creating the heap.

Specified by:
getCreateHeapProperties in interface TabInfo
Returns:
The Properties associated with creating the heap.

getCreateIndexProperties

public java.util.Properties getCreateIndexProperties(int indexNumber)
Get the Properties associated with creating the specified index.

Specified by:
getCreateIndexProperties in interface TabInfo
Parameters:
indexNumber - The specified index number.
Returns:
The Properties associated with creating the specified index.

getRowChanger

private RowChanger getRowChanger(TransactionController tc,
                                 int[] changedCols,
                                 ExecRow baseRow)
                          throws StandardException
Gets a row changer for this catalog.

Parameters:
tc - transaction controller
changedCols - the columns to change (1 based), may be null
baseRow - used to detemine column types at creation time only. The row changer does ***Not*** keep a referance to this row or change it in any way.
Returns:
a row changer for this catalog.
Throws:
StandardException - Thrown on failure

getStreamStorableHeapColIds

private int[] getStreamStorableHeapColIds(ExecRow baseRow)
                                   throws StandardException
Throws:
StandardException

getIndexRowFromHeapRow

private ExecIndexRow getIndexRowFromHeapRow(IndexRowGenerator irg,
                                            RowLocation rl,
                                            ExecRow heapRow)
                                     throws StandardException
Get an index row based on a row from the heap.

Parameters:
irg - IndexRowGenerator to use
rl - RowLocation for heap
heapRow - Row from the heap
Returns:
ExecIndexRow Index row.
Throws:
StandardException - Thrown on error

toString

public java.lang.String toString()

Built on Tue 2006-10-10 19:23:47+0200, from revision exported

Apache Derby V10.1 Engine Documentation - Copyright © 1997,2005 The Apache Software Foundation or its licensors, as applicable.