SQLite 3.35 ተለቀቀ

እንደ ተሰኪ ቤተ-መጽሐፍት ሆኖ የተነደፈው ቀላል ክብደት ያለው DBMS SQLite 3.35 ታትሟል። የ SQLite ኮድ በሕዝብ ጎራ ውስጥ ይሰራጫል, ማለትም. ለማንኛውም ዓላማ ያለ ገደብ እና ያለክፍያ መጠቀም ይቻላል. ለ SQLite ገንቢዎች የገንዘብ ድጋፍ የሚሰጠው በልዩ የተፈጠረ ጥምረት ነው፣ እሱም እንደ Adobe፣ Oracle፣ Mozilla፣ Bentley እና Bloomberg ያሉ ኩባንያዎችን ያካትታል።

ዋና ለውጦች፡-

  • በ SQL ውስጥ ጥቅም ላይ ሊውሉ የሚችሉ አብሮገነብ የሂሳብ ተግባራት (ሎግ2()፣ cos()፣ tg() exp()፣ ln()፣ pow() ወዘተ) ታክለዋል። አብሮገነብ ተግባራትን ማንቃት በ"-DSQLITE_ENABLE_MATH_FUNCTIONS" አማራጭ መገንባትን ይጠይቃል።
  • ዓምዶችን ከሠንጠረዡ ለማስወገድ እና ቀደም ሲል በአንድ አምድ ውስጥ የተከማቸውን ውሂብ ለማጽዳት ለ«ALTER TABLE DROP COLUMN» አገላለጽ ድጋፍን ተግባራዊ አድርጓል።
  • የUPSERT (መደመር ወይም አሻሽል) አተገባበር ተዘርግቷል፣ እንደ "INSERT ... በግጭት ላይ ምንም ነገር አታድርጉ/አዘምን" በመሳሰሉት አባባሎች ስህተትን ችላ ለማለት ወይም ለመጨመር የማይቻል ከሆነ ከማስገባት ይልቅ ማሻሻያ ለማድረግ ያስችላል። መረጃ በ"INSERT" በኩል (ለምሳሌ፣ መዝገብ አስቀድሞ ካለ፣ ከ INSERT ይልቅ ማዘመን ይችላሉ)። አዲሱ እትም ብዙ ON CONFLICT ብሎኮችን እንዲገልጹ ይፈቅድልዎታል፣ እነሱም በቅደም ተከተል ይከናወናሉ። የመጨረሻው "በግጭት" ብሎክ "አዘምን አድርግ" ለመጠቀም የግጭት መወሰኛ ግቤት እንዲቀር ይፈቅዳል።
  • የDELETE፣ INSERT እና UPDATE ክዋኔዎች የተሰረዘ፣ የገባ ወይም የተቀየረ መዝገብ ይዘቶችን ለማሳየት የሚያገለግል የመመለሻ አገላለፅን ይደግፋሉ። ለምሳሌ፣ “Insert into ... returning id” የሚለው አገላለጽ የተጨመረውን መስመር መለያ ይመልሰዋል፣ እና “አዘምን ... ዋጋን ያወጣል = ዋጋ * 1.10 መመለሻ ዋጋ” የተለወጠውን የዋጋ ዋጋ ይመልሳል።
  • WITH መግለጫን በመጠቀም ጊዜያዊ የተሰየሙ የውጤት ስብስቦችን መጠቀም ለሚፈቅደው ለጋራ የሰንጠረዥ አገላለጾች (CTE) የ"MATERIALIZED" እና "NOT MATERIALIZED" ሁነታዎችን መምረጥ ይፈቀዳል። “MaTERIALIZED” ማለት በእይታ ውስጥ የተገለጸውን ጥያቄ በተለየ አካላዊ ሠንጠረዥ ውስጥ መሸጎጥ እና ከዚያ ከዚህ ሠንጠረዥ ላይ መረጃ ማምጣት እና “ያልተመረተ” ተደጋጋሚ መጠይቆች እይታው በደረሰ ቁጥር ይከናወናል። SQLite በመጀመሪያ በነባሪነት ወደ "ያልተፈጠረ" ተቀይሯል፣ አሁን ግን ከአንድ ጊዜ በላይ ጥቅም ላይ ለዋለ CTEs ወደ "MaTERIALIZED" ተቀይሯል።
  • በጣም ትልቅ የTEXT ወይም BLOB እሴቶችን በሚያካትቱ የውሂብ ጎታዎች ላይ የ VACUUM ክወና በሚሰራበት ጊዜ የማህደረ ትውስታ ፍጆታ ቀንሷል።
  • የአመቻች እና መጠይቅ እቅድ አውጪን አፈፃፀም ለማሳደግ ስራ ተሰርቷል፡-
    • ደቂቃ እና ከፍተኛ ተግባራትን ከ"IN" አገላለጽ ጋር ሲጠቀሙ የታከሉ ማሻሻያዎች።
    • የEXISTS መግለጫ አፈጻጸም ተፋጠነ።
    • ከUNION ሁሉም አገላለጾች እንደ JOIN አካል ሆነው የሚያገለግሉ ንዑስ መጠይቆችን መስፋፋት ተተግብሯል።
    • መረጃ ጠቋሚው ባዶ ለሆኑ መግለጫዎች ጥቅም ላይ ይውላል።
    • "x IS NULL" እና "x IS NOT NULL" ወደ ሐሰት ወይም እውነት መቀየሩን የ"NOT NULL" ባህሪ ላላቸው አምዶች ያረጋግጣል።
    • ክዋኔው ከውጭ ቁልፍ ጋር የተያያዙትን አምዶች ካልቀየረ በUPDATE ውስጥ የውጭ ቁልፎችን መፈተሽን ይዝለሉ።
    • የ WHERE ብሎክ ክፍሎችን የመስኮት ተግባራትን ወደ ያዙ ንዑስ መጠይቆች ማንቀሳቀስ ተፈቅዶለታል፣ እነዚህ ክፍሎቹ በቋሚ ቋሚዎች እና በመስኮት ተግባራት ውስጥ ጥቅም ላይ በሚውሉ ብሎኮች ከPARTITION የገለጻ ቅጂዎች ጋር ለመስራት የተገደቡ እስከሆኑ ድረስ።
  • በትእዛዝ መስመር በይነገጽ ላይ ለውጦች;
    • የ".filectrl data_version" ትዕዛዝ ታክሏል።
    • የ".አንድ ጊዜ" እና ".ውጤት" ትእዛዞች አሁን ውፅዓትን በስም ያልተጠቀሱ ቧንቧዎችን ("|") በመጠቀም ወደ ተቆጣጣሪ ማስተላለፍን ይደግፋሉ።
    • የ "stmt" እና "vmstep" ክርክሮች በ ".stats" ትዕዛዝ ላይ በገለፃዎች እና በምናባዊ ማሽን ቆጣሪዎች ላይ ስታቲስቲክስን ለማሳየት ተጨምረዋል.

ምንጭ: opennet.ru

አስተያየት ያክሉ