Die Veröffentlichung von MariaDB 12.0.2 ist jetzt verfügbar, die als erster stabiler Release der 12.0-Branch gilt. Die MariaDB 12.0-Branch wird als Zwischenrelease (rolling) betrachtet und setzt die schrittweise Entwicklung der Funktionalitäten fort, nachdem sie die 11.8-Branch abgelöst hat. Gleichzeitig wurde die Version MariaDB 12.1.1 veröffentlicht, die den Status eines Release-Kandidaten hat. Die MariaDB 12.0-Branch wird bis zur Veröffentlichung von 12.1.2 unterstützt.
Das MariaDB-Projekt ist eine Abspaltung von MySQL, die die Abwärtskompatibilität beibehält und sich durch die Integration zusätzlicher Speicher-Engines und erweiterte Funktionen auszeichnet. Die Entwicklung von MariaDB wird von der unabhängigen Organisation MariaDB Foundation geleitet, die einen offenen und transparenten Entwicklungsprozess pflegt und nicht von einzelnen Anbietern abhängig ist. MariaDB wird in vielen Linux-Distributionen (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) anstelle von MySQL bereitgestellt und ist in großen Projekten wie Wikipedia, Google Cloud SQL und Nimbuzz implementiert.
Zu den Änderungen in der MariaDB 12.0-Branch zählen:
- Die Unterstützung von passwortgeschützten SSL-Schlüsseln wurde hinzugefügt. Das Passwort zur Entsperrung SSL-Zertifikate kann entweder über die Variable ssl_passphrase oder manuell beim Start des Servers angegeben werden.
- Der Befehl „SET SESSION AUTHORIZATION“ wurde hinzugefügt, um Aktionen unter einem anderen Benutzer auszuführen, sofern die entsprechenden Berechtigungen gewährt sind (dieser Befehl kann als Äquivalent zu „sudo“ für Datenbanken betrachtet werden).
- Im Plugin file_key_management.so wurde die Unterstützung für SHA-2-Hashing hinzugefügt.
- Die Unterstützung schwacher Cursorvariablen (weak cursor variable) des vordefinierten Typs SYS_REFCURSOR wurde hinzugefügt, die es ermöglichen, einen Cursor aus gespeicherten Prozeduren (im OUT-Parameter) oder aus Funktionen (in der RETURN-Anweisung) zurückzugeben. Um die maximale Anzahl gleichzeitig geöffneter Cursor zu begrenzen, wurde die systemweite Variable „max_open_cursors“ hinzugefügt.
- Der Typ TO_CHAR unterstützt nun das FM-Format (Fill Mode), um zusätzliches Padding auszuschließen. Zum Beispiel gibt die Abfrage „SELECT CONCAT(‘/’, TO_CHAR(‘2020-01-06 10:11:12’, ‘FMDAY’), ‘/’);” „/Montag/“ zurück statt „/Montag /“.
- Das Hilfsprogramm mariadb-check und der Ausdruck CHECK TABLE unterstützen jetzt Tabellen aus dem SEQUENCE-Engine.
- Der Optimierer unterstützt jetzt Optionen (hints), die den Optimierungsplan beeinflussen: QB_NAME, NO_RANGE_OPTIMIZATION, NO_ICP, MRR, NO_MRR, BKA, NO_BKA, BNL, NO_BNL, SEMIJOIN, SUBQUERY, JOIN_FIXED_ORDER, JOIN_ORDER, JOIN_PREFIX, JOIN_SUFFIX und MAX_EXECUTION_TIME. Optionen werden in einem für MySQL kompatiblen Format in die Abfragen eingefügt, zum Beispiel: SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE …; SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE …;
- Neue GIS-Funktionen (Geographic Information System) wurden hinzugefügt: ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
- Unterstützung für Trigger hinzugefügt, die für mehrere Ereignisse ausgelöst werden. Im Ausdruck CREATE TRIGGER können jetzt die relevanten Ereignisse unter Verwendung der Syntax „{ event [ OR … ] }“ aufgelistet werden.
- Im Audit-Plugin wurde die Protokollierung von Informationen zu den Netzwerkports für eingehende Verbindungen implementiert (zuvor wurde nur der Host protokolliert).
- Das Tool mariadb hat die Option „—script-dir“ hinzugefügt, um ein alternatives Verzeichnis für die Suche nach Skripten festzulegen, die durch den Befehl SOURCE ausgeführt werden.
- Die Variablen big_tables, large_page_size und storage_engine, die zuvor als veraltet deklariert wurden, wurden entfernt.
Quelle: opennet.ru
