Opublikowano wersję bazy danych MariaDB 12.0.2, która jest oznaczona jako pierwszy stabilny release gałęzi 12.0. Gałąź MariaDB 12.0 jest uważana za wersję pośrednią (rolling), kontynuuje stopniowe rozwijanie funkcjonalności i zastępuje gałąź MariaDB 11.8. Jednocześnie opublikowano wersję MariaDB 12.1.1, która ma status kandydata na release. Gałąź MariaDB 12.0 będzie wspierana do momentu wydania wersji 12.1.2.
Projekt MariaDB rozwija fork MySQL, zachowując zgodność wsteczną i różniąc się integracją dodatkowych silników przechowywania oraz rozszerzonymi możliwościami. Rozwój MariaDB nadzoruje niezależna organizacja MariaDB Foundation w ramach otwartego i przejrzystego procesu rozwoju, niezależnego od konkretnych producentów. MariaDB jest dostarczana zamiast MySQL w wielu dystrybucjach Linuxa (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) i wdrożona w takich dużych projektach jak Wikipedia, Google Cloud SQL i Nimbuzz.
Wśród zmian w gałęzi MariaDB 12.0:
- Dodano wsparcie dla kluczy SSL zabezpieczonych hasłem. Hasło do odblokowania certyfikatów SSL może być zadane przez zmienną ssl_passphrase lub ręcznie podczas uruchamiania serwera.
- Dodano wyrażenie «SET SESSION AUTHORIZATION» do wykonania operacji w imieniu innego użytkownika przy przyznaniu odpowiednich uprawnień (wyrażenie to można uznać za odpowiednik «sudo» dla baz danych).
- Wtyczka file_key_management.so zyskała wsparcie dla hashy SHA-2.
- Dodano wsparcie dla słabych zmiennych kursorowych (weak cursor variable) typu SYS_REFCURSOR, umożliwiających zwracanie kursora z procedur składowanych (w parametrze OUT) lub z funkcji (w wyrażeniu RETURN). W celu ograniczenia maksymalnej liczby równocześnie otwartych kursorów dodano zmienną systemową «max_open_cursors».
- Do typu TO_CHAR dodano wsparcie formatu FM (Fill Mode) w celu wyłączenia dodatkowego wypełnienia. Na przykład zapytanie «SELECT CONCAT(‘/’, TO_CHAR(‘2020-01-06 10:11:12’, ‘FMDAY’), ‘/’);» zwróci «/Monday/» zamiast «/Monday /».
- Do narzędzia mariadb-check i wyrażenia CHECK TABLE dodano wsparcie dla tabel z silnika SEQUENCE.
- Do optymalizatora dodano wsparcie opcji (hint), wpływających na budowę planu optymalizacji: 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 oraz MAX_EXECUTION_TIME. Opcje wprowadzane są w zapytaniach w formacie zgodnym z MySQL, na przykład: SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE …; SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE …;
- Dodano wsparcie dla nowych funkcji GIS (Geographic Information System): ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
- Dodano wsparcie dla triggerów, które uruchamiają się przy wielu zdarzeniach. W wyrażeniu CREATE TRIGGER można teraz wymieniać zdarzenia, których dotyczy, używając składni «{ event [ OR … ] }».
- W wtyczce Audit zaimplementowano zapisywanie w logu audytu informacji o portach sieciowych dla połączeń przychodzących (wcześniej rejestrowano tylko hosta).
- Do narzędzia mariadb dodano opcję „—script-dir” do określenia alternatywnego katalogu wyszukiwania skryptów uruchamianych poleceniem SOURCE.
- Usunięto zmienne big_tables, large_page_size i storage_engine, które wcześniej były ogłoszone jako przestarzałe.
Źródło: opennet.ru
