SQLite 3.40 -julkaisu

SQLite 3.40, kevyt DBMS, joka on suunniteltu laajennuskirjastoksi, on julkaistu. SQLite-koodia jaetaan julkisena, ts. voidaan käyttää rajoituksetta ja maksutta mihin tahansa tarkoitukseen. Taloudellisen tuen SQLite-kehittäjille tarjoaa erityisesti luotu konsortio, johon kuuluvat muun muassa Adobe, Oracle, Mozilla, Bentley ja Bloomberg.

Suurimmat muutokset:

  • Kokeellinen ominaisuus on toteutettu kääntämään SQLite WebAssembly-välikoodiksi, joka pystyy toimimaan web-selaimessa ja soveltuu tietokannan työn organisointiin web-sovelluksista JavaScriptissä. Web-kehittäjille tarjotaan korkean tason oliokäyttöliittymä sql.js- tai Node.js-tyylisten tietojen käsittelyä varten, sidos matalan tason C API:n yli ja Web Worker -mekanismiin perustuva API, joka mahdollistaa voit luoda asynkronisia käsittelijöitä, jotka suoritetaan erillisissä säikeissä. Tiedot, jotka verkkosovellukset tallentavat SQLiten WASM-versioon, voidaan tallentaa asiakaspuolelle OPFS:n (Origin-Private FileSystem) tai window.localStorage API:n avulla.
  • Lisätty palautuslaajennus, joka on suunniteltu palauttamaan tiedot vaurioituneista tiedostoista tietokannasta. Komentorivikäyttöliittymässä palautukseen käytetään komentoa ".recover".
  • Parannettu kyselysuunnittelijan suorituskyky. Rajoitukset on poistettu käytettäessä indeksejä taulukoissa, joissa on yli 63 saraketta (aiemmin indeksointia ei käytetty, kun toimintoja sarakkeilla, joiden järjestysluku on yli 63). Parannettu lausekkeissa käytettyjen arvojen indeksointi. Lopetettu suurten merkkijonojen ja blobin lataaminen levyltä käsiteltäessä NOT NULL- ja IS NULL -operaattoreita. Sellaisten näkymien toteutuminen, joille täydellinen tarkistus suoritetaan vain kerran, on suljettu pois.
  • Koodikannassa käytetään "char *" -tyypin sijaan erillistä tyyppiä sqlite3_filename edustamaan tiedostonimiä.
  • Lisätty sisäinen funktio sqlite3_value_encoding().
  • Lisätty SQLITE_DBCONFIG_DEFENSIVE-tila, joka estää tietojen tallennusskeeman version muuttamisen.
  • "PRAGMA integrity_check" -parametrin toteutukseen on lisätty tarkistuksia. Esimerkiksi taulukot, joissa ei ole STRICT-attribuuttia, eivät saa sisältää numeerisia arvoja TEXT-tyypin sarakkeissa ja merkkijonoarvoja numeroilla NUMERIC-tyypin sarakkeissa. Lisäksi on lisätty rivien oikean järjestyksen tarkistaminen taulukoissa "WITHOUT ROWID" -attribuutilla.
  • "VACUUM INTO" -lauseke ottaa huomioon "PRAGMA synchronous" -asetukset.
  • Lisätty kokoonpanovaihtoehto SQLITE_MAX_ALLOCATION_SIZE, jonka avulla voit rajoittaa lohkojen kokoa muistia varattaessa.
  • SQLiten sisäänrakennettu näennäissatunnaisten lukujen generointialgoritmi on siirretty RC4-virtasalauksen käytöstä Chacha20:een.
  • Eri tietojärjestelmissä on sallittua käyttää samoilla nimillä indeksejä.
  • Suorituskykyä on optimoitu prosessorin kuormituksen vähentämiseksi noin 1 % tyypillisen toiminnan aikana.

Lähde: opennet.ru

Lisää kommentti