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.
public boolean hasCollatedTypes()
true
if there is at least one column with a collation
different than UCS BASIC.Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.