SQLite 3.35 nga pagpagawas

Ang pagpagawas sa SQLite 3.35, 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:

  • Gidugang ang built-in nga mga function sa matematika (log2(), cos(), tg(), exp(), ln(), pow(), etc.) nga magamit sa SQL. Ang pag-enable sa mga built-in nga function nagkinahanglan sa pagtukod gamit ang "-DSQLITE_ENABLE_MATH_FUNCTIONS" nga opsyon.
  • Gipatuman nga suporta alang sa ekspresyong "ALTER TABLE DROP COLUMN" aron matangtang ang mga column gikan sa usa ka lamesa ug tin-aw ang datos nga gitipigan kaniadto sa gihatag nga column.
  • Ang pagpatuman sa UPSERT (add-or-modify) nga operasyon gipalapdan, nga nagtugot pinaagi sa mga ekspresyon sama sa "INSERT ... ON CONFLICT DO NOTHING/UPDATE" sa pagbaliwala sa usa ka sayup o paghimo sa usa ka update imbes sa pagsal-ot kung imposible ang pagdugang data pinaagi sa "INSERT" (pananglitan, kung adunay usa ka rekord, mahimo nimong buhaton ang UPDATE imbes nga INSERT). Ang bag-ong bersyon nagtugot kanimo sa pagtino sa daghang ON CONFLICT blocks, nga iproseso sa han-ay. Ang katapusan nga "ON CONFLICT" block nagtugot sa parameter sa pagdeterminar sa panagbangi nga dili iapil aron magamit ang "DO UPDATE".
  • Ang DELETE, INSERT, ug UPDATE nga mga operasyon nagsuporta sa RETURNING nga ekspresyon, nga magamit sa pagpakita sa mga sulod sa usa ka gitangtang, gisulod, o giusab nga rekord. Pananglitan, ang ekspresyon nga "insert into ... returning id" ibalik ang identifier sa gidugang nga linya, ug "update ... set price = price * 1.10 returning price" ibalik ang giusab nga bili sa presyo.
  • Para sa Common Table Expressions (CTE), nga nagtugot sa paggamit sa temporaryo nga ginganlan nga resulta sets nga gipiho gamit ang WITH statement, ang pagpili sa "MATERIALIZED" ug "NOT MATERIALIZED" nga mga mode gitugotan. Ang "MATERIALIZED" nagpasabot sa pag-cache sa pangutana nga gipiho sa view sa usa ka bulag nga pisikal nga lamesa ug dayon pagkuha sa datos gikan niini nga lamesa, ug uban sa "NOT MATERIALIZED" nga gibalikbalik nga mga pangutana ipahigayon sa matag higayon nga ang view ma-access. Ang SQLite orihinal nga nag-default sa "NOT MATERIALIZED", apan karon nausab ngadto sa "MATERIALIZED" para sa mga CTE nga gigamit labaw sa kausa.
  • Ang pagkunhod sa konsumo sa panumduman kung maghimo usa ka operasyon sa VACUUM sa mga database nga adunay daghang mga kantidad sa TEXT o BLOB.
  • Gihimo ang trabaho aron madugangan ang pasundayag sa optimizer ug query planner:
    • Gidugang ang mga pag-optimize kung gigamit ang min ug max nga mga gimbuhaton nga adunay ekspresyon nga "IN".
    • Ang pagpatuman sa EXISTS nga pahayag gipadali.
    • Gipatuman nga pagpalapad sa mga subquery gikan sa UNION ALL nga mga ekspresyon nga gigamit isip kabahin sa JOIN.
    • Ang indeks kay gigamit para sa IS NOT NULL expressions.
    • Pagsiguro nga ang "x IS NULL" ug "x IS NOT NULL" ma-convert sa FALSE o TRUE para sa mga column nga adunay "NOT NULL" attribute.
    • Laktawan ang pagsusi sa mga langyaw nga yawe sa UPDATE kung ang operasyon wala magbag-o sa mga kolum nga adunay kalabotan sa langyaw nga yawe.
    • Gitugotan ang paglihok sa mga bahin sa usa ka WHERE block ngadto sa mga subquery nga adunay mga function sa bintana, basta ang mga bahin limitado sa pagtrabaho sa mga constant ug mga kopya sa mga ekspresyon gikan sa PARTITION BY block nga gigamit sa mga function sa bintana.
  • Mga pagbag-o sa interface sa command line:
    • Gidugang ang ".filectrl data_version" nga sugo.
    • Ang ".once" ug ".output" nga mga sugo karon nagsuporta sa pagpasa sa output ngadto sa usa ka handler nga gitawag gamit ang wala hinganli nga mga tubo ("|").
    • Ang "stmt" ug "vmstep" nga mga argumento gidugang sa ".stats" nga sugo aron ipakita ang estadistika sa mga ekspresyon ug virtual machine counter.

Source: opennet.ru

Idugang sa usa ka comment