Ar Ebrill 9, rhyddhawyd fersiwn 3.53.0 o'r DBMS traws-lwyfan cryno wedi'i fewnosod. SQLiteMae cod y prosiect wedi'i ysgrifennu yn C ac mae wedi'i ddosbarthu yn y parth cyhoeddus.
Newidiadau:
- Bug sefydlog Byg llygredd cronfa ddata ailosod WALGweler newyddion blaenorol Mae SQLite 3.51.3 yn trwsio llygredd cronfa ddata posibl yn y modd WAL.
- Ychwanegwyd llyfrgell ar gyfer fformatio canlyniadau ymholiadau SQL Fformatydd Canlyniad Ymholiad (QRF) i sicrhau darllen hawdd ar sgrin gyda ffont lled sefydlog.
- Ychwanegwyd dull Fformat к Rhyngwyneb TCL i gael mynediad at QRF o TCL.
- Defnyddir QRF bellach yn y cyfleustodau consol sqlite i fformatio canlyniadau ymholiadau, gan wella eu harddangosiad.
- Nodweddion newydd yr iaith SQL:
- Galluoedd gorchymyn gwell ALTER TABL i ddarparu'r gallu i ychwanegu a chael gwared ar gyfyngiadau NOT NULL a CHECK.
- Gweithredwr AIL-FYNEGEIIO MYNEGIADAU yn ail-fynegeio mynegeion mynegiant. Yn ddefnyddiol ar gyfer adferiad mynegeion mynegiant etifeddol.
- Nawr Sbardunau TEMP yn gallu addasu a/neu ymholi data o'r prif dablau cynllun.
- Gorchymyn gwell GWAG I MEWNOs yw'r gyrchfan yn enw ffeil ar fformat URI sy'n cynnwys y paramedr ymholiad reserve=N (lle mae N yn rhif o 0 i 255), mae maint y gadw ar gyfer y copi cronfa ddata a grëwyd wedi'i osodi i N.
- Swyddogaethau SQL newydd wedi'u hychwanegu:
- Diweddariadau yn cyfleustodau consol:
- Gwelliannau sylweddol i'r tîm .modd.
- Trwy Ehangu QRF Mae fformatio canlyniadau wedi'i wella. Er enghraifft, mae rhifau bellach wedi'u halinio i'r dde yn ddiofyn yn y allbwn tablaidd.
- Yn ddiofyn, defnyddir QRF bellach wrth ddefnyddio'r cyfleustodau consol yn rhyngweithiol i arddangos canlyniadau ymholiadau mewn blociau a ffurfiwyd gan ddefnyddio nodau lluniadu bloc Unicode, gan wella darllenadwyedd. Defnyddir y fformat allbwn etifeddol wrth weithredu gorchmynion mewn sypiau am resymau cydnawsedd.
- Hanner colon sengl (heb ddyfynbris) ar y diwedd gorchmynion dot yn cael eu hanwybyddu heb rybudd. Mae hwn yn anghydnawsedd posibl!
- Mae'r gorchmynion .testcase a .check wedi'u trwsio. Maent bellach yn gweithio ac yn cael eu defnyddio mewn sgriptiau sydd wedi'u cynnwys yn y gyfres brofion SQLite safonol sydd wedi'i chynnwys yn y cod ffynhonnell.
- Mae dadleuon llinell orchymyn sy'n cyfateb i batrymau *.sql neu *.txt ac sy'n enwau ffeiliau nad ydynt yn wag yn cael eu darllen a'u dehongli fel sgriptiau sy'n cynnwys datganiadau SQL a/neu [gorchmynion dot]((https://sqlite.org/cli.html#dotcmd).
- Gallwch nawr nodi unwaith fel dadl i'r gorchymyn .timer i beri i'r amserydd danio dim ond pan fydd yr ymholiad SQL nesaf yn cael ei weithredu.
- Mae'r opsiwn --timeout S newydd o'r gorchymyn .progress yn achosi i ymholiadau SQL roi'r gorau i weithredu ar ôl S eiliad.
- Mae'r gorchymyn .indexes wedi'i newid fel bod y ddadl PATTERN bellach yn cyfateb i enw'r mynegai yn hytrach nag enw'r tabl mynegeiedig (sy'n gwneud y ddadl PATTERN yn ddefnyddiol mewn gwirionedd). Yn ogystal, mae sawl opsiwn newydd wedi'u hychwanegu at y gorchymyn .indexes.
- Gwelliannau yn yr API C:
- sqlite3_str_trincate()
- sqlite3_str_free()
- sqlite3_carray_bind_v2()
- I weithredu sqlite3_paratoi_v3() opsiwn wedi'i ychwanegu SQLITE_PARATOI_FROM_DDL, sy'n caniatáu i weithrediadau tabl rhithwir baratoi datganiadau SQL a gafwyd o'r cynllun cronfa ddata yn ddiogel.
- Cysonyn wedi'i ychwanegu SQLITE_UTF8_ZT, y gellir ei ddefnyddio fel paramedr amgodio mewn ffwythiannau sqlite3_result_text64() neu sqlite3_bind_text64() i nodi bod y gwerth wedi'i amgodio yn UTF-8 ac wedi'i derfynu'n null.
- I weithredu sqlite3_limit() opsiwn wedi'i ychwanegu SQLITE_LIMIT_PARSER_DEPTH.
- I weithredu sqlite3_db_config() opsiwn wedi'i ychwanegu SQLITE_DBCONFIG_FP_DIGITSGweler hefyd bwynt 9b isod.
- Gwelliannau cynlluniwr ymholiadau:
- Ar gyfer EXCEPT, INTERSECT, ac UNION, defnyddir yr algorithm didoli a chyfuno bob amser, gan ei fod bron bob amser yn gyflymach na defnyddio tablau hash.
- Gwelliannau i'r mecanwaith dewis trefn ymuno wrth berfformio ymuniadau aml-ffordd mawr mewn dyluniad seren.
- Gwellawyd yr optimeiddio trosi EXISTS i JOIN fel nad oes rhaid i amodau JOIN a fewnosodwyd fod mewn dolenni mewnol, cyn belled â bod yr holl ddibyniaethau ar gyfer y dolenni trosi EXISTS i JOIN mewn dolenni allanol.
- Optimeiddio omit-noop-join gwell fel y gall hepgor cadwyn o ymuniadau nad ydynt yn effeithio ar y canlyniad.
- Optimeiddio ymholiadau gan ddefnyddio GROUP BY e1 ORDER BY e2, lle mae e1 ac e2 yn union yr un fath ac eithrio'r drefn ddidoli ASC/DESC, gan ddefnyddio un mynegai.
- Optimeiddio'r gweithredwr DISTINCT mewn tablau rhithwir pan nad yw set canlyniadau'r ymholiad yn cyfateb yn llwyr i'r amod ORDER BY.
- В estyniad sesiwn Ychwanegwyd rhyngwynebau newydd sy'n caniatáu i raglen ychwanegu newidiadau un ar y tro i wrthrych sqlite3_changegroup:
- Gwelliannau mewn trosi pwynt arnofiol ↔ testun.
- Mae'r cod wedi'i ailysgrifennu'n llwyr i wella perfformiad.
- Talgrynnu yw'r rhagosodiad nawr wedi'i gynhyrchu hyd at 17 digidau arwyddocaol yn lle 15, fel ym mhob fersiwn flaenorol. Os oes angen, gellir newid y gwerth hwn gan ddefnyddio'r ffwythiant ffurfweddu_sqlite3_db ag opsiwn SQLITE_DBCONFIG_FP_DIGITS (gweler pwynt 6g uchod yno).
- Ychwanegwyd nodwedd mynegai hunan-iachâd i ddatrys y broblem mynegeion mynegiant etifeddol.
- Yn y cyfleustodau consol sqlite3_rsync Ychwanegwyd opsiwn -p|—porthladd.
- Mae'r gefnogaeth wedi dod i ben Windows RT.
- JavaScript/WASM
- Mae'r VFS opfs-wl wedi'i ychwanegu. Mae'n union yr un fath yn ymarferol ag opfs ond mae'n defnyddio Cloeon Gwe ar gyfer cloeon, gan sicrhau dosbarthiad cloeon tecach na'r protocol opfs. Mae angen y swyddogaeth Atomics.waitAsync() ar opfs-wl, felly mae angen fersiynau porwr mwy newydd nag opfs.
Ffynhonnell: linux.org.ru
