org.apache.derby.catalog
Interface IndexDescriptor

All Known Implementing Classes:
IndexDescriptorImpl, IndexRowGenerator

public interface IndexDescriptor

This interface describes an index. It is used in the column SYS.SYSCONGLOMERATES.DESCRIPTOR and describes everything about an index except the index name and the table on which the index is defined. That information is available in the columns NAME and TABLEID of the table SYS.SYSCONGLOMERATES.


Method Summary
 int[] baseColumnPositions()
          Returns an array of column positions in the base table.
 int getKeyColumnPosition(int heapColumnPosition)
          Returns the postion of a column.
 java.lang.Integer getKeyColumnPosition(java.lang.Integer heapColumnPosition)
          Returns the postion of a column.
 java.lang.String indexType()
          Returns the type of the index.
 boolean[] isAscending()
          Returns array of boolean telling asc/desc info for each index key column for convenience of using together with baseColumnPositions method.
 boolean isAscending(java.lang.Integer keyColumnPosition)
          Returns true if the specified column is ascending in the index (1-based).
 boolean isDescending(java.lang.Integer keyColumnPosition)
          Returns true if the specified column is descending in the index (1-based).
 boolean isUnique()
          Returns true if the index is unique.
 int numberOfOrderedColumns()
          Returns the number of ordered columns.
 void setBaseColumnPositions(int[] baseColumnPositions)
          set the baseColumnPositions field of the index descriptor.
 void setIsAscending(boolean[] isAscending)
          set the isAscending field of the index descriptor.
 void setNumberOfOrderedColumns(int numberOfOrderedColumns)
          set the numberOfOrderedColumns field of the index descriptor.
 

Method Detail

isUnique

public boolean isUnique()
Returns true if the index is unique.


baseColumnPositions

public int[] baseColumnPositions()
Returns an array of column positions in the base table. Each index column corresponds to a column position in the base table, except the column representing the location of the row in the base table. The returned array holds the column positions in the base table, so, if entry 2 is the number 4, the second column in the index is the fourth column in the table.


getKeyColumnPosition

public java.lang.Integer getKeyColumnPosition(java.lang.Integer heapColumnPosition)
Returns the postion of a column.

Returns the position of a column within the key (1-based). 0 means that the column is not in the key.


getKeyColumnPosition

public int getKeyColumnPosition(int heapColumnPosition)
Returns the postion of a column.

Returns the position of a column within the key (1-based). 0 means that the column is not in the key. Same as the above method, but it uses int instead of Integer.


numberOfOrderedColumns

public int numberOfOrderedColumns()
Returns the number of ordered columns.

In the future, it will be possible to store non-ordered columns in an index. These will be useful for covered queries. The ordered columns will be at the beginning of the index row, and they will be followed by the non-ordered columns. For now, all columns in an index must be ordered.


indexType

public java.lang.String indexType()
Returns the type of the index. For now, we only support B-Trees, so the value "BTREE" is returned.


isAscending

public boolean[] isAscending()
Returns array of boolean telling asc/desc info for each index key column for convenience of using together with baseColumnPositions method. Both methods return an array with subscript starting from 0.


isAscending

public boolean isAscending(java.lang.Integer keyColumnPosition)
Returns true if the specified column is ascending in the index (1-based).


isDescending

public boolean isDescending(java.lang.Integer keyColumnPosition)
Returns true if the specified column is descending in the index (1-based). In the current release, only ascending columns are supported.


setBaseColumnPositions

public void setBaseColumnPositions(int[] baseColumnPositions)
set the baseColumnPositions field of the index descriptor. This is for updating the field in operations such as "alter table drop column" where baseColumnPositions is changed.


setIsAscending

public void setIsAscending(boolean[] isAscending)
set the isAscending field of the index descriptor. This is for updating the field in operations such as "alter table drop column" where isAscending is changed.


setNumberOfOrderedColumns

public void setNumberOfOrderedColumns(int numberOfOrderedColumns)
set the numberOfOrderedColumns field of the index descriptor. This is for updating the field in operations such as "alter table drop column" where numberOfOrderedColumns is changed.


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.