org.apache.derby.impl.store.access.btree.index
Class B2I_v10_2

java.lang.Object
  extended by org.apache.derby.iapi.types.DataType
      extended by org.apache.derby.impl.store.access.conglomerate.GenericConglomerate
          extended by org.apache.derby.impl.store.access.btree.BTree
              extended by org.apache.derby.impl.store.access.btree.index.B2I
                  extended by org.apache.derby.impl.store.access.btree.index.B2I_v10_2
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, java.lang.Comparable, Formatable, Storable, TypedFormat, Conglomerate, DataValueDescriptor, Orderable

public class B2I_v10_2
extends B2I

Class used to instantiate 10.2 version of the B2I object. This class implements the format of the B2I object as existed in the 10.2 and previous releases of Derby. In subsequent releases the format was enhanced to store the Collation Id of the columns in the index. Collation can be configured on a per column basis to allow for alter sort ordering of each column. One use of this is to allow a column to be sorted according to language based rules rather than the default numerical ordering of the binary value. For upgrade purpose all columns stored with ACCESS_B2I_V3_ID format are assumed to be USC_BASIC collation id (ie. the default numerical ordering, rather than any alternate collation). This class reads and writes the V3 version to/from disk and reads/writes current in-memory version of the data structure.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.derby.impl.store.access.btree.index.B2I
baseConglomerateId, FORMAT_NUMBER, rowLocationColumn
 
Fields inherited from class org.apache.derby.impl.store.access.btree.BTree
ascDescInfo, collation_ids, conglom_format_id, format_ids, id, nKeyFields, PROPERTY_ALLOWDUPLICATES, PROPERTY_MAX_ROWS_PER_PAGE_PARAMETER, PROPERTY_NKEYFIELDS, PROPERTY_NUNIQUECOLUMNS, PROPERTY_PARENTLINKS, PROPERTY_UNIQUE_WITH_DUPLICATE_NULLS, ROOTPAGEID
 
Fields inherited from interface org.apache.derby.iapi.types.DataValueDescriptor
UNKNOWN_LOGICAL_LENGTH
 
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
B2I_v10_2()
          No arg constructor, required by Formatable.
 
Method Summary
 int getTypeFormatId()
          Return my format identifier.
 void writeExternal(java.io.ObjectOutput out)
          Store the stored representation of the column value in the stream.
 
Methods inherited from class org.apache.derby.impl.store.access.btree.index.B2I
compressConglomerate, create, defragmentConglomerate, drop, estimateMemoryUsage, fetchMaxOnBTree, getBtreeLockingPolicy, getStaticCompiledConglomInfo, load, lockTable, open, openScan, openStoreCost, purgeConglomerate, readExternal, readExternalFromArray, writeExternal_v10_2, writeExternal_v10_3
 
Methods inherited from class org.apache.derby.impl.store.access.btree.BTree
addColumn, create, createTemplate, getContainerid, getDynamicCompiledConglomInfo, getId, isNull, isTemporary, isUnique, isUniqueWithDuplicateNulls, restoreToNull, setUniqueWithDuplicateNulls, toString
 
Methods inherited from class org.apache.derby.impl.store.access.conglomerate.GenericConglomerate
cloneValue, compare, getLength, getNewNull, getObject, getString, getTypeName, setFrom, setValueFromResultSet
 
Methods inherited from class org.apache.derby.iapi.types.DataType
checkHostVariable, cloneHolder, coalesce, compare, compare, compare, compareTo, dataTypeConversion, equals, equals, flip, getBoolean, getByte, getBytes, getDate, getDouble, getFloat, getInt, getLong, getNationalString, getShort, getStream, getTime, getTimestamp, getTraceString, greaterOrEquals, greaterThan, hasStream, in, invalidFormat, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, notEquals, outOfRange, recycle, setBigDecimal, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, typePrecedence, typeToBigDecimal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor
checkHostVariable, cloneHolder, coalesce, compare, compare, compare, equals, getBoolean, getByte, getBytes, getDate, getDouble, getFloat, getInt, getLong, getShort, getStream, getTime, getTimestamp, getTraceString, greaterOrEquals, greaterThan, hasStream, in, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, notEquals, recycle, setBigDecimal, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, typePrecedence, typeToBigDecimal
 

Constructor Detail

B2I_v10_2

public B2I_v10_2()
No arg constructor, required by Formatable.

Method Detail

getTypeFormatId

public int getTypeFormatId()
Return my format identifier.

This identifier was used for B2I in all Derby versions prior to and including 10.2. Databases hard upgraded to a version subsequent to 10.2 will write the new format, see B2I. Databases created in a version subsequent to 10.2 will also write the new formate, see B2I.

Specified by:
getTypeFormatId in interface TypedFormat
Overrides:
getTypeFormatId in class B2I
Returns:
The identifier. (A UUID stuffed in an array of 16 bytes).
See Also:
TypedFormat.getTypeFormatId()

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Store the stored representation of the column value in the stream.

For more detailed description of the format see documentation at top of file.

Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class B2I
Throws:
java.io.IOException - thrown by writeObject()
See Also:
Externalizable.writeExternal(java.io.ObjectOutput)

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.