Bug 40471

Summary: Long barcodes in "Add item" throw 500 error
Product: Koha Reporter: David Cook <dcook>
Component: CatalogingAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: minor    
Priority: P5 - low CC: m.de.rooy
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40508
GIT URL: Change sponsored?: ---
Patch complexity: --- Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
Circulation function:

Description David Cook 2025-07-23 00:55:52 UTC
If you try to enter a very long barcode for an item in the "Add item" screen, you'll get a 500 error and the following in the logs:

[WARN] DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed: Data too long for column 'barcode' at row 1 at /kohadevbox/koha/Koha/Object.pm line 174

It should be trivial for us to add length limit checks in the HTML and the Perl.
Comment 1 David Cook 2025-07-25 02:58:02 UTC
Owen commented on Mattermost about how the default framework should enforce a maxlength for 952$p, which led me to raise bug 40508 where I've added a patch that does that.

We could add a DB update here to set maxlength to 20 if kohafield = 'items.barcode".

--

Note: While maxlength does prevent new barcodes from being input that are greater than 20 characters, it doesn't prevent you from saving an item that already has a barcode that is longer than that.