Datganiad SQLite 3.40

Mae rhyddhau SQLite 3.40, DBMS ysgafn a ddyluniwyd fel llyfrgell plug-in, wedi'i gyhoeddi. Mae'r cod SQLite yn cael ei ddosbarthu yn y parth cyhoeddus, h.y. gellir ei ddefnyddio heb gyfyngiadau ac yn rhad ac am ddim at unrhyw ddiben. Darperir cymorth ariannol i ddatblygwyr SQLite gan gonsortiwm a grëwyd yn arbennig, sy'n cynnwys cwmnïau fel Adobe, Oracle, Mozilla, Bentley a Bloomberg.

Newidiadau mawr:

  • Wedi gweithredu'r gallu arbrofol i lunio SQLite i god WebCynulliad canolradd a all redeg mewn porwr gwe ac sy'n addas ar gyfer trefnu gwaith gyda'r gronfa ddata o gymwysiadau gwe yn yr iaith JavaScript. Darperir rhyngwyneb gwrthrych-ganolog lefel uchel i ddatblygwyr gwe ar gyfer gweithio gyda data yn null sql.js neu Node.js, gan lapio dros API C lefel isel, ac API yn seiliedig ar fecanwaith Web Worker sy'n caniatáu ichi i greu trinwyr asyncronaidd sy'n rhedeg ar edafedd ar wahân. Gellir storio'r data y mae cymwysiadau gwe yn ei storio yn fersiwn WASM o SQLite ar ochr y cleient gan ddefnyddio OPFS (Origin-Private FileSystem) neu'r window.localStorage API.
  • Mae'r estyniad adfer wedi'i ychwanegu, wedi'i gynllunio i adennill data o ffeiliau sydd wedi'u difrodi o'r gronfa ddata. Mae'r rhyngwyneb llinell orchymyn yn defnyddio'r gorchymyn ".recover" i adfer.
  • Gwell perfformiad cynllunydd ymholiad. Mae cyfyngiadau wedi'u dileu wrth ddefnyddio mynegeion gyda thablau gyda mwy na 63 o golofnau (yn flaenorol, ni ddefnyddiwyd mynegeio ar gyfer gweithrediadau gyda cholofnau yr oedd eu rhif trefnol yn fwy na 63). Gwell mynegeio gwerthoedd a ddefnyddir mewn ymadroddion. Wedi stopio llwytho llinynnau mawr a smotiau oddi ar ddisg wrth brosesu gweithredwyr NOT NULL and IS NULL. Gwahardd gwireddu golygfeydd lle cynhelir sgan llawn unwaith yn unig.
  • Yn y codebase, yn lle defnyddio'r math "char *", defnyddir math sqlite3_filename ar wahân i gynrychioli enwau ffeiliau.
  • Ychwanegwyd swyddogaeth fewnol sqlite3_value_encoding().
  • Ychwanegwyd y modd SQLITE_DBCONFIG_DEFENSIVE, sy'n gwahardd newid y fersiwn sgema storio.
  • Mae gwiriadau ychwanegol wedi'u hychwanegu at weithredu'r paramedr "PRAGMA integrity_check". Er enghraifft, rhaid i dablau heb y priodoledd STRICT beidio â chynnwys gwerthoedd rhifol mewn colofnau TESTUN a gwerthoedd llinynnol gyda rhifau mewn colofnau NUMERIC. Ychwanegwyd hefyd gwirio cywirdeb trefn y rhesi mewn tablau gyda'r priodoledd "HEB ROWID".
  • Mae'r ymadrodd "VACUUM INTO" yn parchu'r gosodiadau "PRAGMA synchronous".
  • Ychwanegwyd opsiwn adeiladu SQLITE_MAX_ALLOCATION_SIZE i gyfyngu ar faint bloc wrth ddyrannu cof.
  • Mae'r algorithm ar gyfer cynhyrchu rhifau ffug-hap sydd wedi'u cynnwys yn SQLite wedi'i symud o ddefnyddio seiffr ffrwd RC4 i Chacha20.
  • Caniateir defnyddio mynegeion gyda'r un enw mewn gwahanol sgemâu data.
  • Mae optimeiddio perfformiad wedi'i wneud i leihau'r llwyth ar y CPU tua 1% yn ystod gweithgaredd nodweddiadol.

Ffynhonnell: opennet.ru

Ychwanegu sylw