Class NullableArrayUtils

java.lang.Object
com.apple.foundationdb.relational.util.NullableArrayUtils

@API(EXPERIMENTAL) public final class NullableArrayUtils extends Object
A Utils class that holds logic related to nullable arrays. Nullable Arrays are arrays that, if unset, will be NULL. Non-nullable arrays are arrays that, if unset, will be empty list.
  • Field Details

  • Method Details

    • getRepeatedFieldName

      public static String getRepeatedFieldName()
    • isWrappedArrayDescriptor

      public static boolean isWrappedArrayDescriptor(String fieldName, Descriptors.Descriptor parentDescriptor)
    • isWrappedArrayDescriptor

      public static boolean isWrappedArrayDescriptor(@Nonnull Descriptors.Descriptor descriptor)
    • wrapArray

      public static RecordMetaDataProto.KeyExpression wrapArray(RecordMetaDataProto.KeyExpression keyExpression, com.apple.foundationdb.record.query.plan.cascades.typing.Type.Record record, boolean containsNullableArray)
      Adds the wrapped array structure in key expressions if the schema doesn't contain non-nullable array. For example, reviews.rating will change to reviews.values.rating
      Parameters:
      keyExpression - The key expression to modify.
      record - The record of the table.
      containsNullableArray - true if nullable arrays are to be found, otherwise false.
      Returns:
      modified key expression where any nullable array is wrapped. TODO Add the wrapped array structure for nullable arrays.
    • wrapArray

      public static RecordMetaDataProto.KeyExpression wrapArray(RecordMetaDataProto.KeyExpression keyExpression, Descriptors.Descriptor parentDescriptor, boolean containsNullableArray)