| java.lang.Object org.apache.derby.iapi.sql.dictionary.IndexRowGenerator
IndexRowGenerator | public class IndexRowGenerator implements IndexDescriptor,Formatable(Code) | | This class extends IndexDescriptor for internal use by the
DataDictionary.
|
Constructor Summary | |
public | IndexRowGenerator(String indexType, boolean isUnique, int[] baseColumnPositions, boolean[] isAscending, int numberOfOrderedColumns) Constructor for an IndexRowGeneratorImpl
Parameters: indexType - The type of index Parameters: isUnique - True means the index is unique Parameters: baseColumnPositions - An array of column positions in the basetable. | public | IndexRowGenerator(IndexDescriptor indexDescriptor) | public | IndexRowGenerator() |
IndexRowGenerator | public IndexRowGenerator(String indexType, boolean isUnique, int[] baseColumnPositions, boolean[] isAscending, int numberOfOrderedColumns)(Code) | | Constructor for an IndexRowGeneratorImpl
Parameters: indexType - The type of index Parameters: isUnique - True means the index is unique Parameters: baseColumnPositions - An array of column positions in the basetable. Each index column corresponds to acolumn position in the base table. Parameters: isAscending - An array of booleans telling asc/desc on eachcolumn. Parameters: numberOfOrderedColumns - In the future, it will be possibleto store non-ordered columns in anindex. These will be useful forcovered queries. |
IndexRowGenerator | public IndexRowGenerator(IndexDescriptor indexDescriptor)(Code) | | Constructor for an IndexRowGeneratorImpl
Parameters: indexDescriptor - An IndexDescriptor to delegate calls to |
IndexRowGenerator | public IndexRowGenerator()(Code) | | Zero-argument constructor for Formatable interface
|
equals | public boolean equals(Object other)(Code) | | Test for value equality
Parameters: other - The other indexrowgenerator to compare this one with true if this indexrowgenerator has the same value as other |
getIndexDescriptor | public IndexDescriptor getIndexDescriptor()(Code) | | Get the IndexDescriptor that this IndexRowGenerator is based on.
|
getIndexRow | public void getIndexRow(ExecRow baseRow, RowLocation rowLocation, ExecIndexRow indexRow, FormatableBitSet bitSet) throws StandardException(Code) | | Get an index row for this index given a row from the base table
and the RowLocation of the base row. This method can be used
to get the new index row for inserts, and the old and new index
rows for deletes and updates. For updates, the result row has
all the old column values followed by all of the new column values,
so you must form a row using the new column values to pass to
this method to get the new index row.
Parameters: baseRow - A row in the base table Parameters: rowLocation - The RowLocation of the row in the base table Parameters: indexRow - A template for the index row. It must have thecorrect number of columns. Parameters: bitSet - If non-null, then baseRow is a partial row and theset bits in bitSet represents the column mapping forthe partial row to the complete base row. WARNING: ONE based!!! exception: StandardException - Thrown on error |
getIndexRowTemplate | public ExecIndexRow getIndexRowTemplate()(Code) | | Get a template for the index row, to be used with getIndexRow.
A row template for the index row. |
getTypeFormatId | public int getTypeFormatId()(Code) | | |
indexChanged | public boolean indexChanged(int[] changedColumnIds)(Code) | | Return true iff a change to a set of columns changes the index for this
IndexRowGenerator.
Parameters: changedColumnIds - - holds the 1 based column ids for the changedcolumns. true iff a change to one of the columns in changedColumnIdseffects this index. |
|
|