PropertyFlags
public enum PropertyFlags : UInt32
Bit-flags defining the behavior of properties. Note: Numbers indicate the bit position
-
Undocumented
Declaration
Swift
public typealias T = UInt32
-
Undocumented
Declaration
Swift
public static var byteSize: Int { get }
-
Undocumented
Declaration
Swift
public var value: UInt32 { get }
-
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
-
Undocumented
Declaration
Swift
public static var min: PropertyFlags { get }
-
Undocumented
Declaration
Swift
public static var max: PropertyFlags { get }