We assume in many places that MDES tables have a single PK. This method allows us to verify that that is true for each new spec version. (MDES 3.3 gave us a scare, but it looks like in that case it is just a schema error.) Extracted from the warehouse.
MDES 3.3 has a table with several PKs according to the VDR schema (link_child_partic_org). Upon inspection, it is plain that the extras are supposed to be FKs. This feature allows overriding the named type provided for a variable in the schema to allow switching these to be FKs.
The default (non-strict) diff attempts to only include meaningful changes. It ignores: * Changes to whitespace, punctuation, or case in code list labels * Variable status changes which are not actionable * The unused "global_value" and "master_cl" attributes on CodeListEntry The strict diff includes all these things along with the meaningful changes.
Since CodeListEntry is going to be carrying more logic once #diff is implemented on it, it makes sense to put it in a separate file.