ထုတ်ပေးထားသော ကော်လံများအတွက် ပံ့ပိုးမှုဖြင့် DBMS SQLite 3.31 ကို ဖြန့်ချိသည်။

ထုတ်ဝေခဲ့သည်။ လွှတ်ပေး SQLite ၃ပေါ့ပါးသော DBMS ပလပ်အင်စာကြည့်တိုက်အဖြစ် ဒီဇိုင်းထုတ်ထားသည်။ SQLite ကုဒ်ကို အများသူငှာ ဒိုမိန်းတစ်ခုအဖြစ် ဖြန့်ဝေသည်။ မည်သည့်ရည်ရွယ်ချက်အတွက်မဆို ကန့်သတ်ချက်မရှိဘဲ အခမဲ့အသုံးပြုနိုင်ပါသည်။ Adobe၊ Oracle၊ Mozilla၊ Bentley နှင့် Bloomberg ကဲ့သို့သော ကုမ္ပဏီများ ပါ၀င်သော အထူးဖန်တီးထားသော လုပ်ငန်းစုမှ SQLite developer များအတွက် ငွေကြေးပံ့ပိုးမှုပေးပါသည်။

အဓိက အပြောင်းအလဲများ:

  • ပံ့ပိုးကူညီမှု တို့ကို ထည့်သွင်းခဲ့သည်။ ကော်လံများကိုထုတ်ပေးသည်။ (တွက်ချက်ထားသော ကော်လံများ)၊ သင်သည် အခြားကော်လံတစ်ခု၏ အကြောင်းအရာများအပေါ် အခြေခံ၍ တန်ဖိုးကို အလိုအလျောက် တွက်ချက်သည့် ဇယားတစ်ခုကို ဖန်တီးသောအခါတွင် ကော်လံတစ်ခုကို သတ်မှတ်ရန် ခွင့်ပြုသည်။ ထုတ်ပေးထားသော ကော်လံများသည် virtual (ဝင်ရောက်ခွင့်တစ်ခုစီဖြင့် ပျံသန်းနေစဉ်) သို့မဟုတ် ဒေတာဘေ့စ်တွင် သိမ်းဆည်းထားနိုင်သည် (ဆက်စပ်ကော်လံများကို အပ်ဒိတ်လုပ်တိုင်း သိမ်းဆည်းထားသည်)။ ထုတ်ပေးထားသော ကော်လံများ၏ အကြောင်းအရာများကို ဖတ်မုဒ်တွင်သာ ရနိုင်သည် (တွက်ချက်မှုတွင် ပါဝင်သည့် အခြားကော်လံရှိ တန်ဖိုးကို ပြုပြင်မွမ်းမံခြင်းဖြင့်သာ ပြောင်းလဲမှုများ ပြုလုပ်သည်)။ ဥပမာအားဖြင့်:

    ဇယား t1(ဖန်တီးပါ
    INTEGER ပင်မကီး၊
    b INT၊
    c စာသား၊
    ဃ (a*abs(b)) VIRTUAL အဖြစ် အမြဲတမ်း ဖန်တီးထုတ်လုပ်ခဲ့သည်၊
    e စာသားများကို အမြဲထုတ်ပေးသည် (substr(c၊b၊b+1)) သိမ်းဆည်းထားသည်
    );

  • PRAGMA ကို ထည့်သွင်းခဲ့သည်။ trusted_schema၊ ဆက်တင် SQLITE_DBCONFIG_TRUSTED_SCHEMA နှင့် စည်းဝေးပွဲရွေးချယ်မှု “-DSQLITE_TRUSTED_SCHEMA” သည် သင့်အား ကာကွယ်မှုပါဝင်မှုကို ထိန်းချုပ်နိုင်စေသော၊ တိုက်ခိုက်မှုများ database ရှိ data schema ကို ပြုပြင်မွမ်းမံခြင်းအားဖြင့်၊ တက်ကြွသောကာကွယ်မှုသည် အစပျိုးမှုများ၊ ကြည့်ရှုမှုများ၊ စစ်ဆေးခြင်းနှင့် မူရင်းဖော်ပြချက်များ၊ အညွှန်းများနှင့် ထုတ်ပေးထားသော ကော်လံများတွင် SQL လုပ်ဆောင်ချက်များ (SQLITE_INNOCUOUS ဟု အမှတ်အသားမပြုထားသော) အသုံးပြုမှုကို ကန့်သတ်ထားသည်။ ပကတိဇယားကို SQLITE_VTAB_INNOCUOUS အလံဖြင့် အတိအလင်းကြေငြာမထားပါက အတုများနှင့် ကြည့်ရှုမှုများတွင် virtual tables များအသုံးပြုမှုကိုလည်း ပိတ်ထားသည်။
  • အပလီကေးရှင်းများတွင် သတ်မှတ်ထားသော SQL လုပ်ဆောင်ချက်များကို ဂုဏ်သတ္တိများ သတ်မှတ်ပေးနိုင်စွမ်းကို အကောင်အထည်ဖော်ခဲ့သည်။ SQLITE_INNOCUOUS (ပြင်ပ parameters များပေါ်တွင်မမူတည်ဘဲ အန္တရာယ်မရှိသောလုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန်အသုံးမပြုနိုင်) နှင့် SQLITE_DIRECTONLY (အစပျိုးမှုများ၊ အမြင်များနှင့် ဒေတာတည်ဆောက်ပုံ ပုံချပ်များတွင် အသုံးပြုရန် မဖြစ်နိုင်ဘဲ SQL စုံစမ်းမှုများတွင်သာ တိုက်ရိုက်ခေါ်ဆိုမှု)၊
  • ထည့်သွင်းထားသော module ဟုတ်တယ် UUID (RFC-4122) လုပ်ဆောင်ခြင်းအတွက် လုပ်ဆောင်ချက်များကို အကောင်အထည်ဖော်ခြင်းဖြင့်၊
  • PRAGMA ကို ထည့်သွင်းခဲ့သည်။ hard_heap_limit နှင့် function ကို sqlite3_hard_heap_limit64() အများဆုံးအမှိုက်အရွယ်အစားကိုထိန်းချုပ်ရန်;
  • PRAGMA တွင် လုပ်ဆောင်ချက်_စာရင်း function တစ်ခုစီ၏ အမျိုးအစား၊ ဂုဏ်သတ္တိများနှင့် အကြောင်းပြချက်များ၏ အရေအတွက်ကို ထပ်လောင်းထည့်သည်၊
  • virtual table DBSTAT သို့ ထပ်ပြောသည် ဒေတာစုပေါင်းမုဒ်;
  • sqlite3_open_v2() သည် သင်္ကေတလင့်ခ်များဖွင့်ခြင်းကို ပိတ်ထားနိုင်စေသည့် SQLITE_OPEN_NOFOLLOW ရွေးချယ်မှုကို အကောင်အထည်ဖော်သည်။
  • အငြင်းအခုံ PATHJSON လုပ်ဆောင်ချက်များသို့ ပေးပို့ပြီး “#-N” array notation အတွက် ပံ့ပိုးမှု ထပ်လောင်းပေးပါသည်။
  • Memory Distribution စနစ်ထဲမှာ ဘေးကကြည့် သီးခြား memory pool နှစ်ခုအတွက် ပံ့ပိုးမှုကို အကောင်အထည်ဖော်ခဲ့ပြီး၊ တစ်ခုစီသည် မတူညီသောအရွယ်အစားတုံးများကို ခွဲဝေသုံးစွဲနိုင်သည် (ခွဲထွက်ခြင်းသည် သင့်အား lookaside စနစ်၏အသုံးပြုမှုကို ချဲ့ထွင်နိုင်စေမည်ဖြစ်ပြီး ချိတ်ဆက်တစ်ခုစီအတွက် ခွဲဝေပေးထားသည့် ကြားခံအရွယ်အစားကို 120 မှ 48 အထိ လျှော့ချနေစဉ် KB);
  • PRAGMA အထောက်အပံ့ကို ရပ်ဆိုင်းလိုက်ပါပြီ။ legacy_file_formatVACUUM နှင့် ကိုက်ညီမှုမရှိသော၊ ထုတ်လုပ်ထားသော ကော်လံများနှင့် ကြီးစဉ်ငယ်လိုက် အညွှန်းများ (အမွေအနှစ်ဖော်မတ်ပံ့ပိုးမှုကို sqlite3_db_config() ရှိ SQLITE_DBCONFIG_LEGACY_FILE_FORMAT အလံမှတစ်ဆင့် ပြန်ပေးနိုင်သည်။

source: opennet.ru

မှတ်ချက် Add