SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

9. travnja objavljena je verzija 3.53.0 kompaktne višekratne ugrađene DBMS-a SQLite. Kod projekta napisan je na jeziku C i distribuira se kao javno dobro (public domain).

Promjene:

  • Ispravljena greška WAL-reset greška oštećenja baze podataka. Pogledajte prethodnu vijest SQLite 3.51.3 s ispravkom mogućeg oštećenja baze podataka u WAL načinu rada.
  • Dodana biblioteka za formatiranje rezultata SQL upita Format za rezultate upita (QRF) za poboljšanje čitljivosti na ekranu s fiksnom širinom slova.
  • Dodana metoda format za TCL sučelje za pristup QRF-u iz TCL-a.
    • QRF se sada koristi u konzolnoj aplikaciji sqlite za formatiranje rezultata upita, što je poboljšalo njihovo prikazivanje.
  • Nove mogućnosti SQL jezika:
    • Poboljšane mogućnosti naredbe ALTER TABLE za omogućavanje dodavanja i uklanjanja ograničenja NOT NULL i CHECK.
    • Operator REINDEX EXPRESSIONS provođenje ponovne indeksacije indeksnih izraza. Korisno za oporavak zastarjelih indeksnih izraza.
    • Sada TEMP okidači mogu mijenjati i/ili upitvati podatke iz tablica glavne sheme.
    • Poboljšana naredba VACUUM INTO: u slučaju korištenja kao odredišna adresa imena datoteke u URI formatu koja sadrži parametar upita reserve=N (gdje je N broj od 0 do 255), volumen rezervacije za novu kopiju baze podataka postavljen je na N.
  • Dodane nove SQL funkcije:
  • Ažuriranja u konzolnoj aplikaciji:
    • Značajna poboljšanja naredbe .mode.
    • Zahvaljujući QRF proširenju formatiranje rezultata je poboljšano. Na primjer, brojevi se sada prema zadanim postavkama poravnavaju desno u načinu tabličnog prikaza.
    • Prema zadanim postavkama QRF se sada koristi tijekom interaktivne upotrebe konzolne aplikacije za prikazivanje rezultata upita u blokovima, oblikovanim pomoću Unicode simbola, čime se poboljšava čitljivost. Zastarjeli format ispisa koristi se prilikom serijskog izvršavanja komandi radi osiguranja kompatibilnosti.
    • Usamljene (neoznačene) točke sa zarezom na kraju naredbi s točkom se ignoriraju bez upozorenja. Ova situacija može uzrokovati nekompatibilnost!
    • Ispravljene su naredbe .testcase i .check. Sada doista rade i koriste se u skriptama koje su uključene u standardni testni skup SQLite-a, koji su dio izvornih kodova.
    • Argumenti naredbenog retka koji odgovaraju obrascima *.sql ili *.txt i predstavljaju imena nepraznih datoteka, čitaju se i interpretiraju kao skripte koje sadrže SQL naredbe i / ili [komande s tačkom]((https://sqlite.org/cli.html#dotcmd).
    • Sada se kao argument komande .timer može navesti once kako bi se tajmer aktivirao samo pri izvršenju sledećeg SQL upita.
    • Nova opcija —timeout S za komandu .progress dovodi do prekida izvršenja SQL upita nakon S sekundi.
    • Komanda .indexes je promenjena tako da argument PATTERN sada odgovara imenu indeksa, a ne imenu indeksirane tabele (što čini argument PATTERN zaista korisnim). Pored toga, komandi .indexes su dodane nove opcije.
  • Poboljšanja u C API-u:
  • Poboljšanja planera upita:
    • Za EXCEPT, INTERSECT i UNION koristi se algoritam sortiranja i spajanja, jer gotovo uvek radi brže od korišćenja heš tabela.
    • Poboljšanja u mehanizmu odabira reda join prilikom izvršavanja velikih višestranih spajanja u zvezdastoj shemi.
    • Poboljšana je optimizacija konverzije EXISTS u JOIN tako da umetnuti uslovi JOIN ne moraju nužno biti u unutrašnjim petljama, pod uslovom da sve zavisnosti za petlje konverzije EXISTS u JOIN budu u spoljnim petljama.
    • Poboljšana je optimizacija omit-noop-join tako da može izostaviti lanac spajanja koji ne utiče na rezultat.
    • Optimizacija upita koji koriste GROUP BY e1 ORDER BY e2, gde su e1 i e2 identični, osim reda sortiranja ASC/DESC, koristeći jedan indeks.
    • Optimizacija operatora DISTINCT u virtualnim tabelama u slučajevima kada skup rezultata upita ne odgovara u potpunosti uslovu ORDER BY.
  • U proširenje sesije dodani su novi interfejsi koji omogućuju aplikaciji da dodaje promene pojedinačno u objekt sqlite3_changegroup:
  • Unapređenja u konverziji brojeva sa pokretnom decimalnom tačkom ↔ tekst.
    • Kod je potpuno prepisan radi poboljšanja performansi.
    • Sada se po defaultu zaokruživanje vrši na 17 značajnih cifara umesto 15, kao što je to bilo u svim prethodnim verzijama. Po potrebi, ovu vrednost možete promeniti pomoću funkcije sqlite3_db_config sa opcijom SQLITE_DBCONFIG_FP_DIGITS (vidi tačku 6g iznad).
  • Dodana opcija samoobnavljanja indeksa da reši problem zastarjelih indeksnih izraza.
  • U konzolnu alatku sqlite3_rsync dodana opcija -p|—port.
  • Prestaće podrška za Windows RT.
  • JavaScript/WASM
    • Dodana je VFS opfs-wl, funkcionalno identična opfs, ali koristi Web Locks za blokade, što omogućava pravednije raspodeljivanje blokada nego u protokolu opfs. opfs-wl zahteva postojanje funkcije Atomics.waitAsync(), tako da su potrebne novije verzije pretraživača za njegovu podršku u odnosu na opfs.

Izvor: linux.org.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster