Likewise: the shared row cannot adopt a declaration, because it is one.
Lowercased ids of the given objects that already carry a primary key, from one two-column
scan per 200 owners. The classify stage used to load every object's fields as entity
objects just to ask some(IsPrimaryKey); the keyed majority needs nothing else.
Record that this row was seen — and optionally sampled — by the discovery now running.
The shared row IS the declaration; there is nothing to rebase it from.
Shared rows are the declared floor for every other connection — disable, never delete.
The field counterpart of StampNewObject.
The shared catalog records ownership as the integration id and nothing else.
Reads and creates for one catalog, scoped to whatever "this connector" means for it.
ObjectsInScopedeliberately returns rows of EVERY status. Disabled rows are load-bearing: an object the source dropped is disabled rather than deleted, and if it reappears the overlay must find and reactivate that row. Matching active rows only would attempt a second row with the same name and hit the unique constraint instead.These read straight from the database rather than the engine cache, deliberately. The cache is refreshed between discovery passes, not within one, so the write path must be able to see rows a previous pass of the SAME run just persisted. It is also what makes the per-connection catalog writable at all: its cached rows are read-only projections with no
Save().