| Summary: | Tables item_groups and recalls have a biblio_id column with a default of 0 | ||
|---|---|---|---|
| Product: | Koha | Reporter: | Kyle M Hall (khall) <kyle> | 
| Component: | Architecture, internals, and plumbing | Assignee: | Kyle M Hall (khall) <kyle> | 
| Status: | CLOSED FIXED | QA Contact: | Aleisha Amohia <aleisha> | 
| Severity: | minor | ||
| Priority: | P5 - low | CC: | aleisha, lucas, tomascohen | 
| Version: | Main | ||
| Hardware: | All | ||
| OS: | All | ||
| GIT URL: | Initiative type: | --- | |
| Sponsorship status: | --- | Crowdfunding goal: | 0 | 
| Patch complexity: | --- | Documentation contact: | |
| Documentation submission: | Text to go in the release notes: | ||
| Version(s) released in: | 23.05.00,22.11.06 | Circulation function: | |
| Attachments: | Bug 33053: Remove default value for tables item_groups and recalls Bug 33053: Remove default value for tables item_groups and recalls Bug 33053: Remove default value for tables item_groups and recalls Bug 33053: (QA follow-up) fix syntax error Bug 33053: Handle invalid biblio_id more robustly | ||
| 
        
          Description
        
        
          Kyle M Hall (khall)
        
        
        
        
          2023-02-23 13:29:01 UTC
        
       Created attachment 147232 [details] [review] Bug 33053: Remove default value for tables item_groups and recalls These default biblio_ids of 0 are harmless but incorrect. The default values should be removed. Test Plan: 1) Apply this patch 2) prove t/db_dependent/Koha/Biblio.t 3) prove t/db_dependent/Koha/Recalls.t Created attachment 149075 [details] [review] Bug 33053: Remove default value for tables item_groups and recalls These default biblio_ids of 0 are harmless but incorrect. The default values should be removed. Test Plan: 1) Apply this patch 2) prove t/db_dependent/Koha/Biblio.t 3) prove t/db_dependent/Koha/Recalls.t Signed-off-by: David Nind <david@davidnind.com> Created attachment 150355 [details] [review] Bug 33053: Remove default value for tables item_groups and recalls These default biblio_ids of 0 are harmless but incorrect. The default values should be removed. Test Plan: 1) Apply this patch 2) prove t/db_dependent/Koha/Biblio.t 3) prove t/db_dependent/Koha/Recalls.t Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com> Created attachment 150356 [details] [review] Bug 33053: (QA follow-up) fix syntax error Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com> Pushed to master for 23.05. Nice work everyone, thanks! This patchset highlighted an issue, see:
I commented like this:
$ git diff
diff --git a/t/db_dependent/api/v1/item_groups.t b/t/db_dependent/api/v1/item_groups.t
index 3506eae582d..8a823d121ec 100755
--- a/t/db_dependent/api/v1/item_groups.t
+++ b/t/db_dependent/api/v1/item_groups.t
@@ -112,11 +112,11 @@ subtest 'add() tests' => sub {
 
     # Invalid biblio id
     {   # hide useless warnings
-        local *STDERR;
-        open STDERR, '>', '/dev/null';
+        #local *STDERR;
+        #open STDERR, '>', '/dev/null';
         $t->post_ok( "//$auth_userid:$password@/api/v1/biblios/XXX/item_groups" => json => $item_group )
             ->status_is( 404 );
-        close STDERR;
+        #close STDERR;
     }
 
     $schema->storage->txn_rollback;
And then:
$ prove t/db_dependent/api/v1/item_groups.t
t/db_dependent/api/v1/item_groups.t .. 1/5 DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed: Column 'biblio_id' cannot be null at /kohadevbox/koha/Koha/Object.pm line 170
    #   Failed test '404 Not Found'
    #   at t/db_dependent/api/v1/item_groups.t line 117.
    #          got: '500'
    #     expected: '404'
    # Looks like you failed 1 test of 6.
#   Failed test 'add() tests'
#   at t/db_dependent/api/v1/item_groups.t line 123.
Please provide a fix!Created attachment 151094 [details] [review] Bug 33053: Handle invalid biblio_id more robustly This patch addresses the fact the invalid FK error might differ under some circumstances. We could try to catch the exception adding another case, but I think this pattern is cleaner and the authors didn't provide a fix. We can discuss it later, as this controller class has several things to review. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Many hands makes light work, thankyou everyone! Pushed to 22.11.x for the next release Patchset won't apply cleanly to 22.05.x, no backport. |