| java.lang.Object org.apache.derby.iapi.types.DataType org.apache.derby.impl.store.access.conglomerate.GenericConglomerate org.apache.derby.impl.store.access.heap.Heap
Constructor Summary | |
public | Heap() Zero arg constructor for Monitor to create empty object. |
Method Summary | |
public void | addColumn(TransactionManager xact_manager, int column_id, Storable template_column) 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. | 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. | public void | compressConglomerate(TransactionManager xact_manager, Transaction rawtran) | protected void | create(Transaction rawtran, int segmentId, long input_containerid, DataValueDescriptor[] template, Properties properties, int tmpFlag) Create a heap conglomerate.
Create a heap conglomerate. | public ScanManager | defragmentConglomerate(TransactionManager xact_manager, Transaction rawtran, boolean hold, int open_mode, int lock_level, LockingPolicy locking_policy, int isolation_level) Open a heap compress scan. | public void | drop(TransactionManager xact_manager) Drop this heap. | public int | estimateMemoryUsage() | 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) 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. | public DataValueDescriptor | getConglom() return the "Conglomerate". | final public long | getContainerid() | public DynamicCompiledOpenConglomInfo | getDynamicCompiledConglomInfo(long conglomId) 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. | final public ContainerKey | getId() Get the id of the container of the conglomerate.
Will have to change when a conglomerate could have more than one
container. | public StaticCompiledOpenConglomInfo | getStaticCompiledConglomInfo(TransactionController tc, long conglomId) 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. | public int | getTypeFormatId() Return my format identifier. | public boolean | isNull() Return whether the value is null or not. | public boolean | isTemporary() | public long | load(TransactionManager xact_manager, boolean createConglom, RowLocationRetRowSource rowSource) Bulk load into the conglomerate. | 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) Open a heap controller. | 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) Open a heap scan controller. | public StoreCostController | openStoreCost(TransactionManager xact_manager, Transaction rawtran) 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 - The TransactionController under which this operation takes place. Parameters: rawtran - raw transaction context in which scan is managed. | public void | purgeConglomerate(TransactionManager xact_manager, Transaction rawtran) | public void | readExternal(ObjectInput in) Restore the in-memory representation from the stream. | public void | readExternalFromArray(ArrayInputStream in) | public void | restoreToNull() Restore the in-memory representation to the null value. | public String | toString() Print this heap. | public void | writeExternal(ObjectOutput out) Store the stored representation of the column value in the stream. |
format_ids | int[] format_ids(Code) | | The format id's of each of the columns in the heap table.
|
Heap | public Heap()(Code) | | Zero arg constructor for Monitor to create empty object.
|
addColumn | public void addColumn(TransactionManager xact_manager, int column_id, Storable template_column) throws StandardException(Code) | | 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: column_id - The column number to add this column at. Parameters: template_column - An instance of the column to be added to table. exception: StandardException - Standard exception policy. |
boot_create | public void boot_create(long containerid, DataValueDescriptor[] template)(Code) | | 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 - The container id of the conglomerate. Parameters: template - Object array describing the columns of the heap. |
estimateMemoryUsage | public int estimateMemoryUsage()(Code) | | |
fetchMaxOnBTree | 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(Code) | | 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: conglomId - The identifier of the conglomerateto open the scan for. Parameters: open_mode - Specifiy flags to control opening of table. OPENMODE_FORUPDATE - if set open the table forupdate otherwise open table shared. Parameters: lock_level - One of (MODE_TABLE, MODE_RECORD, or MODE_NONE). Parameters: isolation_level - The isolation level to lock the conglomerate at.One of (ISOLATION_READ_COMMITTED or ISOLATION_SERIALIZABLE). Parameters: scanColumnList - A description of which columns to return from every fetch in the scan. template, and scanColumnList work togetherto describe the row to be returned by the scan - see RowUtil for description of how these three parameters work together to describe a "row". Parameters: fetchRow - The row to retrieve the maximum value into. boolean indicating if a row was found and retrieved or not. exception: StandardException - Standard exception policy. |
getConglom | public DataValueDescriptor getConglom()(Code) | | return the "Conglomerate".
For heap just return "this", which both implements Conglomerate and
StaticCompiledOpenConglomInfo.
this |
getContainerid | final public long getContainerid()(Code) | | |
getDynamicCompiledConglomInfo | public DynamicCompiledOpenConglomInfo getDynamicCompiledConglomInfo(long conglomId) throws StandardException(Code) | | 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, ...
The dynamic information. Parameters: conglomId - The identifier of the conglomerate to open. exception: StandardException - Standard exception policy. |
getId | final public ContainerKey getId()(Code) | | 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.
The ContainerKey. |
getStaticCompiledConglomInfo | public StaticCompiledOpenConglomInfo getStaticCompiledConglomInfo(TransactionController tc, long conglomId) throws StandardException(Code) | | 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.
The static compiled information. Parameters: conglomId - The identifier of the conglomerate to open. exception: StandardException - Standard exception policy. |
isTemporary | public boolean isTemporary()(Code) | | Is this conglomerate temporary?
whether conglomerate is temporary or not. |
openScan | 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(Code) | | Open a heap scan controller.
See Also: Conglomerate.openScan exception: StandardException - Standard exception policy. |
openStoreCost | public StoreCostController openStoreCost(TransactionManager xact_manager, Transaction rawtran) throws StandardException(Code) | | 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 - The TransactionController under which this operation takes place. Parameters: rawtran - raw transaction context in which scan is managed. The open StoreCostController. exception: StandardException - Standard exception policy. See Also: StoreCostController |
writeExternal | public void writeExternal(ObjectOutput out) throws IOException(Code) | | Store the stored representation of the column value in the stream.
|
Methods inherited from org.apache.derby.iapi.types.DataType | public void checkHostVariable(int declaredLength) throws StandardException(Code)(Java Doc) public Object cloneObject()(Code)(Java Doc) public DataValueDescriptor coalesce(DataValueDescriptor[] argumentsList, DataValueDescriptor returnValue) throws StandardException(Code)(Java Doc) public boolean compare(int op, DataValueDescriptor other, boolean orderedNulls, boolean unknownRV) throws StandardException(Code)(Java Doc) final protected StandardException dataTypeConversion(String targetType)(Code)(Java Doc) public BooleanDataValue equals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public boolean equals(Object other)(Code)(Java Doc) protected static int flip(int operator)(Code)(Java Doc) public boolean getBoolean() throws StandardException(Code)(Java Doc) public byte getByte() throws StandardException(Code)(Java Doc) public byte[] getBytes() throws StandardException(Code)(Java Doc) public Date getDate(Calendar cal) throws StandardException(Code)(Java Doc) public double getDouble() throws StandardException(Code)(Java Doc) public float getFloat() throws StandardException(Code)(Java Doc) public int getInt() throws StandardException(Code)(Java Doc) public long getLong() throws StandardException(Code)(Java Doc) protected String getNationalString(LocaleFinder localeFinder) throws StandardException(Code)(Java Doc) public Object getObject() throws StandardException(Code)(Java Doc) public short getShort() throws StandardException(Code)(Java Doc) public InputStream getStream() throws StandardException(Code)(Java Doc) public Time getTime(Calendar cal) throws StandardException(Code)(Java Doc) public Timestamp getTimestamp(Calendar cal) throws StandardException(Code)(Java Doc) public String getTraceString() throws StandardException(Code)(Java Doc) public BooleanDataValue greaterOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public BooleanDataValue greaterThan(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public BooleanDataValue in(DataValueDescriptor left, DataValueDescriptor[] inList, boolean orderedList) throws StandardException(Code)(Java Doc) final protected StandardException invalidFormat()(Code)(Java Doc) final public BooleanDataValue isNotNull()(Code)(Java Doc) final public BooleanDataValue isNullOp()(Code)(Java Doc) public BooleanDataValue lessOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public BooleanDataValue lessThan(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public void normalize(DataTypeDescriptor desiredType, DataValueDescriptor source) throws StandardException(Code)(Java Doc) public BooleanDataValue notEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) final protected StandardException outOfRange()(Code)(Java Doc) public void setBigDecimal(Number bigDecimal) throws StandardException(Code)(Java Doc) protected void setFrom(DataValueDescriptor dvd) throws StandardException(Code)(Java Doc) public void setInto(PreparedStatement ps, int position) throws SQLException, StandardException(Code)(Java Doc) public void setInto(ResultSet rs, int position) throws SQLException, StandardException(Code)(Java Doc) public void setObjectForCast(Object theValue, boolean instanceOfResultType, String resultTypeClassName) throws StandardException(Code)(Java Doc) public void setToNull()(Code)(Java Doc) public void setValue(Time theValue) throws StandardException(Code)(Java Doc) public void setValue(Time theValue, Calendar cal) throws StandardException(Code)(Java Doc) public void setValue(Timestamp theValue) throws StandardException(Code)(Java Doc) public void setValue(Timestamp theValue, Calendar cal) throws StandardException(Code)(Java Doc) public void setValue(Date theValue) throws StandardException(Code)(Java Doc) public void setValue(Date theValue, Calendar cal) throws StandardException(Code)(Java Doc) public void setValue(String theValue) throws StandardException(Code)(Java Doc) public void setValue(int theValue) throws StandardException(Code)(Java Doc) public void setValue(double theValue) throws StandardException(Code)(Java Doc) public void setValue(float theValue) throws StandardException(Code)(Java Doc) public void setValue(short theValue) throws StandardException(Code)(Java Doc) public void setValue(long theValue) throws StandardException(Code)(Java Doc) public void setValue(byte theValue) throws StandardException(Code)(Java Doc) public void setValue(boolean theValue) throws StandardException(Code)(Java Doc) public void setValue(byte[] theValue) throws StandardException(Code)(Java Doc) final public void setValue(DataValueDescriptor dvd) throws StandardException(Code)(Java Doc) public void setValue(InputStream theStream, int valueLength) throws StandardException(Code)(Java Doc) public void throwLangSetMismatch(Object value) throws StandardException(Code)(Java Doc) public int typePrecedence()(Code)(Java Doc) public int typeToBigDecimal() throws StandardException(Code)(Java Doc)
|
|
|