This pull request fixes a bug in the GRDB support for Decodable types.
The decodeNil(forKey:) method of the keyed container that feeds from a database row could wrongly return false, and prevent an app from successfully decoding a nil optional value from a NULL column. This is fixed.
This PR also introduces a partial support for nestedContainer(keyedBy:forKey:). This method used to crash with a "not implemented" fatal error. Now it can decode nested scopes added by a ScopeAdapter or requests that include a to-one association such as BelongsTo or HasOne. It is still impossible to trigger JSON decoding of a column by using this method.
This pull request fixes a bug in the GRDB support for
Decodable
types.The
decodeNil(forKey:)
method of the keyed container that feeds from a database row could wrongly return false, and prevent an app from successfully decoding a nil optional value from a NULL column. This is fixed.This PR also introduces a partial support for
nestedContainer(keyedBy:forKey:)
. This method used to crash with a "not implemented" fatal error. Now it can decode nested scopes added by aScopeAdapter
or requests that include a to-one association such asBelongsTo
orHasOne
. It is still impossible to trigger JSON decoding of a column by using this method.Fixes #1531.