Top Description Fields Constructors Methods
org.apache.derby.impl.store.access.btree.index

public Class B2IController

extends BTreeController
Class Inheritance
Imports
org.apache.derby.shared.common.sanity.SanityManager, org.apache.derby.shared.common.error.StandardException, org.apache.derby.iapi.store.access.conglomerate.Conglomerate, .TransactionManager, org.apache.derby.iapi.store.access.ConglomerateController, .DynamicCompiledOpenConglomInfo, .TransactionController, .ConglomerateController, org.apache.derby.iapi.types.RowLocation, .DataValueDescriptor, org.apache.derby.iapi.store.raw.ContainerHandle, .LockingPolicy, .Transaction, org.apache.derby.impl.store.access.btree.BTreeController, .BTreeLockingPolicy

Controller used to insert rows into a secondary index. Implements the ConglomerateController interface for the B-Tree index access method. Note most work of this class is inherited from the generic btree implementation. This class initializes the top level object and deals with locking information specific to a secondary index implementation of a btree.

Field Summary

Modifier and TypeField and Description
private ConglomerateController

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
pack-priv void
init(TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, boolean get_locks, B2I conglomerate, B2IUndo undo, B2IStaticCompiledInfo static_info, DynamicCompiledOpenConglomInfo dynamic_info)

public int
insert(DataValueDescriptor[]
The row to insert into the conglomerate. The stored representations of the row's columns are copied into a new row somewhere in the conglomerate.
row
)

Overrides org.apache.derby.impl.store.access.btree.BTreeController.insert.

Implements org.apache.derby.iapi.store.access.ConglomerateController.insert.

Insert a row into the conglomerate.

Inherited from org.apache.derby.impl.store.access.btree.BTreeController:
closeForEndTransactiondeletefetchfetchgetInternalTablePropertySetgetTablePropertiesinitinsertAndFetchLocationisKeyedloadlockRowlockRownewRowLocationTemplatereplaceunlockRowAfterRead

Field Detail

base_cc_for_lockingback to summary
private ConglomerateController base_cc_for_locking

Constructor Detail

B2IControllerback to summary
pack-priv B2IController()

Method Detail

closeback to summary
public void close() throws StandardException

Overrides org.apache.derby.impl.store.access.btree.BTreeController.close.

Implements org.apache.derby.iapi.store.access.ConglomerateController.close.

Close the conglomerate controller.

Any changes to this method will probably have to be reflected in close as well.

Currently delegates to OpenBTree. If the btree controller ends up not having any state of its own, we can remove this method (the VM will dispatch to OpenBTree), gaining some small efficiency. For now, this method remains for clarity.

Exceptions
StandardException:

Doc from org.apache.derby.iapi.store.access.ConglomerateController.close.

Standard exception policy.

See Also
ConglomerateController#close
initback to summary
pack-priv void init(TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, boolean get_locks, B2I conglomerate, B2IUndo undo, B2IStaticCompiledInfo static_info, DynamicCompiledOpenConglomInfo dynamic_info) throws StandardException
insertback to summary
public int insert(DataValueDescriptor[] row) throws StandardException

Overrides org.apache.derby.impl.store.access.btree.BTreeController.insert.

Implements org.apache.derby.iapi.store.access.ConglomerateController.insert.

Insert a row into the conglomerate.

Parameters
row:DataValueDescriptor[]

Doc from org.apache.derby.impl.store.access.btree.BTreeController.insert.

The row to insert into the conglomerate. The stored representations of the row's columns are copied into a new row somewhere in the conglomerate.

Returns:int

Doc from org.apache.derby.impl.store.access.btree.BTreeController.insert.

Returns 0 if insert succeeded. Returns ConglomerateController.ROWISDUPLICATE if conglomerate supports uniqueness checks and has been created to disallow duplicates, and the row inserted had key columns which were duplicate of a row already in the table. Other insert failures will raise StandardException's.

Exceptions
StandardException:
Standard exception policy.
See Also
ConglomerateController#insert