DatabasePackageInstallationPlugin hat Probleme mit bestimmtem defaultValue

  • Affected Version
    WoltLab Suite 5.4

    Nutzt man folgende PHP-Datei führt das zu einer Installation, die nie endet (99%) und in 1 Minute ca. 600 AJAX-Requests ausführt.

    Das Problem scheint am Default-Wert {} zu liegen. Entferne ich diesen, funktioniert die Installation.


    Der Installationslog wiederholt sich immer wieder mit folgenden Zeilen:


    • Official Post

    Hallo,


    Spalten vom Typ TEXT und BLOB können keinen Default-Wert haben, entsprechend kann das nicht funktionieren. Im Idealfall wird das aber bei der Felddefinition direkt abgefangen und abgelehnt.

    • Official Post

    Soweit ich das erkennen kann, ist es etwas komplizierter. Sowohl MySQL 8.0.13+ als auch MariaDB 10.2.1+ unterstützen einen Default-Wert in Form einer Expression. In der MySQL-Dokumentation ist das auch ausführlicher erklärt:

    The BLOB, TEXT, GEOMETRY, and JSON data types can be assigned a default value only if the value is written as an expression, even if the expression value is a literal:

    • This is permitted (literal default specified as expression):
      CREATE TABLE t2 (b BLOB DEFAULT ('abc'));
    • This produces an error (literal default not specified as expression):
      CREATE TABLE t2 (b BLOB DEFAULT 'abc');

    Diese Syntax wird so aber nicht vom Parser unterstützt, auch weil wir noch ältere MySQL-Versionen unterstützen, die dieses Verhalten nicht unterstützen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!