Loading records with located URIs should not delete and recreate call_numbers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Low
|
Unassigned | ||
3.7 |
Fix Released
|
Low
|
Unassigned |
Bug Description
When loading MARC records with 856 fields, matching records with 856 fields may already exist in the database. The resulting record will include all the previously existing, updated or added 856 fields.
In creating the located URIs, the function
biblio.
first deletes any URI call numbers already associated with the record id, then recreates new rows based on the 856 links in the resulting MARC record.
This deletion and recreation of call numbers is problematic in a few ways:
- It causes inflation of the asset.call_number and auditor.
- It makes counting monthly statistics based on the number of URI entries added to and deleted from the asset.call_number table impossible.
As a use case, we continuously load files of records for collections of electronic resources purchased by our libraries. Some of these files contain very large numbers of records.
Each record in the file may already exist in our database with multiple 856 fields, one for each library that already owns the resource.
Say five of our libraries already own the collection. When the file is loaded for the new library, five existing URI call numbers are deleted and six new URI call numbers are created for each record. So loading a collection of 100,000 records would cause the deletion of 500,000 call number records and the addition of 600,000.
Instead of always deleting and readding call numbers, biblio.
In the use case above, this change to the function would produce the more appropriate result of zero call numbers deleted and 100,000 added. The call number create date would then represent the date the resource was procured by the library, and could be used for statistical purposes.
Changed in evergreen: | |
assignee: | nobody → Michele Morgan (mmorgan) |
Changed in evergreen: | |
milestone: | none → 2.next |
Changed in evergreen: | |
assignee: | Michele Morgan (mmorgan) → nobody |
Changed in evergreen: | |
assignee: | nobody → Mike Rylander (mrylander) |
Changed in evergreen: | |
milestone: | 3.1-beta → 3.1-rc |
Changed in evergreen: | |
importance: | Undecided → Low |
Changed in evergreen: | |
milestone: | 3.1-rc → 3.1.1 |
Changed in evergreen: | |
milestone: | 3.1.1 → 3.1.2 |
Changed in evergreen: | |
milestone: | 3.1.2 → 3.1.3 |
Changed in evergreen: | |
milestone: | 3.1.3 → 3.1.4 |
Changed in evergreen: | |
milestone: | 3.1.4 → 3.1.5 |
Changed in evergreen: | |
milestone: | 3.1.5 → 3.1.6 |
tags: |
added: needsrepatch removed: pullrequest |
Changed in evergreen: | |
milestone: | 3.1.6 → 3.2.1 |
Changed in evergreen: | |
milestone: | 3.2.1 → 3.2.2 |
Changed in evergreen: | |
milestone: | 3.2.2 → 3.2.3 |
Changed in evergreen: | |
milestone: | 3.2.3 → 3.3-beta1 |
status: | Confirmed → New |
Changed in evergreen: | |
milestone: | 3.3-beta1 → 3.3-rc |
Changed in evergreen: | |
milestone: | 3.3-rc → 3.3.1 |
Changed in evergreen: | |
milestone: | 3.3.1 → 3.3.2 |
Changed in evergreen: | |
milestone: | 3.3.2 → 3.3.3 |
Changed in evergreen: | |
assignee: | nobody → Rogan Hamby (rogan-hamby) |
Changed in evergreen: | |
milestone: | 3.3.3 → 3.3.4 |
Changed in evergreen: | |
milestone: | 3.3.4 → 3.3.5 |
Changed in evergreen: | |
milestone: | 3.3.5 → none |
Changed in evergreen: | |
milestone: | none → 3.5.0 |
status: | New → Confirmed |
tags: | added: signedoff |
Changed in evergreen: | |
assignee: | Rogan Hamby (rogan-hamby) → nobody |
Changed in evergreen: | |
milestone: | 3.5.0 → 3.5.1 |
Changed in evergreen: | |
milestone: | 3.5.1 → 3.5.2 |
Changed in evergreen: | |
assignee: | nobody → Jason Stephenson (jstephenson) |
Changed in evergreen: | |
milestone: | 3.5.2 → 3.6.1 |
tags: | added: performance |
Changed in evergreen: | |
milestone: | 3.6.1 → 3.6.2 |
Changed in evergreen: | |
milestone: | 3.6.2 → 3.6.3 |
Changed in evergreen: | |
milestone: | 3.6.3 → 3.6.4 |
Changed in evergreen: | |
milestone: | 3.6.4 → 3.7.2 |
no longer affects: | evergreen/3.1 |
no longer affects: | evergreen/3.2 |
no longer affects: | evergreen/3.3 |
no longer affects: | evergreen/3.4 |
no longer affects: | evergreen/3.5 |
Changed in evergreen: | |
milestone: | 3.7.2 → 3.7.3 |
Changed in evergreen: | |
assignee: | nobody → Michele Morgan (mmorgan) |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
Confirmed in 2.8.2