Writes every column a contribution spec decides onto a row, and clears each claim column the
spec does not set, so a row that changes its claim keeps nothing of the old one.
The row it writes satisfies these CHECK constraints: ReplacesFieldNamesShape and
ReplacesSectionKeysShape (an empty name list is stored as null), JoinNeedsRelated (a join
field only with a related entity), SectionPositionNeedsSection (a position only for a panel
drawn inside a section) and BareNoChrome (no Inclusion or ChromeGroup on a bare panel). It
does not check OneClaim: a spec that makes two claims produces a row the database refuses.
The caller resolves the related entity, because that needs metadata, and writes the columns
that are not in the spec (scope, owner, status, precedence, names).
Writes every column a contribution spec decides onto a row, and clears each claim column the spec does not set, so a row that changes its claim keeps nothing of the old one.
The row it writes satisfies these CHECK constraints:
ReplacesFieldNamesShapeandReplacesSectionKeysShape(an empty name list is stored as null),JoinNeedsRelated(a join field only with a related entity),SectionPositionNeedsSection(a position only for a panel drawn inside a section) andBareNoChrome(no Inclusion or ChromeGroup on a bare panel). It does not checkOneClaim: a spec that makes two claims produces a row the database refuses.The caller resolves the related entity, because that needs metadata, and writes the columns that are not in the spec (scope, owner, status, precedence, names).