| Summary: | Koha::Object->store warning on invalid ENUM value | ||
|---|---|---|---|
| Product: | Koha | Reporter: | Tomás Cohen Arazi (tcohen) <tomascohen> |
| Component: | Architecture, internals, and plumbing | Assignee: | Tomás Cohen Arazi (tcohen) <tomascohen> |
| Status: | RESOLVED FIXED | QA Contact: | Martin Renvoize (ashimema) <martin.renvoize> |
| Severity: | minor | ||
| Priority: | P5 - low | CC: | lucas, paul.derscheid, tomascohen |
| Version: | Main | ||
| Hardware: | All | ||
| OS: | All | ||
| GIT URL: | Initiative type: | --- | |
| Sponsorship status: | --- | Comma delimited list of Sponsors: | |
| Crowdfunding goal: | 0 | Patch complexity: | --- |
| Documentation contact: | Documentation submission: | ||
| Text to go in the release notes: | Version(s) released in: |
24.11.00
|
|
| Circulation function: | |||
| Bug Depends on: | 38175 | ||
| Bug Blocks: | |||
| Attachments: |
Bug 38342: Pass the value to exception to avoid warnings
Bug 38342: Pass the value to exception to avoid warnings Bug 38342: Pass the value to exception to avoid warnings |
||
|
Description
Tomás Cohen Arazi (tcohen)
2024-11-04 13:28:31 UTC
Created attachment 173919 [details] [review] Bug 38342: Pass the value to exception to avoid warnings This patch makes the exception on bad enum values in Koha::Object->store not print a warning in the event of stringifying the exception. To test: 1. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Booking.t => FAIL: You get this warnings: ``` Use of uninitialized value in sprintf at /kohadevbox/koha/Koha/Exceptions/Object.pm line 84. ``` 2. Apply this patch 3. Repeat 1 => SUCCESS: No more uninitialized values warnings 4. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> @ashimema: I have doubts about the handling you added for the 'property' value. Specifically:
```
property => $property =~ /(\w+\.\w+)$/
? $1
: $property, # results in table.column without quotes or backtics
```
Before that check you added for cleaning it up, there's a use of `$property` as-is for checking the column is of type ENUM. So I feel either my patch is correct, or we might miss some cases for enum types (i.e. the cleanup needs to happen for all uses of `$property`, not just the last one).
Created attachment 173978 [details] [review] Bug 38342: Pass the value to exception to avoid warnings This patch makes the exception on bad enum values in Koha::Object->store not print a warning in the event of stringifying the exception. To test: 1. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Booking.t => FAIL: You get this warnings: ``` Use of uninitialized value in sprintf at /kohadevbox/koha/Koha/Exceptions/Object.pm line 84. ``` 2. Apply this patch 3. Repeat 1 => SUCCESS: No more uninitialized values warnings 4. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> Created attachment 174089 [details] [review] Bug 38342: Pass the value to exception to avoid warnings This patch makes the exception on bad enum values in Koha::Object->store not print a warning in the event of stringifying the exception. To test: 1. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Booking.t => FAIL: You get this warnings: ``` Use of uninitialized value in sprintf at /kohadevbox/koha/Koha/Exceptions/Object.pm line 84. ``` 2. Apply this patch 3. Repeat 1 => SUCCESS: No more uninitialized values warnings 4. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Should we have a unit test here? Pushed for 24.11! Well done everyone, thank you! |