Class ConglomerateUtil
A collection of static utility routines that are shared by multiple Conglomerate implementations.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int[]
createCollationIds
(int sizeof_ids, int[] collationIds) Given an array of columnOrderings, return an array of collation ids.static int[]
createFormatIds
(DataValueDescriptor[] template) Given an array of objects, return an array of format id's.static Properties
Create a list of all the properties that Access wants to export through the getInternalTablePropertySet() call.static Properties
Create a list of all the properties that Access wants to export through the getInternalTablePropertySet() call.static String
debugPage
(Page page, int start_slot, boolean full_rh, DataValueDescriptor[] template) Format a page of data, as access see's it.static boolean
readCollationIdArray
(int[] collation_id_array, ObjectInput in) Read "sparse" array of collation id'sstatic int[]
readFormatIdArray
(int num, ObjectInput in) Read a format id array in from a stream.static void
writeCollationIdArray
(int[] collation_id_array, ObjectOutput out) Write array of collation id's as a sparse array.static void
writeFormatIdArray
(int[] format_id_array, ObjectOutput out) Write a format id array to a stream.
-
Constructor Details
-
ConglomerateUtil
public ConglomerateUtil()
-
-
Method Details
-
createRawStorePropertySet
Create a list of all the properties that Access wants to export through the getInternalTablePropertySet() call.This utility routine creates a list of properties that are shared by all conglomerates. This list contains the following: derby.storage.initialPages derby.storage.minimumRecordSize derby.storage.pageReservedSpace derby.storage.pageSize derby.storage.reusableRecordId
- Parameters:
prop
- If non-null the property set to fill in.- Returns:
- The Property set filled in.
-
createUserRawStorePropertySet
Create a list of all the properties that Access wants to export through the getInternalTablePropertySet() call.This utility routine creates a list of properties that are shared by all conglomerates. This list contains the following: derby.storage.initialPages derby.storage.minimumRecordSize derby.storage.pageReservedSpace derby.storage.pageSize
- Parameters:
prop
- If non-null the property set to fill in.- Returns:
- The Property set filled in.
-
createFormatIds
Given an array of objects, return an array of format id's.- Parameters:
template
- a row.- Returns:
- An array of format id's describing the input array of objects.
-
readFormatIdArray
Read a format id array in from a stream.- Parameters:
num
- The number of format ids to read.in
- The stream to read the array of format id's from.- Returns:
- A new array of format id's.
- Throws:
IOException
- Thown on read error.
-
writeFormatIdArray
Write a format id array to a stream.- Parameters:
format_id_array
- The array of format ids to write.out
- The stream to write the array of format id's to.- Throws:
IOException
- Thown on write error.
-
createCollationIds
public static int[] createCollationIds(int sizeof_ids, int[] collationIds) Given an array of columnOrderings, return an array of collation ids.If input array is null, produce a default collation_id array of all StringDataValue.COLLATION_TYPE_UCS_BASIC values.
- Returns:
- An array of collation id's describing the input array of objects.
-
writeCollationIdArray
public static void writeCollationIdArray(int[] collation_id_array, ObjectOutput out) throws IOException Write array of collation id's as a sparse array.The format only writes out those array entries which are not StringDataValue.COLLATION_TYPE_UCS_BASIC. The sparse array first writes the number of entries as a compressed int. And then for each non-COLLATION_TYPE_UCS_BASIC, it writes out a pair of compressed ints: (array offset, array entry value)
- Parameters:
collation_id_array
- The array of collation ids to write.out
- The stream to write the collation id's to.- Throws:
IOException
- Thown on write error.
-
readCollationIdArray
public static boolean readCollationIdArray(int[] collation_id_array, ObjectInput in) throws IOException Read "sparse" array of collation id'sThe format to be read first has the number of entries as a compressed int. And then for each non-COLLATION_TYPE_UCS_BASIC value there is pair of compressed ints: (array offset, array entry value)
reads the sparse array as written by writeCollationIdArray().
- Parameters:
collation_id_array
- update's only those array entries that have been set in the sparse array stream. Those values are set as indicated by reading the sparse array from the stream.in
- The stream to read the collation info from.- Returns:
true
if at least one column has a different collation than UCS BASIC,false
otherwise.- Throws:
IOException
-
debugPage
public static String debugPage(Page page, int start_slot, boolean full_rh, DataValueDescriptor[] template) Format a page of data, as access see's it.
-