Datganiad SQLite 3.35

Mae rhyddhau SQLite 3.35, 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:

  • Ychwanegwyd swyddogaethau mathemateg adeiledig (log2 (), cos (), tg (), exp (), ln (), pow (), ac ati) y gellir eu defnyddio yn SQL. Mae galluogi swyddogaethau adeiledig yn gofyn am adeiladu gyda'r opsiwn "-DSQLITE_ENABLE_MATH_FUNCTIONS".
  • Wedi gweithredu cefnogaeth ar gyfer y mynegiant “ALTER TABLE DOP COLUMN” i dynnu colofnau o dabl a chlirio data a storiwyd yn flaenorol mewn colofn benodol.
  • Mae gweithrediad y gweithrediad UPSERT (ychwanegu neu addasu) wedi'i ehangu, gan ganiatáu trwy ymadroddion fel "NODWCH ... AR GWRTHDARO PEIDIWCH Â PEIDIWCH Â DIM/DIWEDDARAF" i anwybyddu gwall neu berfformio diweddariad yn lle mewnosod os yw'n amhosibl ychwanegu data trwy “INSERT” (er enghraifft, os oes cofnod eisoes yn bodoli, Gallwch chi wneud DIWEDDARIAD yn lle INSERT). Mae'r fersiwn newydd yn eich galluogi i nodi lluosog AR flociau GWRTHDARO, a fydd yn cael eu prosesu mewn trefn. Mae'r bloc olaf "AR GWRTHDARO" yn caniatáu i'r paramedr diffiniad gwrthdaro gael ei hepgor er mwyn defnyddio "DIWEDDARIAD".
  • Mae'r gweithrediadau DILEU, INSERT, a DIWEDDARIAD yn cefnogi'r mynegiad DYCHWELYD, y gellir ei ddefnyddio i arddangos cynnwys cofnod sydd wedi'i ddileu, wedi'i fewnosod neu wedi'i addasu. Er enghraifft, bydd yr ymadrodd “insert into ... returning id” yn dychwelyd dynodwr y llinell ychwanegol, a bydd “diweddaru ... pris gosod = pris * 1.10 pris dychwelyd” yn dychwelyd y gwerth pris wedi'i newid.
  • Ar gyfer Mynegiadau Tabl Cyffredin (CTE), sy'n caniatáu defnyddio setiau canlyniadau dros dro a enwir gan ddefnyddio'r datganiad GYDA, caniateir y dewis o foddau “MATERIALIZED” ac “NOT MATERIALIZED”. Mae “DEFNYDDOL” yn awgrymu cadw'r ymholiad a nodir yn yr olygfa mewn tabl ffisegol ar wahân ac yna nôl data o'r tabl hwn, a chyda “NOT MATERIALIZED” bydd ymholiadau ailadroddus yn cael eu cynnal bob tro y cyrchir yr olwg. Yn wreiddiol, rhagosododd SQLite i "NOT MATERIALIZED", ond mae bellach wedi newid i "MATERIALIZED" ar gyfer CTEs a ddefnyddir fwy nag unwaith.
  • Llai o ddefnydd cof wrth berfformio gweithrediad VACUUM ar gronfeydd data sy'n cynnwys gwerthoedd TESTUN neu BLOB mawr iawn.
  • Mae gwaith wedi'i wneud i wella perfformiad yr optimeiddiwr a'r cynlluniwr ymholiad:
    • Ychwanegwyd optimeiddiadau wrth ddefnyddio'r swyddogaethau min a max gyda'r ymadrodd "IN".
    • Mae gweithrediad y datganiad EXISTS wedi'i gyflymu.
    • Gweithredu ehangu subqueries o UNION POB ymadrodd a ddefnyddir fel rhan o JOIN.
    • Defnyddir y mynegai ar gyfer ymadroddion IS NOT NULL.
    • Yn sicrhau bod "x IS NULL" a "x NOT IS NULL" yn cael eu trosi i ANGHYWIR neu'n WIR ar gyfer colofnau sydd â'r priodoledd "NOT NULL".
    • Peidiwch â gwirio allweddi tramor yn DIWEDDARIAD os nad yw'r gweithrediad yn newid y colofnau sy'n gysylltiedig â'r allwedd dramor.
    • Caniateir iddo symud rhannau o floc LLE i mewn i subqueries sy'n cynnwys swyddogaethau ffenestr, cyn belled â bod y rhannau hynny wedi'u cyfyngu i weithio gyda chysonion a chopïau o ymadroddion o RHANNU GAN flociau a ddefnyddir mewn swyddogaethau ffenestr.
  • Newidiadau yn y rhyngwyneb llinell orchymyn:
    • Ychwanegwyd gorchymyn ".filectrl data_version".
    • Mae'r gorchmynion ".once" a ".output" bellach yn cefnogi trosglwyddo allbwn i driniwr a elwir yn defnyddio pibellau dienw ("|").
    • Mae'r dadleuon “stmt” a “vmstep” wedi'u hychwanegu at y gorchymyn “.stats” i arddangos ystadegau ar ymadroddion a rhifyddion peiriannau rhithwir.

Ffynhonnell: opennet.ru

Ychwanegu sylw