Class ConglomerateUtil

java.lang.Object
org.apache.derby.impl.store.access.conglomerate.ConglomerateUtil

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

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

  • Constructor Details

    • ConglomerateUtil

      public ConglomerateUtil()
  • Method Details

    • createRawStorePropertySet

      public static Properties createRawStorePropertySet(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 Properties createUserRawStorePropertySet(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, ObjectInput in) throws 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:
      IOException - Thown on read error.
    • writeFormatIdArray

      public static void writeFormatIdArray(int[] format_id_array, ObjectOutput out) throws 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:
      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'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:
      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.