When merging bibliographic records, Koha generates warning: [WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81. in [plack-]intranet-error.log. This is because $tagslib->{$fieldtag}->{'tab'} -- for a tag, not for a subfield --is (always?) an empty string (cf. C4::Biblio::GetMarcStructure : $res->{$tag}->{tab} = ""), and in Koha::Util::MARC::createMergeHash it is compared numerically with 0.
Created attachment 167222 [details] [review] Bug 36976: Warning 'Argument "" isn't numeric in numeric' in log when merging bibliographic records When merging bibliographic records, Koha generates warning: [WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81. in [plack-]intranet-error.log. This is because $tagslib->{$fieldtag}->{'tab'} -- for a tag, not for a subfield --is (always?) an empty string (cf. C4::Biblio::GetMarcStructure : $res->{$tag}->{tab} = ""), and in Koha::Util::MARC::createMergeHash it is compared numerically with 0. Test plan: ========== 1. From biblio search result page, selact two records with the checkboxes and start a merge (Edit -> Merge records). Proceed with merging. After the merge, controll the content of the plack-intranet-error.log (when using plack -- standard in ktd). Note the lines: [WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81. 2. Apply the patch; restart_all. 3. Repeat p. 1. There should be no fresh warnings. Sponsored-by: Ignatianum University in Cracow
Created attachment 167228 [details] [review] Bug 36976: Warning 'Argument "" isn't numeric in numeric' in log when merging bibliographic records When merging bibliographic records, Koha generates warning: [WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81. in [plack-]intranet-error.log. This is because $tagslib->{$fieldtag}->{'tab'} -- for a tag, not for a subfield --is (always?) an empty string (cf. C4::Biblio::GetMarcStructure : $res->{$tag}->{tab} = ""), and in Koha::Util::MARC::createMergeHash it is compared numerically with 0. Test plan: ========== 1. From biblio search result page, selact two records with the checkboxes and start a merge (Edit -> Merge records). Proceed with merging. After the merge, controll the content of the plack-intranet-error.log (when using plack -- standard in ktd). Note the lines: [WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81. 2. Apply the patch; restart_all. 3. Repeat p. 1. There should be no fresh warnings. Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
(In reply to Janusz Kaczmarek from comment #0) > This is because $tagslib->{$fieldtag}->{'tab'} -- for a tag, not for a > subfield --is (always?) an empty string (cf. C4::Biblio::GetMarcStructure : > $res->{$tag}->{tab} = ""), and in Koha::Util::MARC::createMergeHash it is > compared numerically with 0. If it always is empty string, what is the use of comparing it ? Note that ( $tagslib->{$fieldtag}->{tab} || 0 ) >= 0 might be shorter? It seems that the test for defined $tagslib->{$fieldtag} is the crucial one. If that exists, tab will be empty string. (Exists might be more appropriate..) But I dont see any harm in pushing this one.
Created attachment 168223 [details] [review] Bug 36976: Warning 'Argument "" isn't numeric in numeric' in log when merging bibliographic records When merging bibliographic records, Koha generates warning: [WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81. in [plack-]intranet-error.log. This is because $tagslib->{$fieldtag}->{'tab'} -- for a tag, not for a subfield --is (always?) an empty string (cf. C4::Biblio::GetMarcStructure : $res->{$tag}->{tab} = ""), and in Koha::Util::MARC::createMergeHash it is compared numerically with 0. Test plan: ========== 1. From biblio search result page, selact two records with the checkboxes and start a merge (Edit -> Merge records). Proceed with merging. After the merge, controll the content of the plack-intranet-error.log (when using plack -- standard in ktd). Note the lines: [WARN] Argument "" isn't numeric in numeric ge (>=) at /kohadevbox/koha/Koha/Util/MARC.pm line 81. 2. Apply the patch; restart_all. 3. Repeat p. 1. There should be no fresh warnings. Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Pushed for 24.11! Well done everyone, thank you!
Backported to 24.05.x for upcomin 24.05.06