PropertyFlags

public enum PropertyFlags : UInt32

Bit-flags defining the behavior of properties. Note: Numbers indicate the bit position

  • T

    Undocumented

    Declaration

    Swift

    public typealias T = UInt32
  • Undocumented

    Declaration

    Swift

    public static var byteSize: Int { get }
  • Undocumented

    Declaration

    Swift

    public var value: UInt32 { get }
  • id

    64 bit long property (internally unsigned) representing the ID of the entity. May be combined with: NON_PRIMITIVE_TYPE, ID_MONOTONIC_SEQUENCE, ID_SELF_ASSIGNABLE.

    Declaration

    Swift

    case id = 1
  • On languages like Java, a non-primitive type is used (aka wrapper types, allowing null)

    Declaration

    Swift

    case nonPrimitiveType = 2
  • Unused yet

    Declaration

    Swift

    case notNull = 4
  • Undocumented

    Declaration

    Swift

    case indexed = 8
  • Unused yet

    Declaration

    Swift

    case reserved = 16
  • Unique index

    Declaration

    Swift

    case unique = 32
  • Unused yet: Use a persisted sequence to enforce ID to rise monotonic (no ID reuse)

    Declaration

    Swift

    case idMonotonicSequence = 64
  • Allow IDs to be assigned by the developer

    Declaration

    Swift

    case idSelfAssignable = 128
  • Unused yet

    Declaration

    Swift

    case indexPartialSkipNull = 256
  • Unused yet in user land. Used internally by relations for 1) backlinks and 2) to clear references to deleted objects (required for ID reuse).

    Declaration

    Swift

    case indexPartialSkipZero = 512
  • Virtual properties may not have a dedicated field in their entity class, e.g. target IDs of to-one relations

    Declaration

    Swift

    case virtual = 1024
  • Index uses a 32 bit hash instead of the value. 32 bit is the default hash size because: they take less disk space, run well on 32 bit systems, and also run quite well on 64 bit systems (especially for small to medium sized values). and should be OK even with a few collisions.

    Declaration

    Swift

    case indexHash = 2048
  • Index uses a 64 bit hash instead of the value. Recommended mostly for 64 bit machines with values longer than 200 bytes; small values are faster with a 32 bit hash even on 64 bit machines.

    Declaration

    Swift

    case indexHash64 = 4096
  • Unused yet: While our default are signed ints, queries and indexes need do know signing info. Note: Don’t combine with ID (IDs are always unsigned internally).

    Declaration

    Swift

    case unsigned = 8192
  • By defining an ID companion property, a special ID encoding scheme is activated involving this property.

    For Time Series IDs, a companion property of type Date or DateNano represents the exact timestamp. (In the future, ID companion string properties may be added as another supported type).

    Declaration

    Swift

    case idCompanion = 16384
  • Unique on-conflict strategy: the object being put replaces any existing conflicting object (deletes it).

    Declaration

    Swift

    case uniqueOnConflictReplace = 32768
  • min

    Undocumented

    Declaration

    Swift

    public static var min: PropertyFlags { get }
  • max

    Undocumented

    Declaration

    Swift

    public static var max: PropertyFlags { get }