Project

General

Profile

Actions

Bug #97498

open

MariaDB + enum field generates endless DB comparison loop due to wrong/twice string escaping of default value

Added by Stefan P about 2 years ago. Updated almost 2 years ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Database API (Doctrine DBAL)
Target version:
-
Start date:
2022-04-28
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
10
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

We have an enum field like this:

enum_field enum ('A', 'B', 'C') default 'A' not null

We switched from MySQL to MariaDB. On MySQL this made no problems in the DB comparison in the Install Tool, but on MariaDB the DB comparison always trys to alter it, because it detects the field as this (note the triple-quoting on the default value):

enum_field enum ('A', 'B', 'C') default '''A''' not null

Additional info: this does also happen if declaring the field as nullable and using default null - TYPO3 then detects default 'null' (the string "null", not the literal null value)!

It happens with both drivers, mysqliq and pdo_mysql. On MySQL it works with both drivers, on MariaDB this change is alwas suggested with both drivers.

I'm not sure whether this is a Doctrine DBAL or a TYPO3 bug.

Discovered on v10, probably valid in others, too (v11 uses teh same DBAL version, so I assume it's still in there).

Actions #1

Updated by Stefan P about 2 years ago

  • Description updated (diff)
Actions #2

Updated by Stefan P about 2 years ago

  • Description updated (diff)
Actions #3

Updated by Stefan P about 2 years ago

  • Description updated (diff)
Actions #4

Updated by Stefan P almost 2 years ago

  • Subject changed from MariaDB + enum field genrates endless DB comparison loop due to wrong/twice string escaping of default value to MariaDB + enum field generates endless DB comparison loop due to wrong/twice string escaping of default value
Actions

Also available in: Atom PDF