public class OpenConglomerateScratchSpace extends java.lang.Object implements DynamicCompiledOpenConglomInfo
Modifier and Type | Field and Description |
---|---|
private int[] |
collation_ids |
private int[] |
format_ids
A complete array of format id's and collation_ids for this conglomerate.
|
private boolean |
hasCollatedTypes
Tells if there is at least one type in the conglomerate whose collation
isn't StringDataValue.COLLATION_TYPE_UCS_BASIC.
|
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 and Description |
---|
OpenConglomerateScratchSpace(int[] format_ids,
int[] collation_ids,
boolean hasCollatedTypes)
Creates a new scratch space.
|
Modifier and Type | Method and Description |
---|---|
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.
|
boolean |
hasCollatedTypes()
Tells if there is at least one column with a collation different
than UCS BASIC in the conglomerate.
|
private DataValueDescriptor[] row_for_export_template
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().
private DataValueDescriptor[] scratch_template
private DataValueDescriptor[] scratch_row
private final int[] format_ids
private final int[] collation_ids
private final boolean hasCollatedTypes
private RowPosition scratch_row_position
ConglomerateController
.public OpenConglomerateScratchSpace(int[] format_ids, int[] collation_ids, boolean hasCollatedTypes)
format_ids
- format identifiers for columns in the rowcollation_ids
- collation identifiers for the columns in the rowhasCollatedTypes
- whether there is at least one collated type with
a collation other than UCS BASIC in the conglomeratepublic DataValueDescriptor[] get_row_for_export(Transaction rawtran) throws StandardException
The main use of this is for fetchSet() and fetchNextGroup() which allocate rows and then give them back entirely to the caller.
StandardException
- Standard exception policy.public DataValueDescriptor[] get_scratch_row(Transaction rawtran) throws StandardException
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.
StandardException
- Standard exception policy.public DataValueDescriptor[] get_template(Transaction rawtran) throws StandardException
The main use of this is for searching a tree where a complete copy of the row is needed for searching.
StandardException
- Standard exception policy.public RowPosition get_scratch_row_position()
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.
StandardException
- Standard exception policy.public boolean hasCollatedTypes()
true
if there is at least one column with a collation
different than UCS BASIC.Apache Derby V10.10 Internals - Copyright © 2004,2013 The Apache Software Foundation. All Rights Reserved.