Bug 33183 - Error inserting matchpoint_components when creating record matching rules with MariaDB 10.6
Summary: Error inserting matchpoint_components when creating record matching rules wit...
Status: RESOLVED FIXED
Alias: None
Product: Koha
Classification: Unclassified
Component: Architecture, internals, and plumbing (show other bugs)
Version: Main
Hardware: All All
: P5 - low critical
Assignee: Kyle M Hall (khall)
QA Contact: Martin Renvoize (ashimema)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-09 16:28 UTC by Kyle M Hall (khall)
Modified: 2023-12-28 20:44 UTC (History)
5 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
23.05.00,22.11.04,22.05.12,21.11.20
Circulation function:


Attachments
Bug 33183: Error inserting matchpoint_components when creating record matching rules with MariaDB 10.6 (1.70 KB, patch)
2023-03-09 16:47 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 33183: Error inserting matchpoint_components when creating record matching rules with MariaDB 10.6 (1.75 KB, patch)
2023-03-09 18:47 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 33183: Error inserting matchpoint_components when creating record matching rules with MariaDB 10.6 (1.82 KB, patch)
2023-03-15 15:54 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Kyle M Hall (khall) 2023-03-09 16:28:37 UTC
The word "offset" is now a keyword. At the very least we need to escape the fieldname with backticks. It would be nice to switch to Koha::Objects for this module eventually.

C4::Matcher::_store_matchpoint(): DBI Exception: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'offset, length) VALUES ('27', '1', '999'...' at line 2 at /usr/share/koha/lib/C4/Matcher.pm line 314
Comment 1 Kyle M Hall (khall) 2023-03-09 16:47:42 UTC
Created attachment 148017 [details] [review]
Bug 33183: Error inserting matchpoint_components when creating record matching rules with MariaDB 10.6

The word "offset" is now a keyword. At the very least we need to escape the fieldname with backticks. It would be nice to switch to Koha::Objects for this module eventually.

C4::Matcher::_store_matchpoint(): DBI Exception: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'offset, length) VALUES ('27', '1', '999'...' at line 2 at /usr/share/koha/lib/C4/Matcher.pm line 314

Test Plan:
1) Set up Koha with MariaDB 10.6
2) Attempt to create a matching rule
3) Note the error screen
4) Apply this patch
5) Restart all the things!
6) Attempt to create another matching rule
7) No errors this time
Comment 2 Katrin Fischer 2023-03-09 18:47:12 UTC
Created attachment 148025 [details] [review]
Bug 33183: Error inserting matchpoint_components when creating record matching rules with MariaDB 10.6

The word "offset" is now a keyword. At the very least we need to escape the fieldname with backticks. It would be nice to switch to Koha::Objects for this module eventually.

C4::Matcher::_store_matchpoint(): DBI Exception: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'offset, length) VALUES ('27', '1', '999'...' at line 2 at /usr/share/koha/lib/C4/Matcher.pm line 314

Test Plan:
1) Set up Koha with MariaDB 10.6
2) Attempt to create a matching rule
3) Note the error screen
4) Apply this patch
5) Restart all the things!
6) Attempt to create another matching rule
7) No errors this time

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 3 Katrin Fischer 2023-03-09 18:47:48 UTC
I couldn't test with this specific DBMS version, but I did a regression test and the code looks good.
Comment 4 Katrin Fischer 2023-03-09 18:49:07 UTC
Tested with:
mariadb  Ver 15.1 Distrib 10.5.18-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

I also verified we have backticks in kohastructure.sql.
Comment 5 Martin Renvoize (ashimema) 2023-03-15 15:54:15 UTC
Created attachment 148222 [details] [review]
Bug 33183: Error inserting matchpoint_components when creating record matching rules with MariaDB 10.6

The word "offset" is now a keyword. At the very least we need to escape the fieldname with backticks.
It would be nice to switch to Koha::Objects for this module eventually.

C4::Matcher::_store_matchpoint(): DBI Exception: DBD::mysql::st execute failed: You have an error in
your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax
to use near 'offset, length) VALUES ('27', '1', '999'...' at line 2 at /usr/share/koha/lib/C4/Matcher.pm
line 314

Test Plan:
1) Set up Koha with MariaDB 10.6
2) Attempt to create a matching rule
3) Note the error screen
4) Apply this patch
5) Restart all the things!
6) Attempt to create another matching rule
7) No errors this time

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 6 Tomás Cohen Arazi (tcohen) 2023-03-16 19:31:47 UTC
Pushed to master for 23.05.

Nice work everyone, thanks!
Comment 7 Matt Blenkinsop 2023-03-17 17:03:03 UTC
Nice work everyone!

Pushed to stable for 22.11.x
Comment 8 Lucas Gass (lukeg) 2023-04-14 18:33:03 UTC
Backported to 22.05.x for upcoming 22.05.12
Comment 9 Arthur Suzuki 2023-04-20 09:18:38 UTC
applied to 21.11.x for 21.11.20
Comment 10 Wainui Witika-Park 2023-04-27 05:59:48 UTC
Not backported to 21.05.x