Class ConglomerateUtil


  • public final class ConglomerateUtil
    extends java.lang.Object
    Static utility routine package for all Conglomerates.

    A collection of static utility routines that are shared by multiple Conglomerate implementations.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static 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 java.util.Properties createRawStorePropertySet​(java.util.Properties prop)
      Create a list of all the properties that Access wants to export through the getInternalTablePropertySet() call.
      static java.util.Properties createUserRawStorePropertySet​(java.util.Properties prop)
      Create a list of all the properties that Access wants to export through the getInternalTablePropertySet() call.
      static java.lang.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, java.io.ObjectInput in)
      Read "sparse" array of collation id's
      static int[] readFormatIdArray​(int num, java.io.ObjectInput in)
      Read a format id array in from a stream.
      static void writeCollationIdArray​(int[] collation_id_array, java.io.ObjectOutput out)
      Write array of collation id's as a sparse array.
      static void writeFormatIdArray​(int[] format_id_array, java.io.ObjectOutput out)
      Write a format id array to a stream.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConglomerateUtil

        public ConglomerateUtil()
    • Method Detail

      • createRawStorePropertySet

        public static java.util.Properties createRawStorePropertySet​(java.util.Properties prop)
        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

        public static java.util.Properties createUserRawStorePropertySet​(java.util.Properties prop)
        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

        public static int[] createFormatIds​(DataValueDescriptor[] template)
        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

        public static int[] readFormatIdArray​(int num,
                                              java.io.ObjectInput in)
                                       throws java.io.IOException
        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:
        java.io.IOException - Thown on read error.
      • writeFormatIdArray

        public static void writeFormatIdArray​(int[] format_id_array,
                                              java.io.ObjectOutput out)
                                       throws java.io.IOException
        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:
        java.io.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,
                                                 java.io.ObjectOutput out)
                                          throws java.io.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:
        java.io.IOException - Thown on write error.
      • readCollationIdArray

        public static boolean readCollationIdArray​(int[] collation_id_array,
                                                   java.io.ObjectInput in)
                                            throws java.io.IOException
        Read "sparse" array of collation id's

        The 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:
        java.io.IOException
      • debugPage

        public static java.lang.String debugPage​(Page page,
                                                 int start_slot,
                                                 boolean full_rh,
                                                 DataValueDescriptor[] template)
        Format a page of data, as access see's it.