The distinct lifecycle, row grain, or owner that was checked for and ruled out: why these are the same row, not merely similar. Tables stay separate when an absorbed table owns a support, profile, approval, request, detail, history, audit, event, or snapshot lifecycle the survivor lacks.
The tables proven duplicate, collapsing into the survivor. Table names are matched globally when unique.
OptionalnameAbsorbed tables whose names are not unique across components. Use this
instead of names for each ambiguous table.
Why one existing canonical table already preserves the SAME stored concept, owner, row granularity, retained fact categories, and lifecycle as every table being absorbed. Decided first; the merge is its conclusion, never a backfilled justification.
OptionalseparateTables whose name shares this family's prefix (e.g. <root>_returns under
root <root>) but are a DISTINCT lifecycle — a separate
request/return/audit/history/event concept with its own rows the family
does not own. List them here to KEEP them out of the cascade so they are
not erased/absorbed with the family. Leave empty when every prefix-named
table truly belongs to this family.
The existing canonical table kept as survivor. When this table name exists
in more than one component, also set survivorNamespace.
OptionalsurvivorExact component namespace for survivorName when the name is duplicated.
Type discriminator for absorb.
A finalize-stage absorption of one or more duplicate table families into a single surviving canonical table (N into 1).
Absorbing deletes the absorbed tables and re-parents their dependent children under the survivor prefix; the survivor's columns are built later from the survivor's own concept alone, so it is safe only when the survivor already covers every fact category, owner, row grain, and lifecycle of each absorbed table.
Author
Samchon