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

public Class Heap

extends GenericConglomerate
implements Conglomerate, StaticCompiledOpenConglomInfo
Class Inheritance
All Implemented Interfaces
org.apache.derby.iapi.store.access.StaticCompiledOpenConglomInfo, org.apache.derby.iapi.services.io.Storable, org.apache.derby.iapi.services.io.Formatable, org.apache.derby.iapi.services.io.TypedFormat, java.io.Externalizable, java.io.Serializable, org.apache.derby.iapi.store.access.conglomerate.Conglomerate, org.apache.derby.iapi.types.DataValueDescriptor, org.apache.derby.iapi.types.Orderable
Known Direct Subclasses
org.apache.derby.impl.store.access.heap.Heap_v10_2
Imports
java.io.ObjectOutput, .ObjectInput, .IOException, java.util.Properties, org.apache.derby.shared.common.reference.SQLState, org.apache.derby.iapi.services.io.FormatableBitSet, .FormatIdUtil, .Storable, .StoredFormatIds, org.apache.derby.shared.common.sanity.SanityManager, org.apache.derby.shared.common.error.StandardException, org.apache.derby.iapi.store.access.conglomerate.Conglomerate, .LogicalUndo, .ScanManager, .TransactionManager, org.apache.derby.iapi.store.access.AccessFactoryGlobals, .ColumnOrdering, .ConglomerateController, .DynamicCompiledOpenConglomInfo, .Qualifier, .RowLocationRetRowSource, .RowUtil, .StaticCompiledOpenConglomInfo, .StoreCostController, .TransactionController, org.apache.derby.iapi.store.raw.ContainerKey, .ContainerHandle, .LockingPolicy, .Transaction, .Page, .PageKey, .RawStoreFactory, org.apache.derby.iapi.types.DataValueDescriptor, .StringDataValue, org.apache.derby.iapi.services.cache.ClassSize, org.apache.derby.impl.store.access.conglomerate.ConglomerateUtil, .GenericConglomerate, .OpenConglomerate, .OpenConglomerateScratchSpace

A heap object corresponds to an instance of a heap conglomerate. It caches information which makes it fast to open heap controllers from it.

Field Summary

Modifier and TypeField and Description
private static final int
protected int[]
collation_ids

The array of collation id's for each column in the template.

protected int
conglom_format_id

Format id of the conglomerate.

private static final int
pack-priv int[]
format_ids

The format id's of each of the columns in the heap table.

private boolean
hasCollatedTypes

Tells if there is at least one column in the conglomerate whose collation isn't StringDataValue.COLLATION_TYPE_UCS_BASIC.

private ContainerKey

Constructor Summary

AccessConstructor and Description
public
Heap()

Zero arg constructor for Monitor to create empty object.

Method Summary

Modifier and TypeMethod and Description
public void
addColumn(TransactionManager
The TransactionController under which this operation takes place.
xact_manager
,
int
The column number to add this column at.
column_id
,
Storable
An instance of the column to be added to table.
template_column
,
int
Collation id of the column added.
collation_id
)

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.addColumn.

Add a column to the heap conglomerate.

public void
boot_create(long
The container id of the conglomerate.
containerid
,
DataValueDescriptor[]
Object array describing the columns of the heap.
template
)

Create a heap conglomerate during the boot process.

public void
protected void
create(Transaction rawtran, int segmentId, long input_containerid, DataValueDescriptor[] template, ColumnOrdering[] columnOrder, int[] collationIds, Properties properties, int conglom_format_id, int tmpFlag)

Create a heap conglomerate.

public ScanManager
defragmentConglomerate(TransactionManager xact_manager, Transaction rawtran, boolean
see openScan()
hold
,
int
see openScan()
open_mode
,
int
see openScan()
lock_level
,
LockingPolicy locking_policy, int
see openScan()
isolation_level
)

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.defragmentConglomerate.

Open a heap compress scan.

public void
public int
estimateMemoryUsage()

Implements org.apache.derby.iapi.types.DataValueDescriptor.estimateMemoryUsage.

Estimate the memory usage in bytes of the data value and the overhead of the class.

public boolean

Returns:

boolean indicating if a row was found and retrieved or not.
fetchMaxOnBTree
(TransactionManager
The TransactionController under which this operation takes place.
xact_manager
,
Transaction
The raw store xact to associate all ops with.
rawtran
,
long
The identifier of the conglomerate to open the scan for.
conglomId
,
int
Specifiy flags to control opening of table. OPENMODE_FORUPDATE - if set open the table for update otherwise open table shared.
open_mode
,
int
One of (MODE_TABLE, MODE_RECORD, or MODE_NONE).
lock_level
,
LockingPolicy
The LockingPolicy to use to open the conglomerate.
locking_policy
,
int
The isolation level to lock the conglomerate at. One of (ISOLATION_READ_COMMITTED or ISOLATION_SERIALIZABLE).
isolation_level
,
FormatableBitSet
A description of which columns to return from every fetch in the scan. template, and scanColumnList work together to describe the row to be returned by the scan - see RowUtil for description of how these three parameters work together to describe a "row".
scanColumnList
,
DataValueDescriptor[]
The row to retrieve the maximum value into.
fetchRow
)

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.fetchMaxOnBTree.

Retrieve the maximum value row in an ordered conglomerate.

public DataValueDescriptor
public final long
public DynamicCompiledOpenConglomInfo

Returns:

The dynamic information.
getDynamicCompiledConglomInfo
()

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getDynamicCompiledConglomInfo.

Return dynamic information about the conglomerate to be dynamically reused in repeated execution of a statement.

public final ContainerKey

Returns:

The ContainerKey.
getId
()

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getId.

Get the id of the container of the conglomerate.

public StaticCompiledOpenConglomInfo

Returns:

The static compiled information.
getStaticCompiledConglomInfo
(TransactionController
The TransactionController under which this operation takes place.
tc
,
long
The identifier of the conglomerate to open.
conglomId
)

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getStaticCompiledConglomInfo.

Return static information about the conglomerate to be included in a a compiled plan.

public int
public boolean
isNull()

Implements org.apache.derby.iapi.services.io.Storable.isNull.

Return whether the value is null or not.

public boolean

Returns:

whether conglomerate is temporary or not.
isTemporary
()

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.isTemporary.

Is this conglomerate temporary?

public long
load(TransactionManager
The TransactionController under which this operation takes place.
xact_manager
,
boolean
If true, the conglomerate is being created in the same operation as the openAndLoadConglomerate. The enables further optimization as recovery does not require page allocation to be logged.
createConglom
,
RowLocationRetRowSource
Where the rows come from.
rowSource
)

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.load.

Bulk load into the conglomerate.

public ConglomerateController
open(TransactionManager
The access xact to associate all ops on cc with.
xact_manager
,
Transaction
The raw store xact to associate all ops on cc with.
rawtran
,
boolean hold, int
A bit mask of TransactionController.MODE_* bits, indicating info about the open.
open_mode
,
int
Either TransactionController.MODE_TABLE or TransactionController.MODE_RECORD, as passed into the openConglomerate() call.
lock_level
,
LockingPolicy
The LockingPolicy to use to open the conglomerate.
locking_policy
,
StaticCompiledOpenConglomInfo static_info, DynamicCompiledOpenConglomInfo dynamic_info)

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.open.

Open a heap controller.

pack-priv static ConglomerateController
openByContainerKey(ContainerKey container_key, TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, StaticCompiledOpenConglomInfo static_info, DynamicCompiledOpenConglomInfo dynamic_info)

Open a heap controller given ContainerKey.

public ScanManager
openScan(TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, int isolation_level, FormatableBitSet scanColumnList, DataValueDescriptor[] startKeyValue, int startSearchOperator, Qualifier[][] qualifier, DataValueDescriptor[] stopKeyValue, int stopSearchOperator, StaticCompiledOpenConglomInfo static_info, DynamicCompiledOpenConglomInfo dynamic_info)

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.openScan.

Open a heap scan controller.

public StoreCostController

Returns:

The open StoreCostController.
openStoreCost
(TransactionManager
The TransactionController under which this operation takes place.
xact_manager
,
Transaction
raw transaction context in which scan is managed.
rawtran
)

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.openStoreCost.

Return an open StoreCostController for the conglomerate.

public void
public void
readExternal(ObjectInput
the stream to read data from in order to restore the object
in
)

Implements java.io.Externalizable.readExternal.

Restore the in-memory representation from the stream.

public void
restoreToNull()

Implements org.apache.derby.iapi.services.io.Storable.restoreToNull.

Restore the in-memory representation to the null value.

public String
toString()

Overrides java.lang.Object.toString.

Print this heap.

public void
writeExternal(ObjectOutput
the stream to write the object to
out
)

Implements java.io.Externalizable.writeExternal.

Store the stored representation of column value in stream.

protected void
writeExternal_v10_2(ObjectOutput out)

Store the 10.2 format stored representation of column value in stream.

Inherited from org.apache.derby.impl.store.access.conglomerate.GenericConglomerate:
cloneValuecomparegetLengthgetNewNullgetObjectgetStringgetTypeNamehasCollatedColumnssetFromsetValueFromResultSet

Field Detail

BASE_MEMORY_USAGEback to summary
private static final int BASE_MEMORY_USAGE
collation_idsback to summary
protected int[] collation_ids

The array of collation id's for each column in the template.

conglom_format_idback to summary
protected int conglom_format_id

Format id of the conglomerate.

CONTAINER_KEY_MEMORY_USAGEback to summary
private static final int CONTAINER_KEY_MEMORY_USAGE
format_idsback to summary
pack-priv int[] format_ids

The format id's of each of the columns in the heap table.

hasCollatedTypesback to summary
private boolean hasCollatedTypes

Tells if there is at least one column in the conglomerate whose collation isn't StringDataValue.COLLATION_TYPE_UCS_BASIC.

idback to summary
private ContainerKey id

Constructor Detail

Heapback to summary
public Heap()

Zero arg constructor for Monitor to create empty object.

Method Detail

addColumnback to summary
public void addColumn(TransactionManager xact_manager, int column_id, Storable template_column, int collation_id) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.addColumn.

Add a column to the heap conglomerate.

This routine update's the in-memory object version of the Heap Conglomerate to have one more column of the type described by the input template column.

Parameters
xact_manager:TransactionManager

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.addColumn.

The TransactionController under which this operation takes place.

column_id:int

The column number to add this column at.

template_column:Storable

An instance of the column to be added to table.

collation_id:int

Collation id of the column added.

Exceptions
StandardException:
Standard exception policy.
boot_createback to summary
public void boot_create(long containerid, DataValueDescriptor[] template)

Create a heap conglomerate during the boot process.

Manufacture a Heap Conglomerate out of "thin" air, to boot strap the system. Create an in-memory Heap Conglomerate with the input parameters, The caller will use this to open the conglomerate conglomerate and read the "real" values from disk. Conglom-conglom is always on segment 0.

Parameters
containerid:long

The container id of the conglomerate.

template:DataValueDescriptor[]

Object array describing the columns of the heap.

compressConglomerateback to summary
public void compressConglomerate(TransactionManager xact_manager, Transaction rawtran) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.compressConglomerate.

createback to summary
protected void create(Transaction rawtran, int segmentId, long input_containerid, DataValueDescriptor[] template, ColumnOrdering[] columnOrder, int[] collationIds, Properties properties, int conglom_format_id, int tmpFlag) throws StandardException

Create a heap conglomerate.

Create a heap conglomerate. This method is called from the heap factory to create a new instance of a heap.

Exceptions
StandardException:
Standard exception policy.
defragmentConglomerateback to summary
public ScanManager defragmentConglomerate(TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, int isolation_level) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.defragmentConglomerate.

Open a heap compress scan.

Parameters
hold:boolean

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.defragmentConglomerate.

see openScan()

open_mode:int

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.defragmentConglomerate.

see openScan()

lock_level:int

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.defragmentConglomerate.

see openScan()

isolation_level:int

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.defragmentConglomerate.

see openScan()

Returns:ScanManager

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.defragmentConglomerate.

The GroupFetchScanController to be used to fetch the rows.

Exceptions
StandardException:
Standard exception policy.
See Also
Conglomerate#defragmentConglomerate
dropback to summary
public void drop(TransactionManager xact_manager) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.drop.

Drop this heap.

Exceptions
StandardException:
Standard exception policy.
See Also
Conglomerate#drop
estimateMemoryUsageback to summary
public int estimateMemoryUsage()

Implements org.apache.derby.iapi.types.DataValueDescriptor.estimateMemoryUsage.

Doc from org.apache.derby.iapi.types.DataValueDescriptor.estimateMemoryUsage.

Estimate the memory usage in bytes of the data value and the overhead of the class.

Returns:int

the estimated memory usage

fetchMaxOnBTreeback to summary
public boolean fetchMaxOnBTree(TransactionManager xact_manager, Transaction rawtran, long conglomId, int open_mode, int lock_level, LockingPolicy locking_policy, int isolation_level, FormatableBitSet scanColumnList, DataValueDescriptor[] fetchRow) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.fetchMaxOnBTree.

Retrieve the maximum value row in an ordered conglomerate.

Returns true and fetches the rightmost row of an ordered conglomerate into "fetchRow" if there is at least one row in the conglomerate. If there are no rows in the conglomerate it returns false.

Non-ordered conglomerates will not implement this interface, calls will generate a StandardException.

RESOLVE - this interface is temporary, long term equivalent (and more) functionality will be provided by the openBackwardScan() interface.

Parameters
xact_manager:TransactionManager

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.fetchMaxOnBTree.

The TransactionController under which this operation takes place.

rawtran:Transaction

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.fetchMaxOnBTree.

The raw store xact to associate all ops with.

conglomId:long

The identifier of the conglomerate to open the scan for.

open_mode:int

Specifiy flags to control opening of table. OPENMODE_FORUPDATE - if set open the table for update otherwise open table shared.

lock_level:int

One of (MODE_TABLE, MODE_RECORD, or MODE_NONE).

locking_policy:LockingPolicy

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.fetchMaxOnBTree.

The LockingPolicy to use to open the conglomerate.

isolation_level:int

The isolation level to lock the conglomerate at. One of (ISOLATION_READ_COMMITTED or ISOLATION_SERIALIZABLE).

scanColumnList:FormatableBitSet

A description of which columns to return from every fetch in the scan. template, and scanColumnList work together to describe the row to be returned by the scan - see RowUtil for description of how these three parameters work together to describe a "row".

fetchRow:DataValueDescriptor[]

The row to retrieve the maximum value into.

Returns:boolean

boolean indicating if a row was found and retrieved or not.

Exceptions
StandardException:
Standard exception policy.
getConglomback to summary
public DataValueDescriptor getConglom()

Implements org.apache.derby.iapi.store.access.StaticCompiledOpenConglomInfo.getConglom.

return the "Conglomerate".

For heap just return "this", which both implements Conglomerate and StaticCompiledOpenConglomInfo.

Returns:DataValueDescriptor

this

getContaineridback to summary
public final long getContainerid()

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getContainerid.

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getContainerid.

Get the containerid of conglomerate.

Will have to change when a conglomerate could have more than one containerid.

Returns:long

The containerid.

getDynamicCompiledConglomInfoback to summary
public DynamicCompiledOpenConglomInfo getDynamicCompiledConglomInfo() throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getDynamicCompiledConglomInfo.

Return dynamic information about the conglomerate to be dynamically reused in repeated execution of a statement.

The dynamic info is a set of variables to be used in a given ScanController or ConglomerateController. It can only be used in one controller at a time. It is up to the caller to insure the correct thread access to this info. The type of info in this is a scratch template for btree traversal, other scratch variables for qualifier evaluation, ...

Returns:DynamicCompiledOpenConglomInfo

The dynamic information.

Exceptions
StandardException:
Standard exception policy.
getIdback to summary
public final ContainerKey getId()

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getId.

Get the id of the container of the conglomerate.

Will have to change when a conglomerate could have more than one container. The ContainerKey is a combination of the container id and segment id.

Returns:ContainerKey

The ContainerKey.

getStaticCompiledConglomInfoback to summary
public StaticCompiledOpenConglomInfo getStaticCompiledConglomInfo(TransactionController tc, long conglomId) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getStaticCompiledConglomInfo.

Return static information about the conglomerate to be included in a a compiled plan.

The static info would be valid until any ddl was executed on the conglomid, and would be up to the caller to throw away when that happened. This ties in with what language already does for other invalidation of static info. The type of info in this would be containerid and array of format id's from which templates can be created. The info in this object is read only and can be shared among as many threads as necessary.

Parameters
tc:TransactionController

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.getStaticCompiledConglomInfo.

The TransactionController under which this operation takes place.

conglomId:long

The identifier of the conglomerate to open.

Returns:StaticCompiledOpenConglomInfo

The static compiled information.

Exceptions
StandardException:
Standard exception policy.
getTypeFormatIdback to summary
public int getTypeFormatId()

Implements org.apache.derby.iapi.services.io.TypedFormat.getTypeFormatId.

Return my format identifier.

Returns:int

Doc from org.apache.derby.iapi.services.io.TypedFormat.getTypeFormatId.

The identifier. (A UUID stuffed in an array of 16 bytes).

See Also
org.apache.derby.iapi.services.io.TypedFormat#getTypeFormatId
isNullback to summary
public boolean isNull()

Implements org.apache.derby.iapi.services.io.Storable.isNull.

Return whether the value is null or not.

Returns:boolean

Doc from org.apache.derby.iapi.services.io.Storable.isNull.

true if the value is null and false otherwise.

See Also
org.apache.derby.iapi.services.io.Storable#isNull
isTemporaryback to summary
public boolean isTemporary()

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.isTemporary.

Is this conglomerate temporary?

Returns:boolean

whether conglomerate is temporary or not.

loadback to summary
public long load(TransactionManager xact_manager, boolean createConglom, RowLocationRetRowSource rowSource) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.load.

Bulk load into the conglomerate.

Parameters
xact_manager:TransactionManager

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.load.

The TransactionController under which this operation takes place.

createConglom:boolean

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.load.

If true, the conglomerate is being created in the same operation as the openAndLoadConglomerate. The enables further optimization as recovery does not require page allocation to be logged.

rowSource:RowLocationRetRowSource

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.load.

Where the rows come from.

Returns:long

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.load.

The number of rows loaded.

Exceptions
StandardException:
Standard exception policy.
See Also
Conglomerate#load
openback to summary
public ConglomerateController open(TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, StaticCompiledOpenConglomInfo static_info, DynamicCompiledOpenConglomInfo dynamic_info) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.open.

Open a heap controller.

Parameters
xact_manager:TransactionManager

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.open.

The access xact to associate all ops on cc with.

rawtran:Transaction

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.open.

The raw store xact to associate all ops on cc with.

open_mode:int

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.open.

A bit mask of TransactionController.MODE_* bits, indicating info about the open.

lock_level:int

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.open.

Either TransactionController.MODE_TABLE or TransactionController.MODE_RECORD, as passed into the openConglomerate() call.

locking_policy:LockingPolicy

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.open.

The LockingPolicy to use to open the conglomerate.

Returns:ConglomerateController

Doc from org.apache.derby.iapi.store.access.conglomerate.Conglomerate.open.

The open ConglomerateController.

Exceptions
StandardException:
Standard exception policy.
See Also
Conglomerate#open
openByContainerKeyback to summary
pack-priv static ConglomerateController openByContainerKey(ContainerKey container_key, TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, StaticCompiledOpenConglomInfo static_info, DynamicCompiledOpenConglomInfo dynamic_info) throws StandardException

Open a heap controller given ContainerKey.

Static routine to open a container given input of the ContainerKey. Routine will lock the container first, and then get the Heap from the conglomerate cache. This insures that interaction with the conglomerate cache is safe with respect to concurrent alter table's which may or may not commit. Currently only package accessible and only used by HeapPostCommit. Longer term would be better to change all of the open interfaces to get lock before accessing conglomerate cache rather than have a specific interface for HeapPostCommit.

Exceptions
StandardException:
Standard exception policy.
See Also
Conglomerate#open
openScanback to summary
public ScanManager openScan(TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, int isolation_level, FormatableBitSet scanColumnList, DataValueDescriptor[] startKeyValue, int startSearchOperator, Qualifier[][] qualifier, DataValueDescriptor[] stopKeyValue, int stopSearchOperator, StaticCompiledOpenConglomInfo static_info, DynamicCompiledOpenConglomInfo dynamic_info) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.openScan.

Open a heap scan controller.

Exceptions
StandardException:
Standard exception policy.
See Also
Conglomerate#openScan
openStoreCostback to summary
public StoreCostController openStoreCost(TransactionManager xact_manager, Transaction rawtran) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.openStoreCost.

Return an open StoreCostController for the conglomerate.

Return an open StoreCostController which can be used to ask about the estimated row counts and costs of ScanController and ConglomerateController operations, on the given conglomerate.

Parameters
xact_manager:TransactionManager

The TransactionController under which this operation takes place.

rawtran:Transaction

raw transaction context in which scan is managed.

Returns:StoreCostController

The open StoreCostController.

Exceptions
StandardException:
Standard exception policy.
See Also
StoreCostController
purgeConglomerateback to summary
public void purgeConglomerate(TransactionManager xact_manager, Transaction rawtran) throws StandardException

Implements org.apache.derby.iapi.store.access.conglomerate.Conglomerate.purgeConglomerate.

readExternalback to summary
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException

Implements java.io.Externalizable.readExternal.

Restore the in-memory representation from the stream.

Parameters
in:ObjectInput

Doc from java.io.Externalizable.readExternal.

the stream to read data from in order to restore the object

Exceptions
IOException:

Doc from java.io.Externalizable.readExternal.

if I/O errors occur

ClassNotFoundException:
Thrown if the stored representation is serialized and a class named in the stream could not be found.
See Also
java.io.Externalizable#readExternal
restoreToNullback to summary
public void restoreToNull()

Implements org.apache.derby.iapi.services.io.Storable.restoreToNull.

Restore the in-memory representation to the null value.

See Also
org.apache.derby.iapi.services.io.Storable#restoreToNull
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Print this heap.

Returns:String

Doc from java.lang.Object.toString.

a string representation of the object

writeExternalback to summary
public void writeExternal(ObjectOutput out) throws IOException

Implements java.io.Externalizable.writeExternal.

Store the stored representation of column value in stream.

This routine uses the current database version to either store the the 10.2 format (ACCESS_HEAP_V2_ID) or the current format (ACCESS_HEAP_V3_ID).

Parameters
out:ObjectOutput

Doc from java.io.Externalizable.writeExternal.

the stream to write the object to

Exceptions
IOException:

Doc from java.io.Externalizable.writeExternal.

Includes any I/O exceptions that may occur

writeExternal_v10_2back to summary
protected void writeExternal_v10_2(ObjectOutput out) throws IOException

Store the 10.2 format stored representation of column value in stream.

This routine stores the 10.2 version the Heap, ie. the ACCESS_HEAP_V2_ID format. It is used by any database which has been created in 10.2 or a previous release and has not been hard upgraded to a version subsequent to 10.2.