Feature Wiki
Tabs
Supporting MySQL STRICT MODE
1 Requirements
ILIAS does not support MySQL strict mode until now. There are open issues, e.g. Silent Truncation by MySQL <= 5.5, Problem handling
Issue:
At least in the case of import/export (and probably in a lot of other code parts) the content of il_meta_description.description is used to also fill object_data.description.
This crashes if MySQL is in STRICT_MODE (as default starting from MySQL 5.6 and also Galera). Today ILIAS assumes that mysql silenty truncates the content of object_data.description to 128 characters.
Steps to Reproduce:
Reproducible with MySQL in sql_mode=STRICT (default for MySQL > 5.5)
Additional Information:
This bug needs to be adressed for galera compability and also for compability to MySQL 5.6 and higher. Truncation should be done in PHP before UPDATE/INSERT of object_data.description.
It would be great if ILIAS supports the MySQL STRICT_MODE in future releases.
2 Additional Information
- Idea / concept: Ralf Schenk ( rs [at] databay [dot] de )
- Interest in funding: (please indicate if you are interested/able to fund this feature)
- Maintainer: (will be set by Jour Fixe / maintainer)
- Implementation of the feature is done by (will be set by Jour Fixe / maintainer)
- Testcases by: (please add your name if you want to create the testcases for this feature)
3 Discussion
JourFixe, ILIAS [jourfixe], Feb 29, 2016: The requirement is appreciated but we cannot offer a general support of strict mode. We will try to throw exceptions in DevMode when truncation happens. We will try to enhance the form validation in each case if possible or change the database scheme.
Schmid, Fabian [fschmid], April 22, 2022: This has already been introduced in the context of PHP8/ILIAS8 refactoring.
Test Cases
4 Implementation
{please give a description of the final implementation and add screenshots if possible}
Test Cases
- {Test case number linked to Testrail} : {test case title}
Approval
Approved at {date} by {user}.
Last edited: 22. Apr 2022, 16:28, Schmid, Fabian [fschmid]