select bi.biblioitemnumber, dbi.biblioitemnumber from biblioitems bi join deletedbiblioitems dbi on bi.biblionumber=dbi.biblionumber Warns if there's items from the same biblio, one not deleted, one is deleted.
Created attachment 186056 [details] [review] Bug 40740: Validation for biblioitems in about/system information joins on biblionumber not biblioitemnumber This patche fixes the validation for biblioitems to only warn when the biblioitemnumber is in both tables instead of the biblionumber. To test: 1. Delete an item that has another item on the record. 2. Go to About and select the system configuration tab 3. Observe there is a warning. 4. Run a report select bi.biblioitemnumber, dbi.biblioitemnumber from biblioitems bi join deletedbiblioitems dbi on bi.biblionumber=dbi.biblionumber 5. You'll see the numbers don't match 6. Apply the patch 7. Repeat step 2 8. Observe no warning 9. Repeat step 4 10. Observe no results. 11. Sign off!
I didn't get a warning on the system information tab. I deleted one of the items for Effective Perl programming (biblionumber = 139), in the default KTD it has two items.
I also didn't get a warning on the system information tab. On step 4 when I run the query before applying the patch I get no results too. Is there something missing from the test plan? I don't see any records in deletedbiblioitems after just deleting an item. I only get a deletedbiblioitems record after deleting a bib record. When I was testing I found when you delete a bib record only one record is added to deletedbiblioitems that has the same biblioitemnumber as its biblionumber. Is that correct or a different bug? I was able to reproduce the error after some sql statements to update biblioitems and deletedbiblioitems. I think we need some suggested steps to reproduce something like this: 1. Delete all items from a bib and delete the bib 2. Take note of biblio and biblioitemnumbers for making an update statement select biblionumber, biblioitemnumber from deletedbiblioitems 3. Update a biblioitem record to have a match for example update biblioitems set biblionumber=233 biblioitemnumber = 233 where biblionumber = 1; I applied the patch, but the error didn't go away, until I updated the data again to fix it.