MySQL 9.2 – térinformatikai és MLE fejlesztésekkel

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

Új jogosultságok térinformatikai rendszerekhez

Az egyik legfontosabb újítás a CREATE_SPATIAL_REFERENCE_SYSTEM jogosultság bevezetése. Ez lehetővé teszi a következő utasítások futtatását:

  • „CREATE SPATIAL REFERENCE SYSTEM”
  • „CREATE OR REPLACE SPATIAL REFERENCE SYSTEM”
  • „DROP SPATIAL REFERENCE SYSTEM”

Ennek hiányában (vagy a SUPER jogosultság nélkül) ezek az utasítások hibát generálnak. Bár a SUPER jogosultság továbbra is használható, a fejlesztők számára javasolt, hogy fokozatosan térjenek át az új jogosultsági rendszer használatára.

Fejlesztések a JavaScript könyvtáraknál

Az új kiadás egyik legérdekesebb része a Multilingual Engine Component (MLE), amely mostantól támogatja a többször használható JavaScript könyvtárakat. Ez jelentősen megkönnyíti a JavaScript funkciók megosztását és kezelését különböző tárolt programok között.

A kódokat most már hatékonyan lehet modulárisan rendszerezni a következő utasításokkal:

  • „CREATE LIBRARY”
  • „DROP LIBRARY”

A JavaScript könyvtárak más tárolt programokban is felhasználhatók az új USING záradékkal, amely a „CREATE FUNCTION” vagy „CREATE PROCEDURE” utasításokban érhető el. Ezenkívül a „SHOW CREATE LIBRARY” utasítás segítségével könnyen visszakereshetjük a meglévő könyvtárak kódját. Az új LIBRARIES és ROUTINE_LIBRARIES információs sématáblák segítik ezek nyomon követését és kezelését.

Az MLE lehetővé teszi, hogy JavaScript rutinok hívják a MySQL-ben tárolt függvényeket, eljárásokat és felhasználói szintű munkamenet-változókat. Például a JavaScript a getFunction() és a getProcedure() metódusokon keresztül tudja meghívni ezeket.

Munkamenet-változók és beépített funkciók kezelése

A munkamenet-változók most már közvetlenül elérhetők a JavaScript globális Session objektumán keresztül. Továbbá a MySQL beépített függvényei, mint például rand(), sleep(), uuid() és isUUID(), közvetlenül elérhetők a globális Mysql objektumon keresztül.

Új tranzakciókezelési lehetőségek

A MySQL 9.2 bemutatja a JavaScript tranzakciós API-t, amely megfelel a MySQL szabványos SQL-parancsainak, mint például:

  • „START TRANSACTION”
  • „COMMIT”
  • „ROLLBACK”
  • „SET AUTOCOMMIT”

A mentési pontok (savepoints) is támogatottak. Emellett az SqlError objektum segíti a hibakezelést a JavaScript rutinokban.

Egyéb fejlesztések és változások

  • Az ENUM és SET adattípusokat mostantól támogatja a JavaScript, lehetővé téve az egyszerű konverziókat.
  • Az EXPLAIN FORMAT=JSON kimenetéhez formátumverzió-információ került, ha az explain_json_format_version rendszerváltozó értéke 2.

Elavult és eltávolított funkciók

A 9.2-es verzióval néhány funkció elavulttá vált, például a FLUSH PRIVILEGES utasítás és a Version Tokens bővítmény. Az előző verzióban (9.1) még elérhető BINLOG kulcsszó nem használható idézőjelek nélkül.

A fejlesztőknek érdemes figyelniük ezekre a változásokra az új verzióra való áttérés során. A részletes változások listájáért javasolt átnézni a kiadási jegyzetet.