Package acdp.types

Enum Type.Scheme

All Implemented Interfaces:
Serializable, Comparable<Type.Scheme>, java.lang.constant.Constable
Enclosing interface:
Type

public static enum Type.Scheme extends Enum<Type.Scheme>
Defines the so called inrow and outrow storage schemes for values of a particular column type.

The byte representation of values of a column type with an inrow storage scheme is typically fixed in length or does not vary much in length. Examples are the boolean, integer or long built-in column types with a fixed length of the byte representation of their values of one, four and eight bytes, respectively. Another example would be an inrow string column type limited to, say, seven bytes: The byte representation of a value of such a column is not allowed to exceed seven bytes but may be less. Values of an inrow column type can be efficiently stored and accessed, provided that the length of the byte representation of their values do not vary too much.

An outrow storage scheme should be chosen if the length of the byte representation of the values vary much, for example if the values are String instances of arbitrary length.

The same holds for array column types: If the number of elements of the array values is fixed or does not vary too much then the array column type should be declared with an inrow storage scheme, otherwise with an outrow storage scheme.

The type of storage scheme is an important information for ACDP when choosing the best possible storage format for storing column values.

Author:
Beat Hörmann
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Values of an inrow simple column type or an inrow array column type with an inrow element column type are stored in the FL data block of the row.
    Values of an outrow simple column type or an outrow array column type or an inrow array column type with an outrow element column type are stored outside the fixed length FL data block of the row in a separate file that stores the outrow data of the rows.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the enum constant of this type with the specified name.
    static Type.Scheme[]
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • INROW

      public static final Type.Scheme INROW
      Values of an inrow simple column type or an inrow array column type with an inrow element column type are stored in the FL data block of the row. The number of bytes in an FL data block is fixed for all rows.

      For a less technical description see the interface description.

    • OUTROW

      public static final Type.Scheme OUTROW
      Values of an outrow simple column type or an outrow array column type or an inrow array column type with an outrow element column type are stored outside the fixed length FL data block of the row in a separate file that stores the outrow data of the rows. The FL data block just contains a fixed length pointer to the outrow data.

      For a less technical description see the interface description.

  • Method Details

    • values

      public static Type.Scheme[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static Type.Scheme valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null