SQLite 3.40 vrystelling

Die vrystelling van SQLite 3.40, 'n liggewig DBMS wat ontwerp is as 'n inprop-biblioteek, is gepubliseer. Die SQLite-kode word in die publieke domein versprei, d.w.s. kan sonder beperkings en gratis vir enige doel gebruik word. Finansiële ondersteuning vir SQLite-ontwikkelaars word verskaf deur 'n spesiaal geskepte konsortium, wat maatskappye soos Adobe, Oracle, Mozilla, Bentley en Bloomberg insluit.

Belangrikste veranderinge:

  • Implementeer die eksperimentele vermoë om SQLite saam te stel in 'n intermediêre WebAssembly-kode wat in 'n webblaaier kan loop en geskik is vir die organisering van werk met die databasis vanaf webtoepassings in die JavaScript-taal. Webontwikkelaars word voorsien van 'n hoëvlak objekgeoriënteerde koppelvlak om met data te werk in die styl van sql.js of Node.js, omvou oor 'n laevlak C API, en 'n API gebaseer op die Web Worker-meganisme wat jou toelaat om asinchroniese hanteerders te skep wat op aparte drade loop. Die data wat webtoepassings in die WASM-weergawe van SQLite stoor, kan aan die kliëntkant gestoor word deur OPFS (Origin-Private FileSystem) of die window.localStorage API te gebruik.
  • Die hersteluitbreiding is bygevoeg, wat ontwerp is om data van beskadigde lêers vanaf die databasis te herstel. Die opdraglyn-koppelvlak gebruik die ".recover"-opdrag om te herstel.
  • Verbeterde navraagbeplanner prestasie. Beperkings is verwyder wanneer indekse gebruik word met tabelle met meer as 63 kolomme (voorheen is indeksering nie toegepas vir bewerkings met kolomme waarvan die rangnommer 63 oorskry het nie). Verbeterde indeksering van waardes wat in uitdrukkings gebruik word. Het opgehou om groot stringe en blobs van skyf af te laai tydens die verwerking van NOT NULL en IS NULL operateurs. Uitgesluit materialisering van aansigte waarvoor 'n volledige skandering slegs een keer uitgevoer word.
  • In die kodebasis, in plaas daarvan om die "char *" tipe te gebruik, word 'n aparte sqlite3_filename tipe gebruik om lêername voor te stel.
  • Bygevoeg sqlite3_value_encoding() interne funksie.
  • Het die SQLITE_DBCONFIG_DEFENSIVE-modus bygevoeg, wat die verandering van die bergingskemaweergawe verbied.
  • Bykomende kontroles is bygevoeg tot die implementering van die "PRAGMA integrity_check" parameter. Tabelle sonder die STRICT-kenmerk moet byvoorbeeld nie numeriese waardes in TEXT-kolomme en stringwaardes met nommers in NUMERIESE kolomme bevat nie. Kontroleer ook die korrektheid van die volgorde van rye in tabelle met die kenmerk "SONDER ROWID".
  • Die "VACUUM INTO" uitdrukking respekteer die "PRAGMA sinchrone" instellings.
  • Bygevoeg bou-opsie SQLITE_MAX_ALLOCATION_SIZE om blokgrootte te beperk wanneer geheue toegewys word.
  • Die algoritme vir die generering van pseudo-ewekansige getalle wat in SQLite ingebou is, is verskuif van die gebruik van die RC4-stroomsyfer na Chacha20.
  • Dit word toegelaat om indekse met dieselfde naam in verskillende dataskemas te gebruik.
  • Werkverrigtingoptimalisasies is gemaak om die las op die SVE met ongeveer 1% te verminder tydens tipiese aktiwiteit.

Bron: opennet.ru

Voeg 'n opmerking