Class OpenConglomerateScratchSpace
- All Implemented Interfaces:
DynamicCompiledOpenConglomInfo
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int[]
private final int[]
A complete array of format id's and collation_ids for this conglomerate.private final boolean
Tells if there is at least one type in the conglomerate whose collation isn't StringDataValue.COLLATION_TYPE_UCS_BASIC.private DataValueDescriptor[]
A template of info about the classes in the returned row.private DataValueDescriptor[]
A Scratch row used for qualifying rows in the conglomerate.private RowPosition
Scratch space used byConglomerateController
.private DataValueDescriptor[]
A Scratch template used for searching and qualifying rows in the conglomerate. -
Constructor Summary
ConstructorsConstructorDescriptionOpenConglomerateScratchSpace
(int[] format_ids, int[] collation_ids, boolean hasCollatedTypes) Creates a new scratch space. -
Method Summary
Modifier and TypeMethodDescriptionget_row_for_export
(Transaction rawtran) Return an empty template (possibly partial) row to be given back to a client.get_scratch_row
(Transaction rawtran) Return an empty template (possibly partial) row to be used and reused internally for processing.Return a scratch RowPosition.get_template
(Transaction rawtran) Return a complete empty row.boolean
Tells if there is at least one column with a collation different than UCS BASIC in the conglomerate.
-
Field Details
-
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
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
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 final int[] format_idsA complete array of format id's and collation_ids for this conglomerate. -
collation_ids
private final int[] collation_ids -
hasCollatedTypes
private final boolean hasCollatedTypesTells if there is at least one type in the conglomerate whose collation isn't StringDataValue.COLLATION_TYPE_UCS_BASIC. This can be determined by looking at the collation ids, but now the caller is passing in the value to avoid having to look at all the collation ids multiple times. -
scratch_row_position
Scratch space used byConglomerateController
.- See Also:
-
-
Constructor Details
-
OpenConglomerateScratchSpace
public OpenConglomerateScratchSpace(int[] format_ids, int[] collation_ids, boolean hasCollatedTypes) Creates a new scratch space.- Parameters:
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 conglomerate
-
-
Method Details
-
get_row_for_export
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
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
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
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.
-
hasCollatedTypes
public boolean hasCollatedTypes()Tells if there is at least one column with a collation different than UCS BASIC in the conglomerate.- Returns:
true
if there is at least one column with a collation different than UCS BASIC.
-