Објавена е MariaDB 12.0.2, што ја означува како прво стабилно издание на гранката 12.0. Гранката MariaDB 12.0 е класифицирана како ротирачко издание, продолжува со постепен развој на функционалноста и ја заменува гранката MariaDB 11.8. MariaDB 12.1.1, која има статус на кандидат за издание, е објавена во исто време. Гранката MariaDB 12.0 ќе биде поддржана сè додека не се формира изданието 12.1.2.
Проектот MariaDB развива вилушка од MySQL која одржува компатибилност наназад и содржи интеграција на дополнителни мотори за складирање и напредни способности. Развојот на MariaDB е надгледуван од независната Фондација MariaDB, следејќи отворен и транспарентен развојен процес кој е независен од поединечни продавачи. MariaDB е испорачана како замена за MySQL во многу дистрибуции на Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и е имплементирана во такви големи проекти како што се Wikipedia, Google Cloud SQL и Nimbuzz.
Промените во гранката MariaDB 12.0 вклучуваат:
- Додадена е поддршка за SSL клучеви заштитени со лозинка. Лозинка за отклучување SSL сертификати може да се постави преку променливата ssl_passphrase или рачно при стартување на серверот.
- Додаден е изразот „SET SESSION AUTHORIZATION“ за извршување на дејство под друг корисник при поставување на соодветните привилегии (изразот може да се смета за аналог на „sudo“ за DBMS).
- Додадена е поддршка за SHA-2 хешови на приклучокот file_key_management.so.
- Додадена е поддршка за слаби променливи на курсорот од претходно дефинираниот тип SYS_REFCURSOR, што овозможува враќање на курсорот од складирани процедури (во параметарот OUT) или од функции (во наредбата RETURN). Додадена е системската променлива „max_open_cursors“ за да се ограничи максималниот број на истовремено отворени курсори.
- Типот TO_CHAR сега го поддржува форматот FM (режим на пополнување) за да се избегне дополнително пополнување. На пример, барањето „SELECT CONCAT('/', TO_CHAR('2020-01-06 10:11:12', 'FMDAY'), '/');" ќе врати „/Понеделник/“ наместо „/Понеделник /“.
- Алатката mariadb-check и изразот CHECK TABLE се ажурирани за да поддржуваат табели од моторот SEQUENCE.
- Оптимизаторот сега поддржува опции (наговестувања) кои влијаат на конструкцијата на планот за оптимизација: 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 и MAX_EXECUTION_TIME. Опциите се заменуваат во барањето во формат компатибилен со MySQL, на пример: SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE …; SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE …;
- Додадена е поддршка за нови функции на ГИС (Географски информациски систем): ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
- Додадена е поддршка за тригери што се активираат при повеќе настани. Наредбата CREATE TRIGGER сега може да ги наведе настаните што се совпаѓаат со неа користејќи ја синтаксата „{ event [ OR … ] }“.
- Додатокот за ревизија сега зачувува информации за мрежните порти за дојдовните конекции во дневникот за ревизија (претходно се прикажуваше само домаќинот).
- Алатката mariadb има опција „--script-dir“ за да наведете алтернативен директориум за пребарување за скрипти извршени од командата SOURCE.
- Отстранети се претходно застарените променливи big_tables, large_page_size и storage_engine.
Извор: opennet.ru
