È stata pubblicata la nuova versione del DBMS MariaDB 12.0.2, che rappresenta il primo rilascio stabile della serie 12.0. La serie MariaDB 12.0 è stata classificata come rilasci interni (rolling), continua a svilupparsi gradualmente e sostituisce la serie MariaDB 11.8. Contemporaneamente, è stato rilasciato MariaDB 12.1.1, che ha lo status di candidato al rilascio. La serie MariaDB 12.0 sarà supportata fino al rilascio della versione 12.1.2.
Il progetto MariaDB si sviluppa come un fork di MySQL, mantenendo la retrocompatibilità e caratterizzandosi per l'integrazione di motori di archiviazione aggiuntivi e funzionalità avanzate. Lo sviluppo di MariaDB è supervisionato da un'organizzazione indipendente, la MariaDB Foundation, secondo un processo di sviluppo aperto e trasparente, non dipendente da singoli fornitori. MariaDB è fornito al posto di MySQL in molte distribuzioni di Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ed è implementato in grandi progetti come Wikipedia, Google Cloud SQL e Nimbuzz.
Tra le novità della serie MariaDB 12.0:
- È stata aggiunta la supporto per chiavi SSL protette da password. La password per sbloccare certificati SSL può essere specificata tramite la variabile ssl_passphrase oppure manualmente all'avvio del server.
- È stata aggiunta l'espressione «SET SESSION AUTHORIZATION» per eseguire azioni come un altro utente, previa concessione delle relative autorizzazioni (l'espressione può essere considerata analoga a «sudo» per i DBMS).
- Nel plugin file_key_management.so è stata aggiunta la supporto per gli hash SHA-2.
- È stata aggiunta la supporto per le variabili cursore deboli (weak cursor variable) di tipo predefinito SYS_REFCURSOR, che permettono di restituire un cursore da procedure memorizzate (nel parametro OUT) o da funzioni (nell'espressione RETURN). Per limitare il numero massimo di cursori aperti contemporaneamente, è stata aggiunta la variabile di sistema «max_open_cursors».
- Nel tipo TO_CHAR è stata aggiunta la supporto per il formato FM (Fill Mode) per escludere il riempimento aggiuntivo. Ad esempio, la query "SELECT CONCAT(‘/’, TO_CHAR(‘2020-01-06 10:11:12’, ‘FMDAY’), ‘/’);" restituirà "/Monday/" invece di "/Monday /".
- Nell'utilità mariadb-check e nell'espressione CHECK TABLE è stata aggiunta la supporto per le tabelle del motore SEQUENCE.
- Nell'ottimizzatore è stata aggiunta la supporto per le opzioni (hint) che influenzano la costruzione del piano di ottimizzazione: 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 e MAX_EXECUTION_TIME. Le opzioni vengono inserite nella query in un formato compatibile con MySQL, ad esempio: SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE …; SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE …;
- Aggiunta la supporto per nuove funzioni GIS (Geographic Information System): ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
- Aggiunto il supporto per i trigger che si attivano per più eventi. Nell'espressione CREATE TRIGGER ora è possibile elencare gli eventi a cui si applica, utilizzando la sintassi '{ event [ OR … ] }'.
- Il plugin Audit ha implementato la registrazione nei log di audit delle informazioni sulle porte di rete per le connessioni in entrata (in precedenza veniva registrato solo l'host).
- Nell'utilità mariadb è stata aggiunta l'opzione «—script-dir» per specificare una directory alternativa per la ricerca degli script eseguiti con il comando SOURCE.
- Rimosse le variabili big_tables, large_page_size e storage_engine, precedentemente dichiarate obsoleti.
Fonte: opennet.ru
