Ukukhishwa kwe-SQLite 3.35

Ukukhishwa kwe-SQLite 3.35, i-DBMS engasindi eklanywe njengomtapo wolwazi we-plug-in, kushicilelwe. Ikhodi ye-SQLite isatshalaliswa esizindeni somphakathi, i.e. ingasetshenziswa ngaphandle kwemikhawulo futhi mahhala nganoma iyiphi injongo. Usekelo lwezezimali lwabathuthukisi be-SQLite luhlinzekwa yinhlangano edalwe ngokukhethekile, ehlanganisa izinkampani ezifana ne-Adobe, i-Oracle, i-Mozilla, i-Bentley ne-Bloomberg.

Izinguquko eziyinhloko:

  • Kwengezwe imisebenzi yezibalo eyakhelwe ngaphakathi (log2(), cos(), tg(), exp(), ln(), pow(), njll.) engasetshenziswa ku-SQL. Ukunika amandla imisebenzi eyakhelwe ngaphakathi kudinga ukwakha ngenketho ethi "-DSQLITE_ENABLE_MATH_FUNCTIONS".
  • Kusetshenziswe usekelo lwenkulumo ethi “ALTER TABLE DROP COLUMN” ukuze kukhishwe amakholomu kuthebula futhi kusule idatha eyayigcinwe kukholomu ethile.
  • Ukuqaliswa kokusebenza kwe-UPSERT (engeza-noma-guqula) kunwetshiwe, okuvumela ngokusebenzisa izinkulumo ezinjengokuthi “FAKA ... EMXHLWENI UZENZE LUTHO/UBUYEKEZA” ukuze uzibe iphutha noma wenze isibuyekezo esikhundleni sokufaka uma kungenakwenzeka ukwengeza. idatha nge-“FAKA” (isibonelo, uma irekhodi selivele likhona, Ungenza UKUBUYEKEZA esikhundleni sokuthi FAKA). Inguqulo entsha ikuvumela ukuthi ucacise amabhulokhi amaningi ON CONFLICT, azocutshungulwa ngokulandelana kwawo. Ibhulokhi yokugcina ethi "ON CONFLICT" ivumela ipharamitha yokunquma ukungqubuzana ukuthi ishiywe ukuze kusetshenziswe okuthi "YENZA UKUBUYEKEZA".
  • Imisebenzi ethi SUSA, YIFAKA, NOKUBUYEKEZA isekela inkulumo ethi BUYISA, engasetshenziswa ukubonisa okuqukethwe kwerekhodi elisusiwe, elifakiwe, noma elishintshiwe. Isibonelo, inkulumo ethi "faka ku ... i-id ebuyiselayo" izobuyisela isihlonzi somugqa owengeziwe, futhi "buyekeza ... setha inani = inani * 1.10 intengo yokubuyisela" izobuyisela inani lentengo elishintshiwe.
  • Okwezinkulumo Zethebula Ezivamile (CTE), ezivumela ukusetshenziswa kwesethi yemiphumela eqanjwe igama yesikhashana ecaciswe kusetshenziswa isitatimende esithi WITH, ukukhethwa kwezindlela ze-"MATERIALIZED" kanye "NOT MATERIALIZED" kuvunyelwe. I-“MATERIALIZED” isikisela ukufaka kunqolobane umbuzo ocaciswe ekubukeni kuthebula elibonakalayo elihlukile bese ibuyisela idatha kusuka kuleli thebula, futhi ngemibuzo ethi “AKUFANELEKILE” kuzokwenziwa njalo lapho ukubuka kufinyelelwa. I-SQLite ekuqaleni yayinemodi yokuzenzakalelayo ethi "HAYI IMATERIALIZED", kodwa manje isishintshele kokuthi "MATERIALIZED" kuma-CTE asetshenziswe ngaphezu kwesisodwa.
  • Ukusetshenziswa kwememori okuncishisiwe lapho kwenziwa umsebenzi we-VACUUM kuzinqolobane ezihlanganisa amanani amakhulu kakhulu we-TEXT noma i-BLOB.
  • Umsebenzi wenziwe ukuze kwandiswe ukusebenza kwe-optimizer kanye nomhleli wemibuzo:
    • Kungezwe ukulungiselelwa uma kusetshenziswa imisebenzi emincane nephezulu ngesisho esithi "IN".
    • Ukwenziwa kwesitatimende se-EXISTS kusheshisiwe.
    • Kusetshenziswe ukunwetshwa kwemibuzo engezansi evela ku-UNION ALL zinkulumo ezisetshenziswe njengengxenye ye-JOIN.
    • Inkomba isetshenziselwa izinkulumo ezithi IS NOT NULL.
    • Iqinisekisa ukuthi okuthi "x NULL" kanye nokuthi "x AYINANZA" aguqulwa abe AMANGA noma IQINISO kumakholomu anesibaluli esithi "NOT NULL".
    • Yeqa ukuhlola okhiye bangaphandle kokuthi UPDATE uma umsebenzi ungawashintshi amakholomu ahlotshaniswa nokhiye wangaphandle.
    • Ivunyelwe ukuhambisa izingxenye zebhulokhi ethi WHERE iziyise kumibuzo engaphansi equkethe imisebenzi yewindi, inqobo nje uma lezo zingxenye zikhawulelwe ekusebenzeni nezimo ezingaguquki kanye namakhophi ezinkulumo asuka ku-PARTITION BY blocks asetshenziswa emisebenzini yewindi.
  • Izinguquko kusixhumi esibonakalayo somugqa womyalo:
    • Kwengezwe umyalo othi ".filectrl data_version".
    • Imiyalo ethi ".once" kanye ".output" manje isekela okukhiphayo okudlulayo kusibambi esibizwa kusetshenziswa amapayipi angashiwongo ("|").
    • Izimpikiswano ze-“stmt” kanye ne-“vmstep” zengezwe emyalweni othi “.stats” ukuze kuboniswe izibalo zezinkulumo nezibali zemishini ebonakalayo.

Source: opennet.ru

Engeza amazwana