From f59d2c5b3362fbd1d0c56b52e72ccf611d747086 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 7 Nov 2019 19:38:24 +0000 Subject: [PATCH] Bug 23986: Pass strings to Catmandu for deletion The deletion subroutine expects to get a string, this is fine in most places, but when we sort our records for batch deletion they are cast to numbers and the delete is not processed. This patch quotes the biblionumbers as strings before passing them to Catmandu To aid in detecting orphaned records you can use the patches on bug 22831 To test: 1 - Have or create a bib 2 - Go to Tools->Batch record deletion 3 - Click 'Enter a list of record numbers' 4 - Enter the biblionumber' 5 - Confirm deletion 6 - Search for the record, it still appears 7 - Apply patch, restart all the things 8 - Repeat 1-6 9 - This time the record is deleted 10 - Test other methods of record deletion to confirm the record is removed Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize --- Koha/SearchEngine/Elasticsearch/Indexer.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Koha/SearchEngine/Elasticsearch/Indexer.pm b/Koha/SearchEngine/Elasticsearch/Indexer.pm index 3610f0191d..504ccc5856 100644 --- a/Koha/SearchEngine/Elasticsearch/Indexer.pm +++ b/Koha/SearchEngine/Elasticsearch/Indexer.pm @@ -303,7 +303,7 @@ sub delete_index { ) ); } - $self->store->bag->delete($_) foreach @$biblionums; + $self->store->bag->delete("$_") foreach @$biblionums; $self->store->bag->commit; } -- 2.20.1