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

java.lang.Object
  extended by org.apache.derby.impl.store.access.conglomerate.OpenConglomerateScratchSpace
All Implemented Interfaces:
DynamicCompiledOpenConglomInfo

public class OpenConglomerateScratchSpace
extends java.lang.Object
implements DynamicCompiledOpenConglomInfo

A utility class to store and use temporary scratch space associated with a conglomerate.


Field Summary
private  int[] collation_ids
           
private  int[] format_ids
          A complete array of format id's and collation_ids for this conglomerate.
private  DataValueDescriptor[] row_for_export_template
          A template of info about the classes in the returned row.
private  DataValueDescriptor[] scratch_row
          A Scratch row used for qualifying rows in the conglomerate.
private  RowPosition scratch_row_position
          Scratch space used by ConglomerateController.
private  DataValueDescriptor[] scratch_template
          A Scratch template used for searching and qualifying rows in the conglomerate.
 
Constructor Summary
OpenConglomerateScratchSpace(int[] format_ids, int[] collation_ids)
          Creates a new scratch space.
 
Method Summary
 DataValueDescriptor[] get_row_for_export(Transaction rawtran)
          Return an empty template (possibly partial) row to be given back to a client.
 RowPosition get_scratch_row_position()
          Return a scratch RowPosition.
 DataValueDescriptor[] get_scratch_row(Transaction rawtran)
          Return an empty template (possibly partial) row to be used and reused internally for processing.
 DataValueDescriptor[] get_template(Transaction rawtran)
          Return a complete empty row.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

row_for_export_template

private DataValueDescriptor[] row_for_export_template
A template of info about the classes in the returned row.

This template is allocated on demand, and is used to efficiently create new rows for export from this class. This variable is for use by get_row_for_export().


scratch_template

private DataValueDescriptor[] scratch_template
A Scratch template used for searching and qualifying rows in the conglomerate. This is a full template, independent of the FormatableBitSet used for access.


scratch_row

private DataValueDescriptor[] scratch_row
A Scratch row used for qualifying rows in the conglomerate. This is a row which matches the FormatableBitSet of rows being returned.


format_ids

private int[] format_ids
A complete array of format id's and collation_ids for this conglomerate.


collation_ids

private int[] collation_ids

scratch_row_position

private RowPosition scratch_row_position
Scratch space used by ConglomerateController.

See Also:
ConglomerateController.delete(org.apache.derby.iapi.types.RowLocation), ConglomerateController.replace(org.apache.derby.iapi.types.RowLocation, org.apache.derby.iapi.types.DataValueDescriptor[], org.apache.derby.iapi.services.io.FormatableBitSet)
Constructor Detail

OpenConglomerateScratchSpace

public OpenConglomerateScratchSpace(int[] format_ids,
                                    int[] collation_ids)
Creates a new scratch space.

Parameters:
format_ids - format identifiers for columns in the row
collation_ids - collation identifiers for the columns in the row
Method Detail

get_row_for_export

public DataValueDescriptor[] get_row_for_export(Transaction rawtran)
                                         throws StandardException
Return an empty template (possibly partial) row to be given back to a client.

The main use of this is for fetchSet() and fetchNextGroup() which allocate rows and then give them back entirely to the caller.

Returns:
The row to use.
Throws:
StandardException - Standard exception policy.

get_scratch_row

public DataValueDescriptor[] get_scratch_row(Transaction rawtran)
                                      throws StandardException
Return an empty template (possibly partial) row to be used and reused internally for processing.

The main use of this is for qualifying rows where a row has not been provided by the client. This routine cache's a single row for reuse by the caller, if the caller needs 2 concurrent scratch rows, some other mechanism must be used.

Returns:
The row to use.
Throws:
StandardException - Standard exception policy.

get_template

public DataValueDescriptor[] get_template(Transaction rawtran)
                                   throws StandardException
Return a complete empty row.

The main use of this is for searching a tree where a complete copy of the row is needed for searching.

Returns:
The template to use.
Throws:
StandardException - Standard exception policy.

get_scratch_row_position

public RowPosition get_scratch_row_position()
Return a scratch RowPosition.

Used by GenericConglomerateController.delete() and GenericConglomerateController.replace(). It may be reused so callers must insure that object no longer needed before next possible call to get it again.

Returns:
a scratch RowPosition.
Throws:
StandardException - Standard exception policy.

Built on Thu 2010-12-23 20:49:13+0000, from revision ???

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