Instance Property
wantsUnmodifiedKeys
DatabaseInput instance is requesting key/value pairs for all defined database fields regardless of status, or only those pairs where the current value is known to be out of date (also referred to variously as “dirty”, “modified”, or “has changes”).var wantsUnmodifiedKeys: Bool { get }
Discussion
By default, only changed values are requested. This choice was made because this property was added long after the first release of the protocol, before which time unmodified properties were always unconditionally omitted; as such, in order to remain fully source-compatible with existing conforming types, there must be a default which is chosen so as to preserve existing behavior.
For the purposes of this flag, when the value is true, both unmodified and unset properties should be included. The value of unset properties should be DatabaseQuery.Value.default.
Important
The value of this property MUST NOT change during the instance’s lifetime. It is generally recommended - though not required - that it be a constant value. This is the case for all DatabaseInput types in FluentKit at the time of this writing. It has been left as an instance property rather than being declared static to avoid artificially limiting the flexibility of conforming types.
Warning
While all of FluentKit’s built-in property wrapper types correctly honor this flag, if there are any custom property types in use which do not defer to a builtin type as a backing store (as IDProperty does, for example), that type’s AnyDatabaseProperty conformance must be updated accordingly.
Default Implementations
DatabaseInput Implementations
wantsUnmodifiedKeysDefault implementation ofwantsUnmodifiedKeys. Always assume the old behavior (modified data only) unless explcitly told otherwise.