Batch-fetch field definitions in set_object_fields (avoid N+1) for bulk import #12

Open
opened 2026-06-02 09:13:26 +00:00 by logaritmisk · 0 comments
Owner

catalog::set_object_fields (crates/db/src/catalog.rs) validates field-by-field: one fields::field_definition_by_key query per key, plus one resolve_term/resolve_authority per term/authority key — an N+1 over the desired map.

Fine at single-object catalogue-entry scale. If/when bulk import lands (CSV/Excel → many objects), batch-fetch the relevant field definitions (and resolve references in bulk) once per import rather than per-field-per-object.

Source: Plan 5 (object flexible fields) final review — forward-looking, not relevant at current scale.

`catalog::set_object_fields` (`crates/db/src/catalog.rs`) validates field-by-field: one `fields::field_definition_by_key` query per key, plus one `resolve_term`/`resolve_authority` per term/authority key — an N+1 over the desired map. Fine at single-object catalogue-entry scale. If/when **bulk import** lands (CSV/Excel → many objects), batch-fetch the relevant field definitions (and resolve references in bulk) once per import rather than per-field-per-object. _Source: Plan 5 (object flexible fields) final review — forward-looking, not relevant at current scale._
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: logaritmisk/biggus-dickus#12