Overview: When the instance number in HRID Handling is reset, and the number is lower than the last number in Inventory, Data Import "create instance" actions fail with the error "value already exists in table instance". Expected behavior of Data Import "create" actions is to begin from the next number available in the table. This occurs often in bugfest environments where settings tests are ongoing.
1. Decide if additional warning modal or UI text is needed. 2. If library resets to a previous start number, use the next unassigned number
Steps to Reproduce:
- In Settings, Inventory, HRID Handling, change the "start with" number for Inventory Instances to a number lower than the current highest number in the table instance.
- Click Save and Close.
- Have a MARC file prepared to load into FOLIO.
- Find a job profile with the action of "create instance" in Settings, Data Import, Job Profiles.
- In Data Import, select "choose files" (or drag and drop MARC file into the square), and select the job profile with the "create instance" action.
- Click Run, and Run.
Expected Results: SRS MARC and Instance records are created.
Actual Results: SRS MARC is created, but Instance is discarded. Error message reads "io.vertx.core.impl.NoStackTraceThrowable: lower(f_unaccent(jsonb ->> 'hrid'::text)) value already exists in table instance: in20000030"
Interested parties: Cornell, Duke