Release of SQLite DBMS 3.35

Megjelent az SQLite 3.35, a könnyű súlyú adatbázis-kezelő rendszer, amely a csatlakoztatható könyvtár formájában készült. Az SQLite kódja közszolgáltatásként (public domain) terjed, azaz korlátozások nélkül és ingyenesen felhasználható bármilyen célra. Az SQLite fejlesztőit egy erre a célra létrehozott konzorcium támogatja, amelynek tagjai között szerepel az Adobe, az Oracle, a Mozilla, a Bentley és a Bloomberg.

Főbb változások:

  • Beépített matematikai függvények (log2(), cos(), tg(), exp(), ln(), pow() stb.) kerültek hozzáadásra, amelyeket SQL-ben lehet felhasználni. A beépített függvények engedélyezéséhez a „-DSQLITE_ENABLE_MATH_FUNCTIONS” opcióval kell összegyűjteni.
  • Megvalósult az „ALTER TABLE DROP COLUMN” kifejezés támogatása oszlopok törlésére a táblából és a korábban ebben az oszlopban tárolt adatok törlésére.
  • Bővült az UPSERT (hozzáadás-vagy-módosítás) művelet megvalósítása, amely lehetővé teszi az olyan kifejezésekből álló „INSERT … ON CONFLICT DO NOTHING/UPDATE” használatát, amelyek figyelmen kívül hagyják a hibát vagy frissítést végeznek a beillesztés helyett, ha az adatok „INSERT”-tel való hozzáadása lehetetlen (például, ha a rekord már létezik, az INSERT helyett végrehajtható az UPDATE). Az új verzióban több „ON CONFLICT” blokk is megadható, amelyek feldolgozásra kerülnek a megadás sorrendjében. Az utolsó „ON CONFLICT” blokkban a konfliktusmeghatározó paraméter megadása nem kötelező a „DO UPDATE” használatához.
  • A DELETE, INSERT és UPDATE műveletekben megvalósult a RETURNING kifejezés támogatása, amellyel megjeleníthető a törölt, beszúrt vagy módosított rekord tartalma. Például, az „insert into … returning id” kifejezés visszaadja a hozzáadott sor azonosítóját, míg az „update … set price = price * 1.10 returning price” visszaadja a módosított árértéket.
  • Általános táblázatos kifejezések (Common Table Expression, CTE) számára, amelyek lehetővé teszik a temporális elnevezett eredményhalmazok használatát a WITH operátor által megadottak szerint, engedélyezett a „MATERIALIZED” és „NOT MATERIALIZED” módok választása. A „MATERIALIZED” a lekérdezés megjelenésének tárolását jelenti egy külön fizikai táblában, amelyből az adatokat a későbbiekben ki lehet választani, míg a „NOT MATERIALIZED” esetén minden egyes híváskor új lekérdezések történnek a megjelenéshez. Eredetileg az SQLite alapértelmezettként a „NOT MATERIALIZED” módot használta, de most a többször felhasznált CTE-k esetében megváltozott „MATERIALIZED”-ra.
  • Csökkentett memóriafogyasztás a VACUUM művelet végrehajtásakor, olyan adatbázisok esetén, amelyek nagyon nagy TEXT vagy BLOB típusú értékeket tartalmaznak.
  • A lekérdezés-optimalizáló és ütemező teljesítményének növelése érdekében végzett munka:
    • Optimalizálások kerültek bevezetésre a min és max funkciók IN kifejezéssel történő használatakor.
    • Az EXISTS operátor végrehajtása felgyorsult.
    • Megvalósult az UNION ALL kifejezésekből származó al-lekérdezések kiterjesztése, amelyek JOIN-ban használtak.
    • Index alkalmazása IS NOT NULL kifejezésekhez.
    • Biztosítottuk, hogy a 'x IS NULL' és 'x IS NOT NULL' kifejezések FALSE vagy TRUE értékre legyenek alakítva a NOT NULL jelölésű oszlopok esetében.
    • A külső kulcsok ellenőrzését kihagyták az UPDATE műveletnél, ha a művelet nem módosítja a külső kulccsal kapcsolatos oszlopokat.
    • Engedélyezték a WHERE blokk részeinek áthelyezését olyan al-lekérdezésekbe, amelyek ablakfunkciókat tartalmaznak, ha ezek a részek állandók és a PARTITION BY blokkokból származó kifejezések másolatai korlátozódnak.
  • Változások a parancssori felületen:
    • Hozzáadva a «.filectrl data_version» parancs.
    • A «.once» és «.output» parancsokhoz támogatást adtak a kibővített kimenet átadására egy nem névleges csatornával meghívott handlerhez («|»).
    • A «.stats» parancs argumentumai között szerepel a «stmt» és «vmstep», amelyek statisztikákat adnak meg a kifejezések és a virtuális gép számlálóinak nyilvántartásáról.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster