Oracle har skapat en ny gren av databashanteringssystemet MySQL 9.2.0. Byggversionerna av MySQL Community Server 9.2.0 Ă€r förberedda för alla större distributioner av Linux, FreeBSD, macOS och Windows. Inom ramen för den nya releasede modellen som infördes 2023, klassificeras MySQL 9.2 som en "Innovation"-gren, vilket Ă€ven kommer att gĂ€lla för nĂ€sta stora release, MySQL 9.3. Innovation-grenar rekommenderas för dem som vill ha tidig tillgĂ„ng till ny funktionalitet, publiceras var tredje mĂ„nad och stöds endast fram till publiceringen av nĂ€sta stora release (till exempel, efter att grenen 9.2 har lanserats, avslutas stödet för grenen 9.1). Under sommaren planeras en LTS-release som rekommenderas för implementationer som krĂ€ver förutsĂ€gbarhet och lĂ„ngsiktig bevarande av oförĂ€ndrat beteende. Efter LTS-grenen kommer en ny Innovation-gren att bildas â MySQL 10.0.
Huvudsakliga förÀndringar i MySQL 9.2:
- Till MLE-motorn (Multilingual Engine Component), som möjliggör anvÀndning av kod pÄ sprÄk som skiljer sig frÄn SQL i lagrade procedurer och funktioner, har stöd för ÄteranvÀndbara bibliotek pÄ JavaScript-lÀget lagts till. Funktioner frÄn sÄdana bibliotek kan anropas frÄn lagrade procedurer pÄ JavaScript, men mÄste anges som importerade med nyckelordet "export". För att hantera anslutningen av JavaScript-bibliotek har nya SQL-uttryck "CREATE LIBRARY" och "DROP LIBRARY" lagts till. För att visa en lista över tillgÀngliga JavaScript-bibliotek har uttrycket "SHOW CREATE LIBRARY" lagts till. Information om JavaScript-bibliotek visas i systemtabellen "LIBRARIES", och om lagrade procedurer som anvÀnder sÄdana bibliotek, i tabellen "ROUTINE_LIBRARIES". Anslutning av bibliotek i en lagrad procedur görs genom att ange en lista över bibliotek i uttrycket "USING".
- Ett API har lagts till för Ă„tkomst till lagrade procedurer, funktioner och sessionsvariabler frĂ„n JavaScript-kod. För att anropa MySQL-funktioner har metoden getFunction() lagts till, och för lagrade procedurer â metoden getProcedure(), som returnerar ett JavaScript-objekt Function, vilket kan köras med argument. Ă tkomst till variabler görs direkt som egenskaper av JavaScript-objektet Session. Dessutom har möjlighet till direkt Ă„tkomst till de inbyggda funktionerna rand(), sleep(), uuid() och isUUID() lagts till, vilka motsvarar de SQL-funktioner med samma namn.
- Ett API för transaktionshantering har lagts till i JavaScript, vilket möjliggör utförande av de flesta SQL-uttryck relaterade till transaktioner, sÄsom "START TRANSACTION", "COMMIT", "ROLLBACK" och "SET AUTOCOMMIT".
- Möjligheten att anvÀnda MySQL-typerna ENUM och SET som argument i lagrade procedurer skrivna i JavaScript har lagts till.
- Behörigheten CREATE_SPATIAL_REFERENCE_SYSTEM har införts, vilket gör det möjligt att hantera skapandet och borttagning av spatiala referenssystemdefinitioner inom geografiska informationssystem. Denna behörighet, eller behörigheten SUPER, krÀvs nu för att utföra uttrycken "CREATE SPATIAL REFERENCE SYSTEM", "CREATE OR REPLACE SPATIAL REFERENCE SYSTEM" och "DROP SPATIAL REFERENCE SYSTEM".
- Information om JSON-formatversionen har lagts till i utskriften av "EXPLAIN FORMAT=JSON". För att stÀlla in versionen av JSON-formatet ska variabeln explain_json_format_version anvÀndas ("SET explain_json_format_version=1|2").
- Följande har förklarats som avvecklade: uttrycket "FLUSH PRIVILEGES", kommandona "mysqladmin flush-privileges" och "mysqladmin reload", samt pluginet "version_tokens".
- Stödet för nyckelordet BINLOG har avbrutits.
- 32 sÄrbarheter har ÄtgÀrdats, varav 3 kan utnyttjas pÄ distans. De tvÄ mest kritiska problemen har en allvarlighetsgrad pÄ 9.1 och relaterar till sÄrbarheter i Kerberos- och Curl-komponenterna. Mindre allvarliga sÄrbarheter pÄverkar InnoDB, Thread Pooling, DDL, optimeraren, parsern och autentiseringssystemet.
KĂ€lla: opennet.ru
