Bug 29255

Summary: Built-in offline circulation broken with SQL error
Product: Koha Reporter: Owen Leonard <oleonard>
Component: CirculationAssignee: Owen Leonard <oleonard>
Status: RESOLVED FIXED QA Contact: Joonas Kylmälä <joonas.kylmala>
Severity: major    
Priority: P5 - low CC: dcook, fridolin.somers, gmcharlt, joonas.kylmala, kyle.m.hall, kyle, martin.renvoize, victor, wainuiwitikapark
Version: master   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=22671
Change sponsored?: --- Patch complexity: Trivial patch
Text to go in the release notes:
Version(s) released in:
21.11.00,21.05.05,20.11.12,20.05.18
Bug Depends on:    
Bug Blocks: 29228, 29371, 22671    
Attachments: Bug 29255: Built-in offline circulation broken with SQL error
Bug 29255: Built-in offline circulation broken with SQL error
Bug 29255: Built-in offline circulation broken with SQL error

Description Owen Leonard 2021-10-15 18:26:05 UTC
Testing the built-in offline circulation system in a browser which still supports applicationCache, I ran into this error:

DBD::mysql::st execute failed: Column 'branchcode' in field list is ambiguous at /kohadevbox/koha/offline_circ/download.pl line 84
Comment 1 Owen Leonard 2021-10-15 18:35:57 UTC
Created attachment 126373 [details] [review]
Bug 29255: Built-in offline circulation broken with SQL error

This patch makes a minor correction to one of the queries used when
synchronizing transactions in the built-in offline circulation system.
This fixes the error:

DBD::mysql::st execute failed: Column 'branchcode' in field list is
ambiguous at /kohadevbox/koha/offline_circ/download.pl line 84

To test you must be using a browser which still supports
applicationCache (Firefox before version 81, Chrome before version 94).

- Apply the patch and restart services.
- Enable the AllowOfflineCirculation system preference.
- Go to Circulation -> Built-in offline circulation interface.
- Click "Synchronize."
- Click the "Download records" button.
- After the page refreshes you should see updated dates where it lists
  "last synced" information.
Comment 2 Owen Leonard 2021-10-18 12:42:52 UTC
It wasn't until I tested this in a new instance of KTD that this ALSO suffers from SQL errors if SQL strict mode is on, so please test with strict mode off.
Comment 3 Owen Leonard 2021-10-29 11:27:04 UTC
The strict mode problem is now described in Bug 29371.
Comment 4 Martin Renvoize 2021-11-01 16:34:56 UTC
Created attachment 127179 [details] [review]
Bug 29255: Built-in offline circulation broken with SQL error

This patch makes a minor correction to one of the queries used when
synchronizing transactions in the built-in offline circulation system.
This fixes the error:

DBD::mysql::st execute failed: Column 'branchcode' in field list is
ambiguous at /kohadevbox/koha/offline_circ/download.pl line 84

To test you must be using a browser which still supports
applicationCache (Firefox before version 81, Chrome before version 94).

- Apply the patch and restart services.
- Enable the AllowOfflineCirculation system preference.
- Go to Circulation -> Built-in offline circulation interface.
- Click "Synchronize."
- Click the "Download records" button.
- After the page refreshes you should see updated dates where it lists
  "last synced" information.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 5 Joonas Kylmälä 2021-11-13 13:35:52 UTC
Created attachment 127607 [details] [review]
Bug 29255: Built-in offline circulation broken with SQL error

This patch makes a minor correction to one of the queries used when
synchronizing transactions in the built-in offline circulation system.
This fixes the error:

DBD::mysql::st execute failed: Column 'branchcode' in field list is
ambiguous at /kohadevbox/koha/offline_circ/download.pl line 84

To test you must be using a browser which still supports
applicationCache (Firefox before version 81, Chrome before version 94).

- Apply the patch and restart services.
- Enable the AllowOfflineCirculation system preference.
- Go to Circulation -> Built-in offline circulation interface.
- Click "Synchronize."
- Click the "Download records" button.
- After the page refreshes you should see updated dates where it lists
  "last synced" information.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Comment 6 Jonathan Druart 2021-11-15 11:39:51 UTC
Pushed to master for 21.11, thanks to everybody involved!
Comment 7 Kyle M Hall 2021-11-19 15:51:12 UTC
Pushed to 21.05.x for 21.05.05
Comment 8 Fridolin Somers 2021-11-20 00:00:53 UTC
Pushed to 20.11.x for 20.11.12
Comment 9 Victor Grousset/tuxayo 2021-11-21 21:48:17 UTC
Backported: Pushed to 20.05.x branch for 20.05.18
Comment 10 wainuiwitikapark 2021-11-23 00:27:02 UTC
Not backporting to 19.11.x - LTS version will just backport security patches