SQLite 3.40 eldono

La eldono de SQLite 3.40, malpeza DBMS desegnita kiel aldonaĵa biblioteko, estis publikigita. La SQLite-kodo estas distribuita en la publika domeno, t.e. povas esti uzata sen limigo kaj senpage por ajna celo. Financa subteno por SQLite-programistoj estas provizita de speciale kreita konsorcio, kiu inkluzivas kompaniojn kiel Adobe, Oracle, Mozilla, Bentley kaj Bloomberg.

Ĉefaj ŝanĝoj:

  • Efektivigis la eksperimentan kapablon kompili SQLite en mezan WebAssembly-kodon, kiu povas funkcii en TTT-legilo kaj taŭgas por organizi laboron kun la datumbazo de TTT-aplikoj en la JavaScript-lingvo. Retaj programistoj estas provizitaj per altnivela objektoorientita interfaco por labori kun datumoj en la stilo de sql.js aŭ Node.js, envolvante super malaltnivela C API, kaj API bazita sur la mekanismo Web Worker kiu permesas vin. por krei nesinkronajn manipulilojn kiuj funkcias per apartaj fadenoj. La datumoj, kiujn retprogramoj stokas en la WASM-versio de SQLite, povas esti stokitaj ĉe la klienta flanko uzante OPFS (Origin-Private FileSystem) aŭ la window.localStorage API.
  • La reakira etendaĵo estis aldonita, desegnita por reakiri datumojn de damaĝitaj dosieroj el la datumbazo. La komandlinia interfaco uzas la komandon ".recover" por restarigi.
  • Plibonigita rendimento de la serĉplanisto. Limigoj estis forigitaj kiam oni uzis indeksojn kun tabeloj kun pli ol 63 kolumnoj (antaŭe, indeksado ne estis aplikita por operacioj kun kolumnoj kies orda nombro superis 63). Plibonigita indeksado de valoroj uzataj en esprimoj. Ĉesis ŝarĝi grandajn ŝnurojn kaj blobojn de disko dum prilaborado de NOT NULL kaj IS NULL-funkciigistoj. Ekskludita realigo de vidoj por kiuj plena skanado estas farita nur unufoje.
  • En la kodbazo, anstataŭ uzi la "char *" tipon, aparta sqlite3_filename-tipo estas uzata por reprezenti dosiernomojn.
  • Aldonita sqlite3_value_encoding() interna funkcio.
  • Aldonis la SQLITE_DBCONFIG_DEFENSIVE-reĝimon, kiu malpermesas ŝanĝi la stokan skemon-version.
  • Pliaj kontroloj estis aldonitaj al la efektivigo de la parametro "PRAGMA integrity_check". Ekzemple, tabeloj sen la STRICT-atributo ne devas enhavi nombrajn valorojn en TEXT-kolumnoj kaj ĉenvalorojn kun nombroj en NUMERAJ kolumnoj. Ankaŭ aldonita kontrolu la ĝustecon de la ordo de vicoj en tabeloj kun la signo "SEN VICO".
  • La esprimo "VACUUM INTO" respektas la "PRAGMA sinkronan" agordojn.
  • Aldonita la SQLITE_MAX_ALLOCATION_SIZE konstruopcio por limigi la grandecon de blokoj dum asignado de memoro.
  • La algoritmo por generi pseŭdo-hazardajn nombrojn konstruitajn en SQLite estis movita de uzado de la RC4-flua ĉifro al Chacha20.
  • Estas permesite uzi indeksojn kun la sama nomo en malsamaj datumskemoj.
  • Efikecoptimumigoj estis faritaj por redukti la ŝarĝon sur la CPU je ĉirkaŭ 1% dum tipa agado.

fonto: opennet.ru

Aldoni komenton