A fost publicat release-ul SGBD MariaDB 12.2.2, care este marcat ca prima versiune stabilă a ramurii 12.2. Ramura MariaDB 12.2 este clasificată ca o publicație intermediară (rolling), continuând dezvoltarea treptată a funcționalității și înlocuind ramura MariaDB 12.1. În același timp, a fost publicat release-ul MariaDB 12.3.1 cu o nouă implementare a binlog-ului, având statut de candidată pentru viitoarea ramură LTS. Ramura MariaDB 12.2 va fi susținută până la formarea release-ului 12.3.2.
Proiectul MariaDB dezvoltă o ramură derivată din MySQL, care păstrează compatibilitatea înapoi și se distinge prin integrarea de motoare de stocare suplimentare și funcționalități avansate. Dezvoltarea MariaDB este supervizată de organizația independentă MariaDB Foundation conform unui proces de dezvoltare deschis și transparent, care nu depinde de anumiți furnizori. MariaDB este livrată în locul MySQL în multe distribuții Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) și este implementată în proiecte mari precum Wikipedia, Google Cloud SQL și Nimbuzz.
Printre modificările din ramura MariaDB 12.2:
- În modul de compatibilitate cu SGBD Oracle, au fost implementate funcțiile TO_NUMBER (transformarea unui șir într-un număr) și TRUNC (trunchierea datei, de exemplu, până la oră, zi, lună, an).
- Atunci când se efectuează operațiuni de îmbinare a tabelurilor (JOIN), a fost implementată o optimizare care ia în considerare unicitatea rândurilor în subinterogările cu expresia «GROUP BY» pentru o prognoză mai precisă a numărului de rânduri rezultate (out_rows) și aplicarea corectă a indicilor.
- Au fost adăugate opțiuni noi de gestionare a optimizatorului ROWID_FILTER/NO_ROWID_FILTER și INDEX_MERGE/NO_INDEX_MERGE, precum și posibilitatea de a specifica implicit numele blocurilor în interogări (se pot aplica puncte de optimizare părților interogărilor, referindu-se la ele prin numele „select#N”, unde N este numărul de ordine al blocului). De exemplu: „select /*+ JOIN_ORDER(@"select#2" twenty,ten) */ ….”.
- Limitele asupra nivelului de imbricare a structurilor în funcțiile de lucru cu JSON au fost ridicate (limitarea JSON_DEPTH_LIMIT care anterior lua valoarea 32 a fost eliminată).
- A fost adăugată tabela TRIGGERED_UPDATE_COLUMNS în schema INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), arătând coloanele care sunt modificate atunci când trigger-ul este activat.
- În tabela PARAMETERS din schema INFORMATION_SCHEMA a fost implementată coloana PARAMETER_DEFAULT, care conține valorile implicite ale parametrilor procedurilor stocate.
- A fost implementat suport experimental pentru expresia „CREATE GLOBAL TEMPORARY TABLE” pentru crearea de tabele temporare globale. Aceste tabele temporare sunt șterse după finalizarea sesiunii și sunt vizibile tuturor utilizatorilor, dar conțin date specifice fiecărui utilizator.
- În mod experimental, a fost propus un suport îmbunătățit pentru replicarea între tabele cu structuri diferite.
Sursa: opennet.ro
