SQLite 3.40 nga pagpagawas

Ang pagpagawas sa SQLite 3.40, usa ka gaan nga DBMS nga gidisenyo isip usa ka plug-in library, gimantala. Ang kodigo sa SQLite giapod-apod sa publikong dominyo, i.e. mahimong gamiton nga walay mga pagdili ug walay bayad alang sa bisan unsa nga katuyoan. Ang pinansyal nga suporta alang sa SQLite developers gihatag sa usa ka espesyal nga gibuhat consortium, nga naglakip sa mga kompanya sama sa Adobe, Oracle, Mozilla, Bentley ug Bloomberg.

Panguna nga mga pagbag-o:

  • Gipatuman ang eksperimento nga abilidad sa pag-compile sa SQLite ngadto sa usa ka intermediate nga WebAssembly code nga mahimong modagan sa usa ka web browser ug angay alang sa pag-organisar sa trabaho uban sa database gikan sa mga web application sa JavaScript nga pinulongan. Ang mga web developers gihatagan og taas nga lebel nga object-oriented interface para sa pagtrabaho uban sa datos sa estilo sa sql.js o Node.js, pagputos sa ubos nga lebel nga C API, ug API base sa mekanismo sa Web Worker nga nagtugot kanimo sa paghimo asynchronous handler nga modagan sa lain-laing mga hilo. Ang datos nga gitipigan sa mga web application sa WASM nga bersyon sa SQLite mahimong tipigan sa kilid sa kliyente gamit ang OPFS (Origin-Private FileSystem) o ang window.localStorage API.
  • Ang extension sa pagbawi gidugang, nga gidisenyo aron mabawi ang datos gikan sa nadaot nga mga file gikan sa database. Ang interface sa command line naggamit sa ".recover" nga sugo aron ibalik.
  • Gipauswag nga performance sa query planner. Gikuha ang mga pagdili kung mogamit mga indeks nga adunay mga lamesa nga adunay labaw sa 63 nga mga kolum (kaniadto, ang pag-indeks wala magamit alang sa mga operasyon nga adunay mga kolum kansang ordinal nga numero milapas sa 63). Gipauswag ang pag-indeks sa mga kantidad nga gigamit sa mga ekspresyon. Gihunong ang pag-load sa dagkong mga string ug blobs gikan sa disk kung giproseso ang NOT NULL ug IS NULL operators. Wala iapil ang pag-materialize sa mga panan-aw diin ang usa ka bug-os nga pag-scan gihimo kausa ra.
  • Sa codebase, imbes nga gamiton ang "char *" type, usa ka separado nga sqlite3_filename type ang gigamit sa pagrepresentar sa mga ngalan sa file.
  • Gidugang sqlite3_value_encoding() internal function.
  • Gidugang ang SQLITE_DBCONFIG_DEFENSIVE mode, nga nagdili sa pagbag-o sa bersyon sa storage schema.
  • Dugang nga mga pagsusi ang gidugang sa pagpatuman sa parameter nga "PRAGMA integrity_check". Pananglitan, ang mga lamesa nga walay STRICT attribute kinahanglan dili maglangkob sa numeric values ​​sa TEXT column ug string values ​​nga adunay mga numero sa NUMERIC columns. Gidugang usab susiha ang pagkahusto sa han-ay sa mga laray sa mga lamesa nga adunay hiyas nga "WALAY ROWID".
  • Ang "VACUUM INTO" nga ekspresyon nagtahod sa "PRAGMA synchronous" nga mga setting.
  • Gidugang ang kapilian sa pagtukod SQLITE_MAX_ALLOCATION_SIZE aron limitahan ang gidak-on sa block kung maggahin ug memorya.
  • Ang algorithm sa pagmugna og pseudo-random nga mga numero nga gitukod sa SQLite gibalhin gikan sa paggamit sa RC4 stream cipher ngadto sa Chacha20.
  • Gitugotan ang paggamit sa mga indeks nga adunay parehas nga ngalan sa lainlaing mga laraw sa datos.
  • Ang mga pag-optimize sa performance gihimo aron makunhuran ang load sa CPU sa mga 1% sa panahon sa kasagaran nga kalihokan.

Source: opennet.ru

Idugang sa usa ka comment