recursive is a reserved keyword in MariaDB 10.2. Causes errors in queries for tt_content...
I have stumbled upon strange errors after upgrading MariaDB to 10.2.6 (stable). Errors where in queries for tt_content table, always when the query contains "recursive" column. I have filed a bug report and got an answer that recursive is a reserved keyword and needs to be in backticks to work properly:
I don't know if it works the same in 8LTS. I am using 7.6LTS
[BUGFIX] Detect upper limit of database server version
Reviewed-by: Johannes Kasberger <email@example.com>
Tested-by: Johannes Kasberger <firstname.lastname@example.org>
Tested-by: TYPO3com <email@example.com>
Reviewed-by: Alexander Opitz <firstname.lastname@example.org>
Tested-by: Alexander Opitz <email@example.com>
#1 Updated by Morton Jonuschat about 1 year ago
- Category set to Database API (Doctrine DBAL)
- Status changed from New to Rejected
- Assignee set to Morton Jonuschat
- Priority changed from Must have to Could have
This should be fixed on TYPO3 v8 as we replaced the whole database abstraction layer which gave us such things as quoting field names in all queries.
TYPO3 7LTS is now in priority bugfix mode and while we strive to support alternative MySQL implementations like MariaDB or Percona the fact remains that MariaDB 10.2 is feature-wise closer to MySQL 8.0 than to 5.7 (MySQL 8.0 like MariaDB 10.2 gained recursive common table expressions where the new protected keyword comes from).
Given that MySQL 8.0 is not a supported database platform either and that fixing this on TYPO3 7LTS is almost impossible with the existing database architecture in 7LTS classifying this as a must-fix breakage is not warranted.
Feel free to reopen this issue or create a new one if you see the same problems with MariaDB 10.2 or MySQL 8.0 on TYPO 8LTS - we have a much higher chance of fixing it there due to the modernized database layer.
#5 Updated by Markus Klein about 1 year ago
- Status changed from Rejected to New
Affected users: Mac with mariadb from homebrew
Possible (dirty) fix in v7:
run through the fields to insert/update in TYPO3_DB and quote them (or just the recursive word).
General thing. The core must validate the DB server version it talks to. If MariaDB 10.2 is like MySQL 8 it has to complain.