Home » db-derby-10.5.3.0 » org.apache.derby.iapi.sql.dictionary » [javadoc | source]
org.apache.derby.iapi.sql.dictionary
public final class: ConglomerateDescriptor [javadoc | source]
java.lang.Object
   org.apache.derby.iapi.sql.dictionary.TupleDescriptor
      org.apache.derby.iapi.sql.dictionary.ConglomerateDescriptor

All Implemented Interfaces:
    Provider, UniqueTupleDescriptor

The ConglomerateDescriptor class is used to get information about conglomerates for the purpose of optimization. A ConglomerateDescriptor can map to a base table, an index or a index backing a constraint. Multiple ConglomerateDescriptors can map to a single underlying store conglomerate, such as when multiple index definitions share a physical file. NOTE: The language module does not have to know much about conglomerates with this architecture. To get the cost of using a conglomerate, all it has to do is pass the ConglomerateDescriptor to the access methods, along with the predicate. What the access methods need from a ConglomerateDescriptor remains to be seen.
Constructor:
 ConglomerateDescriptor(DataDictionary dataDictionary,
    long conglomerateNumber,
    String name,
    boolean indexable,
    IndexRowGenerator indexRowGenerator,
    boolean forConstraint,
    UUID uuid,
    UUID tableID,
    UUID schemaID) 
    Constructor for a conglomerate descriptor.
    Parameters:
    dataDictionary - The data dictionary that this descriptor lives in
    conglomerateNumber - The number for the conglomerate we're interested in
    name - The name of the conglomerate, if any
    indexable - TRUE means the conglomerate is indexable, FALSE means it isn't
    indexRowGenerator - The descriptor of the index if it's not a heap
    forConstraint - TRUE means the conglomerate is an index backing up a constraint, FALSE means it isn't
    uuid - UUID for this conglomerate
    tableID - UUID for the table that this conglomerate belongs to
    schemaID - UUID for the schema that this conglomerate belongs to
Method from org.apache.derby.iapi.sql.dictionary.ConglomerateDescriptor Summary:
describeSharedConglomerate,   drop,   getClassType,   getColumnNames,   getConglomerateName,   getConglomerateNumber,   getDependableFinder,   getDescriptorName,   getDescriptorType,   getIndexDescriptor,   getObjectID,   getObjectName,   getSchemaID,   getTableID,   getUUID,   isConstraint,   isIndex,   setColumnNames,   setConglomerateName,   setConglomerateNumber,   toString
Methods from org.apache.derby.iapi.sql.dictionary.TupleDescriptor:
getColumnDependableFinder,   getDataDictionary,   getDependableFinder,   getDescriptorName,   getDescriptorType,   isPersistent,   setDataDictionary
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.derby.iapi.sql.dictionary.ConglomerateDescriptor Detail:
 public ConglomerateDescriptor describeSharedConglomerate(ConglomerateDescriptor[] descriptors,
    boolean ignoreThis) throws StandardException 
    This method searches the received array of conglom descriptors to find all descriptors that currently share a physical conglom with "this". The method then searches within those sharing descriptors to find one that fully describes what a physical conglom would have to look like in order to support _all_ of the sharing descriptors in the array--esp. one that correctly enforces the uniqueness requirements for those descriptors.
 public ConglomerateDescriptor drop(LanguageConnectionContext lcc,
    TableDescriptor td) throws StandardException 
    Drop this ConglomerateDescriptor when it represents an index. If this is the last desciptor for a physical index then the physical index (conglomerate) and its descriptor will be dropped.
 public String getClassType() 
    Get the provider's type.
 public String[] getColumnNames() 
    Get the column names for this conglomerate descriptor. This is useful for tracing the optimizer.
 public String getConglomerateName() 
    Gets the name of the conglomerate. For heaps, this is null. For indexes, it is the index name.
 public long getConglomerateNumber() 
    Gets the number for the conglomerate.
 public DependableFinder getDependableFinder() 
 public String getDescriptorName() 
 public String getDescriptorType() 
 public IndexRowGenerator getIndexDescriptor() 
    Gets the index row generator for this conglomerate, null if the conglomerate is not an index.
 public UUID getObjectID() 
    Get the provider's UUID
 public String getObjectName() 
    Return the name of this Provider. (Useful for errors.)
 public UUID getSchemaID() 
    Gets the UUID for the schema that the conglomerate belongs to.
 public UUID getTableID() 
    Gets the UUID for the table that the conglomerate belongs to.
 public UUID getUUID() 
    Gets the UUID String for the conglomerate.
 public boolean isConstraint() 
    Tells whether the conglomerate is an index backing up a constraint.
 public boolean isIndex() 
    Tells whether the conglomerate can be used as an index.
 public  void setColumnNames(String[] columnNames) 
    Set the column names for this conglomerate descriptor. This is useful for tracing the optimizer.
 public  void setConglomerateName(String newName) 
    Set the name of the conglomerate. Used only by rename index.
 public  void setConglomerateNumber(long conglomerateNumber) 
    Set the conglomerate number. This is useful when swapping conglomerates, like for bulkInsert.
 public String toString() 
    Convert the conglomerate descriptor to a String