| java.lang.Object org.apache.derby.impl.store.access.btree.index.B2IFactory
B2IFactory | public class B2IFactory implements ConglomerateFactory,ModuleControl(Code) | | The "B2I" (acronym for b-tree secondary index) factory manages b-tree
conglomerates implemented on the raw store which are used as secondary
indexes.
Most of this code is generic to all conglomerates. This class might be
more easily maintained as an abstract class in Raw/Conglomerate/Generic.
The concrete ConglomerateFactories would simply have to supply the
IMPLEMENTATIONID, FORMATUUIDSTRING, and implement createConglomerate
and defaultProperties. Conglomerates which support more than one format
would have to override supportsFormat, and conglomerates which support
more than one implementation would have to override supportsImplementation.
|
getConglomerateFactoryId | public int getConglomerateFactoryId()(Code) | | Return the conglomerate factory id.
Return a number in the range of 0-15 which identifies this factory.
Code which names conglomerates depends on this range currently, but
could be easily changed to handle larger ranges. One hex digit seemed
reasonable for the number of conglomerate types being currently
considered (heap, btree, gist, gist btree, gist rtree, hash, others? ).
See Also: ConglomerateFactory.getConglomerateFactoryId an unique identifier used to the factory into the conglomid. |
readConglomerate | public Conglomerate readConglomerate(TransactionManager xact_manager, ContainerKey container_key) throws StandardException(Code) | | Return Conglomerate object for conglomerate with conglomid.
Return the Conglomerate Object. This is implementation specific.
Examples of what will be done is using the id to find the file where
the conglomerate is located, and then executing implementation specific
code to instantiate an object from reading a "special" row from a
known location in the file. In the btree case the btree conglomerate
is stored as a column in the control row on the root page.
This operation is costly so it is likely an implementation using this
will cache the conglomerate row in memory so that subsequent accesses
need not perform this operation.
The btree object returned by this routine may be installed in a cache
so the object must not change.
An instance of the conglomerate. exception: StandardException - Standard exception policy. |
|
|