Izdanje DBMS SQLite 3.40

Objavljeno je izdanje SQLite 3.40, laganog DBMS-a dizajniranog kao plug-in biblioteka. SQLite kod se distribuira u javnoj domeni, tj. može se koristiti bez ograničenja i besplatno za bilo koju svrhu. Financijsku potporu SQLite programerima pruža posebno stvoreni konzorcij koji uključuje tvrtke kao što su Adobe, Oracle, Mozilla, Bentley i Bloomberg.

Velike promjene:

  • Implementirana je eksperimentalna značajka za kompajliranje SQLite-a u međukod WebAssembly, koji se može izvoditi u web-pregledniku i prikladan za organiziranje rada s bazom podataka iz web-aplikacija u JavaScriptu. Web programeri imaju objektno orijentirano sučelje visoke razine za rad s podacima u stilu sql.js ili Node.js, vezanje preko C API-ja niske razine i API-ja temeljenog na mehanizmu Web Worker, koji omogućuje možete stvoriti asinkrone rukovatelje koji se izvode u zasebnim nitima. Podaci koje web aplikacije pohranjuju u WASM verziji SQLitea mogu se pohraniti na strani klijenta koristeći OPFS (Origin-Private FileSystem) ili window.localStorage API.
  • Dodano proširenje za oporavak, dizajnirano za oporavak podataka iz oštećenih datoteka iz baze podataka. U sučelju naredbenog retka za oporavak se koristi naredba “.recover”.
  • Poboljšana izvedba planera upita. Uklonjena su ograničenja pri korištenju indeksa s tablicama s više od 63 stupca (prethodno se indeksiranje nije primjenjivalo pri operacijama sa stupcima čiji je redni broj veći od 63). Poboljšano indeksiranje vrijednosti korištenih u izrazima. Zaustavljeno učitavanje velikih nizova i blobova s ​​diska prilikom obrade operatora NOT NULL i IS NULL. Isključena je materijalizacija pogleda za koje se potpuno skeniranje izvodi samo jednom.
  • U bazi koda, umjesto tipa “char *”, zaseban tip sqlite3_filename koristi se za predstavljanje naziva datoteka.
  • Dodana interna funkcija sqlite3_value_encoding().
  • Dodan način rada SQLITE_DBCONFIG_DEFENSIVE, koji zabranjuje promjenu verzije sheme pohrane podataka.
  • Dodatne provjere dodane su implementaciji parametra “PRAGMA integrity_check”. Na primjer, tablice bez atributa STRICT ne smiju sadržavati numeričke vrijednosti u stupcima tipa TEXT i vrijednosti niza s brojevima u stupcima tipa NUMERIC. Dodana je i provjera ispravnosti redoslijeda u tablicama s atributom “WITHOUT ROWID”.
  • Izraz "VACUUM INTO" uzima u obzir postavke "PRAGMA synchronous".
  • Dodana je opcija sklapanja SQLITE_MAX_ALLOCATION_SIZE, koja vam omogućuje da ograničite veličinu blokova prilikom dodjele memorije.
  • SQLite-ov ugrađeni algoritam za generiranje pseudo-slučajnih brojeva prebačen je s upotrebe RC4 stream šifre na Chacha20.
  • Dopušteno je koristiti indekse s istim imenima u različitim shemama podataka.
  • Napravljene su optimizacije performansi kako bi se smanjilo opterećenje CPU-a za približno 1% tijekom tipične aktivnosti.

Izvor: opennet.ru

Dodajte komentar