org.apache.derby.impl.store.access.conglomerate
Class TemplateRow

java.lang.Object
  extended by org.apache.derby.impl.store.access.conglomerate.TemplateRow

public final class TemplateRow
extends java.lang.Object


Constructor Summary
private TemplateRow()
           
 
Method Summary
private static DataValueDescriptor[] allocate_objects(Transaction rawtran, int num_cols_to_allocate, FormatableBitSet column_list, int[] format_ids, int[] collation_ids)
          Allocate new objects to array based on format id's and column_list.
static boolean checkColumnTypes(DataValueFactory dvf, int[] format_ids, int[] collation_ids, DataValueDescriptor[] row)
          Check that columns in the row conform to a set of format id's, both in number and type.
static DataValueDescriptor[] newBranchRow(Transaction rawtran, int[] format_ids, int[] collation_ids, DataValueDescriptor page_ptr)
          Generate an "empty" row to match the format id + coluumn specification.
static DataValueDescriptor[] newRow(DataValueDescriptor[] template)
          Generate an "empty" row to match the format id specification.
static DataValueDescriptor[] newRow(Transaction rawtran, FormatableBitSet column_list, int[] format_ids, int[] collation_ids)
          Generate an "empty" row to match the format id specification.
static DataValueDescriptor[] newU8Row(int nkeys)
          Constuctor for creating a template row which stores n SQLLongint's
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TemplateRow

private TemplateRow()
Method Detail

allocate_objects

private static DataValueDescriptor[] allocate_objects(Transaction rawtran,
                                                      int num_cols_to_allocate,
                                                      FormatableBitSet column_list,
                                                      int[] format_ids,
                                                      int[] collation_ids)
                                               throws StandardException
Allocate new objects to array based on format id's and column_list.

Parameters:
num_cols_to_allocate - The number of columns to allocate for array.
column_list - description of partial set of columns to built as described in RowUtil. If null do all the columns.
format_ids - An array of format ids representing every column in the table. column_list describes which of these columns to populate into the columns array.
Throws:
StandardException - Standard exception policy.

newU8Row

public static DataValueDescriptor[] newU8Row(int nkeys)
Constuctor for creating a template row which stores n SQLLongint's


newRow

public static DataValueDescriptor[] newRow(DataValueDescriptor[] template)
                                    throws StandardException
Generate an "empty" row to match the format id specification.

Generate an array of new'd objects matching the format id specification passed in. This routine is mostly used by the btree code to generate temporary rows needed during operations like split. It is more efficient to allocate new objects based on the old object vs. calling the Monitor.

Parameters:
template - An array which represents a row as described in RowUtil.
Returns:
The new row.
Throws:
StandardException - Standard exception policy.
See Also:
RowUtil

newRow

public static DataValueDescriptor[] newRow(Transaction rawtran,
                                           FormatableBitSet column_list,
                                           int[] format_ids,
                                           int[] collation_ids)
                                    throws StandardException
Generate an "empty" row to match the format id specification.

Generate an array of new'd objects matching the format id specification passed in. This routine is mostly used by the btree code to generate temporary rows needed during operations like split.

Parameters:
format_ids - an array of format id's, one per column in row.
Returns:
The new row.
Throws:
StandardException - Standard exception policy.

newBranchRow

public static DataValueDescriptor[] newBranchRow(Transaction rawtran,
                                                 int[] format_ids,
                                                 int[] collation_ids,
                                                 DataValueDescriptor page_ptr)
                                          throws StandardException
Generate an "empty" row to match the format id + coluumn specification.

Generate an array of new'd objects matching the format id specification passed in, and the column passed in. The new row is first made up of columns matching the format ids, and then followed by one other column matching the column passed in. This routine is mostly used by the btree code to generate temporary branch rows needed during operations like split.

Parameters:
format_ids - an array of format id's, one per column in row.
page_ptr - The object to place in the last column of the template.
Returns:
The new row.
Throws:
StandardException - Standard exception policy.

checkColumnTypes

public static boolean checkColumnTypes(DataValueFactory dvf,
                                       int[] format_ids,
                                       int[] collation_ids,
                                       DataValueDescriptor[] row)
                                throws StandardException
Check that columns in the row conform to a set of format id's, both in number and type.

Parameters:
format_ids - array of format ids which are the types of cols in row
row - the array of columns that make up the row.
Returns:
boolean indicating if template matches format id's
Throws:
StandardException - Standard exception policy.

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.