SQLite 3.35 නිකුතුව

ප්ලග්-ඉන් පුස්තකාලයක් ලෙස නිර්මාණය කරන ලද සැහැල්ලු DBMS SQLite 3.35 නිකුත් කිරීම ප්‍රකාශයට පත් කර ඇත. SQLite කේතය පොදු වසමක් ලෙස බෙදා හරිනු ලැබේ, i.e. සීමාවකින් තොරව සහ ඕනෑම කටයුත්තක් සඳහා නොමිලේ භාවිතා කළ හැක. Adobe, Oracle, Mozilla, Bentley සහ Bloomberg වැනි සමාගම් ඇතුළත් SQLite සංවර්ධකයින් සඳහා මූල්‍ය ආධාර සපයනු ලබන්නේ විශේෂයෙන් නිර්මාණය කරන ලද සමුහයක් මගිනි.

ප්රධාන වෙනස්කම්:

  • SQL හි භාවිතා කළ හැකි බිල්ට්-ඉන් ගණිත ශ්‍රිත (log2(), cos(), tg(), exp(), ln(), pow() ආදිය. ගොඩනඟන ලද කාර්යයන් සබල කිරීම සඳහා "-DSQLITE_ENABLE_MATH_FUNCTIONS" විකල්පය සමඟ ගොඩනැගීම අවශ්‍ය වේ.
  • වගුවකින් තීරු ඉවත් කිරීමට සහ ලබා දී ඇති තීරුවක කලින් ගබඩා කර ඇති දත්ත ඉවත් කිරීමට “ALTER TABLE DROP COLUMN” ප්‍රකාශනය සඳහා ක්‍රියාත්මක කරන ලද සහාය.
  • UPSERT (add-or-modify) මෙහෙයුම ක්‍රියාත්මක කිරීම පුළුල් කර ඇති අතර, “INSERT ... ON Conflict ON THING/UPDATE” වැනි ප්‍රකාශන හරහා දෝෂයක් නොසලකා හැරීමට හෝ එකතු කිරීමට නොහැකි නම් ඇතුළත් කිරීම වෙනුවට යාවත්කාලීන කිරීමක් සිදු කිරීමට ඉඩ සලසයි. "INSERT" හරහා දත්ත (උදාහරණයක් ලෙස, වාර්තාවක් දැනටමත් පවතී නම්, ඔබට INSERT වෙනුවට UPDATE කළ හැක). නව අනුවාදය මඟින් ඔබට ONFLICT වාරණ කිහිපයක් නියම කිරීමට ඉඩ සලසයි, ඒවා පිළිවෙලට සකසනු ලැබේ. අවසාන "ගැටුම් මත" අවහිර කිරීම "යාවත්කාලීන කරන්න" භාවිතා කිරීම සඳහා ගැටුම් නිර්වචන පරාමිතිය මඟ හැරීමට ඉඩ දෙයි.
  • DELETE, INSERT, සහ UPDATE මෙහෙයුම් මගින් ආපසු හැරවීමේ ප්‍රකාශනයට සහය දක්වයි, එය මකා දැමූ, ඇතුළත් කළ හෝ වෙනස් කළ වාර්තාවක අන්තර්ගතය පෙන්වීමට භාවිතා කළ හැක. උදාහරණයක් ලෙස, "insert into ... returning id" යන ප්‍රකාශය එකතු කරන ලද පේළියේ හඳුනාගැනීම් ආපසු ලබා දෙනු ඇත, සහ "යාවත්කාලීන කරන්න ... මිල නියම කරන්න = මිල * 1.10 ආපසු ලැබෙන මිල" වෙනස් කළ මිල අගය ලබා දෙනු ඇත.
  • පොදු වගු ප්‍රකාශන (CTE), ප්‍රකාශය සමඟින් නිශ්චිතව දක්වා ඇති තාවකාලික නම් කරන ලද ප්‍රතිඵල කට්ටල භාවිතයට ඉඩ සලසන, “ද්‍රව්‍යකරණය” සහ “ද්‍රව්‍යකරණය නොකළ” මාතයන් තේරීමට අවසර ඇත. “MATERIALIZED” යන්නෙන් අදහස් කරන්නේ දර්ශනයේ සඳහන් කර ඇති විමසුම වෙනම භෞතික වගුවක හැඹිලිගත කිරීම සහ පසුව මෙම වගුවෙන් දත්ත ලබා ගැනීම සහ “ද්‍රව්‍යකරණය නොකළ” සමඟ නැවත නැවත විමසුම් දර්ශනයට ප්‍රවේශ වන සෑම අවස්ථාවකම සිදු කරනු ලැබේ. SQLite මුලින් "ද්‍රව්‍යකරණය නොවේ" වෙත පෙරනිමියෙන්, නමුත් දැන් එක් වරකට වඩා භාවිතා කරන CTE සඳහා "MATERIALIZED" ලෙස වෙනස් වී ඇත.
  • ඉතා විශාල TEXT හෝ BLOB අගයන් ඇතුළත් දත්ත සමුදායන් මත VACUUM මෙහෙයුමක් සිදු කරන විට අඩු මතක පරිභෝජනය.
  • ප්‍රශස්තකාරකයේ සහ විමසුම් සැලසුම්කරුගේ ක්‍රියාකාරිත්වය වැඩි කිරීමට කටයුතු කර ඇත:
    • "IN" ප්‍රකාශනය සමඟ min සහ max ශ්‍රිත භාවිතා කරන විට ප්‍රශස්තකරණයන් එකතු කරන ලදී.
    • EXISTS ප්‍රකාශය ක්‍රියාත්මක කිරීම වේගවත් කර ඇත.
    • UNION වෙතින් උප ප්‍රශ්න ක්‍රියාවට නංවාලීම JOIN හි කොටසක් ලෙස භාවිතා කරන සියලුම ප්‍රකාශන.
    • IS NOT NULL ප්‍රකාශන සඳහා මෙම දර්ශකය භාවිතා වේ.
    • "NOT NULL" ගුණාංගය ඇති තීරු සඳහා "x IS NULL" සහ "x IS NULL" FALSE හෝ TRUE බවට පරිවර්තනය වන බව සහතික කරයි.
    • මෙහෙයුම විදේශීය යතුර හා සම්බන්ධ තීරු වෙනස් නොකරන්නේ නම් UPDATE හි විදේශ යතුරු පරීක්ෂා කිරීම මඟ හරින්න.
    • WHERE බ්ලොක් එකක කොටස් කවුළු ශ්‍රිත අඩංගු උප විමසුම් වෙත ගෙන යාමට අවසර ඇත, එම කොටස් නියතයන් සමඟ වැඩ කිරීමට සහ කවුළු ශ්‍රිතවල භාවිතා වන කොටස් අනුව කොටස් වලින් ප්‍රකාශන පිටපත් වලට සීමා වන තාක් කල්.
  • විධාන රේඛා අතුරුමුහුණතෙහි වෙනස්කම්:
    • ".filectrl data_version" විධානය එක් කරන ලදී.
    • ".Once" සහ ".output" විධාන දැන් නම් නොකළ පයිප්ප ("|") භාවිතා කරන හසුරුවකට ප්‍රතිදානය යැවීමට සහය දක්වයි.
    • ප්‍රකාශන සහ අතථ්‍ය යන්ත්‍ර කවුන්ටර පිළිබඳ සංඛ්‍යාලේඛන පෙන්වීමට “stmt” සහ “vmstep” තර්ක “.stats” විධානයට එක් කර ඇත.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න