DBMS SQLite 3.31 väljalase koos loodud veergude toega

avaldatud vabastama SQLite 3.31.0, kerge DBMS, mis on loodud pistikprogrammide raamatukoguna. SQLite kood levitatakse avaliku domeenina, st. võib kasutada piiranguteta ja tasuta mis tahes eesmärgil. SQLite'i arendajatele pakub rahalist tuge spetsiaalselt loodud konsortsium, kuhu kuuluvad sellised ettevõtted nagu Adobe, Oracle, Mozilla, Bentley ja Bloomberg.

Kõik muutused:

  • Lisatud tugi loodud veerud (arvutatud veerud), mis võimaldavad teil määrata veeru, kui loote tabeli, mille väärtus arvutatakse automaatselt teise veeru sisu põhjal. Loodud veerud võivad olla kas virtuaalsed (genereeritakse käigult iga juurdepääsuga) või andmebaasi salvestatud (salvestatakse iga kord, kui seotud veerge värskendatakse). Loodud veergude sisu on saadaval ainult lugemisrežiimis (muudatused tehakse ainult väärtuse muutmisega mõnes teises arvutusse kaasatud veerus). Näiteks:

    LOO TABEL t1(
    TÄISARV PRIMAARVÕTI,
    b INT,
    c TEKST,
    d INT LOODUD ALATI KUI (a*abs(b)) VIRTUAALNE,
    e TEKST LOODUD ALATI KUNAGI (substr(c,b,b+1)) TALLETATUD
    );

  • Lisatud PRAGMA usaldusväärne_skeem, seadistus SQLITE_DBCONFIG_TRUSTED_SCHEMA ja koostevalik "-DSQLITE_TRUSTED_SCHEMA", mis võimaldab teil kontrollida kaitse lisamist rünnakud andmebaasis oleva andmeskeemi muutmise kaudu. Aktiivne kaitse piirab SQL-i funktsioonide (pole märgistatud SQLITE_INNOCUOUS) kasutamist päästikutes, vaadetes, CHECK ja DEFAULT lausetes, indeksites ja genereeritud veergudes. Virtuaalsete tabelite kasutamine päästikutes ja vaadetes on samuti keelatud, välja arvatud juhul, kui virtuaalne tabel on selgelt deklareeritud lipuga SQLITE_VTAB_INNOCUOUS.
  • Rakendatud on võimalus määrata rakendustes määratletud SQL-i funktsioonidele atribuute SQLITE_INNOCUOUS (kahjutud funktsioonid, mis ei sõltu välistest parameetritest ja mida ei saa kasutada pahatahtlike toimingute tegemiseks) ja SQLITE_DIRECTONLY (ainult otsekõne SQL-päringutes, ilma võimaluseta kasutada trigerites, vaadetes ja andmestruktuuri diagrammides);
  • Lisatud moodul uus koos funktsioonide juurutamisega UUID töötlemiseks (RFC-4122);
  • Lisatud PRAGMA hard_heap_limit ja funktsiooni sqlite3_hard_heap_limit64() kuhja maksimaalse suuruse kontrollimiseks;
  • PRAGMAS funktsiooni_loend lisatud iga funktsiooni tüübi, omaduste ja argumentide arvu väljund;
  • Virtuaalsesse tabelisse DBSTAT lisatud andmete koondamise režiim;
  • sqlite3_open_v2() rakendab suvandit SQLITE_OPEN_NOFOLLOW, mis võimaldab keelata sümboolsete linkide avamise;
  • Vaidluse jaoks PATH, edastati JSON-i funktsioonidele, lisati tugi massiivi „#-N” tähistamisele;
  • Mälu jaotussüsteemis pilgu kõrvale juurutatud on kahe eraldi mälukogumi tugi, millest mõlemat saab kasutada erineva suurusega plokkide jaotamiseks (eraldamine võimaldab laiendada lookaside süsteemi kasutamist, vähendades samal ajal igale ühendusele eraldatava puhvri suurust 120-lt 48-le KB);
  • PRAGMA tugi on lõpetatud legacy_file_format, mis ei ühildunud VACUUM-i, genereeritud veergude ja kahanevate indeksidega (pärandvormingu toe saab tagastada faili sqlite3_db_config() lipu SQLITE_DBCONFIG_LEGACY_FILE_FORMAT kaudu).

Allikas: opennet.ru

Lisa kommentaar