Release av SQLite 3.51 har publicerats, en lÀttviktsdatabashanterare utformad som ett pluginbibliotek. Koden för SQLite distribueras som offentlig egendom (public domain), det vill sÀga den kan anvÀndas utan begrÀnsningar och kostnadsfritt för alla ÀndamÄl. Den ekonomiska stödet för SQLite-utvecklarna ges av ett sÀrskilt bildat konsortium.
Huvudsakliga förÀndringar:
- Nya JSON-funktioner jsonb_each() och jsonb_tree() har lagts till, vilka skiljer sig frÄn de tidigare tillgÀngliga funktionerna json_each() och json_tree() genom att de returnerar vÀrden i JSONB för data med typ av array eller objekt.
- Koden för tillÀggen carray och percentile har flyttats till den grundlÀggande filen "sqlite3.c" med inbyggd SQLite-kod. Som standard Àr dessa tillÀgg inaktiverade och krÀver angivande av kompileringsalternativen "-DSQLITE_ENABLE_CARRAY" och "-DSQLITE_ENABLE_PERCENTILE".
- GrÀnssnittet för att anvÀnda SQLite i Tcl-skript har förbÀttrats. Kommandot "eval" har fÄtt flaggan "-asdict" för att stÀlla in strÀngar med typ "dict" istÀllet för "array". Möjligheten att avbryta anvÀndardefinierade funktioner för att returnera NULL-vÀrdet har lagts till.
- Ăndringar i kommandoradsgrĂ€nssnittet:
- Precisionen hos kommandot ".timer" har ökat till mikrosekunder;
- I formateringslÀgena "box" och "column" har stöd för dubbelt breda tecken implementerats;
- Kommandot ".imposter" kan nu tillhandahĂ„lla imposter-tabeller i skrivskyddat lĂ€ge (som tillĂ„ter att fĂ„ Ă„tkomst till data i indexet som en tabell), som arbetar med vakuumoperation och inte krĂ€ver att köras med flaggan "âunsafe-testing";
- Alternativet "âifexists" har lagts till i utilityt sqlite och kommandot ".open".
- Maximal radbredd som anges med kommandot ".width" begrÀnsas till 30000 tecken.
- Prestandaoptimeringar har genomförts:
- CPU-belastningen har minskats vid lÄsning av transaktioner begrÀnsade till lÀsÄtkomst;
- Koden för sammanslagningsoperationer (JOIN) har förbÀttrats som inte ÄtervÀnder rader eftersom en eller flera tabeller inte innehÄller rader;
- Körning av skalarunderfrÄgor som inte pÄverkar resultatet har uteslutits;
- Prestandan för fönsterfunktioner i frĂ„gor med uttrycket "BETWEEN đĄ FOLLOWING AND :y FOLLOWING" och ett mycket stort vĂ€rde för ":y" har ökat.
- Pragman "PRAGMA wal_checkpoint=NOOP" och funktionen API sqlite3_wal_checkpoint() för att lÄsa Àndringar i WAL-loggen har lagts till.
- Funktionerna sqlite3_set_errmsg() och sqlite3_db_status64() har lagts till i API.
- I JavaScript/WASM-versionen av SQLite har stöd för byggande i WebAssembly-format med 64-bitars pekare implementerats.
- Ăkad motstĂ„ndskraft mot databasfel i applikationer som tar bort POSIX-lĂ„s via close()-anrop.
- FörbÀttrat stöd för VxWorks-plattformen.
KĂ€lla: opennet.ru
