|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.iapi.types.DataType
org.apache.derby.impl.store.access.heap.HeapRowLocation
Format ID | ACCESS_HEAP_ROW_LOCATION_V1_ID |
Purpose | Object used to store the location of a row within a Heap table. One of these is stored in every row of a btree secondary index built on a heap base table. |
Upgrade | The type of the btree determines the type of rowlocation stored. In current btree implementations only one type of rowlocation can be stored per tree, and it's type is stored in the format id array stored in the Conglomerate object. |
Disk Layout | page number(CompressedNumber.writeLong()) record id(CompressedNumber.writeInt()) |
Field Summary | |
private static int |
BASE_MEMORY_USAGE
|
private long |
pageno
The HeapRowLocation simply maintains a raw store record handle. |
private int |
recid
|
private static int |
RECORD_HANDLE_MEMORY_USAGE
|
private RecordHandle |
rh
|
Fields inherited from interface org.apache.derby.iapi.types.Orderable |
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN |
Constructor Summary | |
|
HeapRowLocation()
|
private |
HeapRowLocation(HeapRowLocation other)
|
(package private) |
HeapRowLocation(RecordHandle rh)
|
Method Summary | |
java.lang.Object |
cloneObject()
Get a shallow copy of the object and return it. |
int |
compare(DataValueDescriptor other)
Compare this Orderable with a given Orderable for the purpose of index positioning. |
boolean |
compare(int op,
DataValueDescriptor other,
boolean orderedNulls,
boolean unknownRV)
Compare this Orderable with a given Orderable for the purpose of qualification and sorting. |
boolean |
equals(java.lang.Object ref)
Implement value equality. |
int |
estimateMemoryUsage()
Estimate the memory usage in bytes of the data value and the overhead of the class. |
DataValueDescriptor |
getClone()
Shallow copy. |
int |
getLength()
Gets the length of the data value. |
DataValueDescriptor |
getNewNull()
Get a new null value of the same type as this data value. |
java.lang.Object |
getObject()
Gets the value in the data value descriptor as a Java Object. |
RecordHandle |
getRecordHandle(ContainerHandle ch)
|
java.lang.String |
getString()
Gets the value in the data value descriptor as a String. |
int |
getTypeFormatId()
Return my format identifier. |
java.lang.String |
getTypeName()
Get the SQL name of the datatype |
int |
hashCode()
Return a hashcode based on value. |
boolean |
isNull()
Return whether the value is null or not. |
void |
readExternal(java.io.ObjectInput in)
|
void |
readExternalFromArray(ArrayInputStream in)
Read the DataValueDescriptor from the stream. |
void |
restoreToNull()
Restore this object to its (SQL)null value. |
protected void |
setFrom(DataValueDescriptor theValue)
|
(package private) void |
setFrom(RecordHandle rh)
|
void |
setValue(java.lang.Object o)
Set the value of this DataValueDescriptor to the given value |
void |
setValueFromResultSet(java.sql.ResultSet resultSet,
int colNumber,
boolean isNullable)
Set the value based on the value for the specified DataValueDescriptor from the specified ResultSet. |
java.lang.String |
toString()
|
void |
writeExternal(java.io.ObjectOutput out)
|
Methods inherited from class org.apache.derby.iapi.types.DataType |
checkHostVariable, coalesce, dataTypeConversion, equals, flip, genericSetObject, getBigDecimal, getBoolean, getByte, getBytes, getDate, getDouble, getFloat, getInt, getLong, getNationalString, getShort, getStream, getTime, getTimestamp, greaterOrEquals, greaterThan, in, invalidFormat, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, notEquals, outOfRange, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, typePrecedence |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor |
checkHostVariable, coalesce, equals, getBigDecimal, getBoolean, getByte, getBytes, getDate, getDouble, getFloat, getInt, getLong, getShort, getStream, getTime, getTimestamp, greaterOrEquals, greaterThan, in, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, notEquals, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, typePrecedence |
Field Detail |
private long pageno
private int recid
private RecordHandle rh
private static final int BASE_MEMORY_USAGE
private static final int RECORD_HANDLE_MEMORY_USAGE
Constructor Detail |
HeapRowLocation(RecordHandle rh)
public HeapRowLocation()
private HeapRowLocation(HeapRowLocation other)
Method Detail |
public int estimateMemoryUsage()
DataValueDescriptor
estimateMemoryUsage
in interface DataValueDescriptor
public java.lang.String getTypeName()
DataValueDescriptor
getTypeName
in interface DataValueDescriptor
public void setValueFromResultSet(java.sql.ResultSet resultSet, int colNumber, boolean isNullable)
DataValueDescriptor
setValueFromResultSet
in interface DataValueDescriptor
resultSet
- The specified ResultSet.colNumber
- The 1-based column # into the resultSet.isNullable
- Whether or not the column is nullable
(No need to call wasNull() if not)
public DataValueDescriptor getNewNull()
DataValueDescriptor
getNewNull
in interface DataValueDescriptor
public void setValue(java.lang.Object o)
DataValueDescriptor
setValue
in interface DataValueDescriptor
setValue
in class DataType
public java.lang.Object getObject()
DataValueDescriptor
getObject
in interface DataValueDescriptor
getObject
in class DataType
public java.lang.Object cloneObject()
CloneableObject
cloneObject
in interface CloneableObject
cloneObject
in class DataType
public DataValueDescriptor getClone()
DataValueDescriptor
Clone the DataValueDescriptor and copy its contents. We clone the data value wrapper (e.g. SQLDecimal) and reuse its contents (the underlying BigDecimal). The resultant DataValueDescriptor will point to the same value as the original DataValueDescriptor (unless the value is a primitive type, e.g. SQLInteger/integer).
getClone
in interface DataValueDescriptor
public int getLength()
DataValueDescriptor
getLength
in interface DataValueDescriptor
public java.lang.String getString()
DataValueDescriptor
getString
in interface DataValueDescriptor
public boolean compare(int op, DataValueDescriptor other, boolean orderedNulls, boolean unknownRV)
DataValueDescriptor
compare
in interface DataValueDescriptor
compare
in class DataType
public int compare(DataValueDescriptor other)
DataValueDescriptor
compare
in interface DataValueDescriptor
other
- The Orderable to compare this one to.
public RecordHandle getRecordHandle(ContainerHandle ch) throws StandardException
StandardException
void setFrom(RecordHandle rh)
public int getTypeFormatId()
getTypeFormatId
in interface TypedFormat
TypedFormat.getTypeFormatId()
public boolean isNull()
Storable
isNull
in interface Storable
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.lang.ClassNotFoundException
- A class needed to read the
stored form of this object could not be found.
java.io.IOException
Externalizable.readExternal(java.io.ObjectInput)
public void readExternalFromArray(ArrayInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
DataValueDescriptor
Initialize the data value by reading it's values from the ArrayInputStream. This interface is provided as a way to achieve possible performance enhancement when reading an array can be optimized over reading from a generic stream from readExternal().
readExternalFromArray
in interface DataValueDescriptor
in
- The array stream positioned at the beginning of the
byte stream to read from.
java.lang.ClassNotFoundException
- If a necessary class can not be
found while reading the object from
the stream.
java.io.IOException
- Usual error is if you try to read
past limit on the stream.public void restoreToNull()
Storable
restoreToNull
in interface Storable
protected void setFrom(DataValueDescriptor theValue)
setFrom
in class DataType
public boolean equals(java.lang.Object ref)
equals
in class DataType
public int hashCode()
public java.lang.String toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |