انتشار SQLite 3.40

انتشار SQLite 3.40، یک DBMS سبک که به عنوان یک کتابخانه پلاگین طراحی شده است، منتشر شده است. کد SQLite در دامنه عمومی توزیع می شود، یعنی. بدون محدودیت و رایگان برای هر منظوری قابل استفاده است. پشتیبانی مالی برای توسعه دهندگان SQLite توسط یک کنسرسیوم ایجاد شده ویژه ارائه می شود که شامل شرکت هایی مانند Adobe، Oracle، Mozilla، Bentley و Bloomberg است.

تغییرات اصلی:

  • توانایی آزمایشی را برای کامپایل SQLite در یک کد WebAssembly میانی که می تواند در یک مرورگر وب اجرا شود و برای سازماندهی کار با پایگاه داده از برنامه های کاربردی وب در زبان جاوا اسکریپت مناسب است، پیاده سازی کرد. توسعه دهندگان وب دارای یک رابط سطح بالا شی گرا برای کار با داده ها به سبک sql.js یا Node.js، قرار دادن روی یک C API سطح پایین و یک API مبتنی بر مکانیسم Web Worker هستند که به شما امکان می دهد. برای ایجاد کنترل کننده های ناهمزمان که روی رشته های جداگانه اجرا می شوند. داده هایی که برنامه های کاربردی وب در نسخه WASM SQLite ذخیره می کنند را می توان با استفاده از OPFS (Origin-Private FileSystem) یا window.localStorage API در سمت کلاینت ذخیره کرد.
  • پسوند بازیابی اضافه شده است، طراحی شده برای بازیابی اطلاعات از فایل های آسیب دیده از پایگاه داده. رابط خط فرمان از دستور ".recover" برای بازیابی استفاده می کند.
  • بهبود عملکرد برنامه ریز پرس و جو. محدودیت ها هنگام استفاده از نمایه هایی با جداول با بیش از 63 ستون برداشته شد (پیش از این، نمایه سازی برای عملیات با ستون هایی که تعداد ترتیب آنها از 63 بیشتر بود اعمال نمی شد). نمایه سازی بهبود یافته مقادیر مورد استفاده در عبارات. هنگام پردازش عملگرهای NOT NULL و IS NULL، بارگیری رشته ها و حباب های بزرگ از دیسک متوقف شد. تحقق نماهایی که اسکن کامل فقط یک بار برای آنها انجام می شود، حذف شد.
  • در پایگاه کد، به جای استفاده از نوع "char *"، یک نوع جداگانه sqlite3_filename برای نمایش نام فایل ها استفاده می شود.
  • تابع داخلی sqlite3_value_encoding() اضافه شد.
  • حالت SQLITE_DBCONFIG_DEFENSIVE اضافه شد، که تغییر نسخه طرحواره ذخیره سازی را ممنوع می کند.
  • بررسی های اضافی به اجرای پارامتر "PRAGMA integrity_check" اضافه شده است. به عنوان مثال، جداول بدون ویژگی STRICT نباید دارای مقادیر عددی در ستون های TEXT و مقادیر رشته ای با اعداد در ستون های NUMERIC باشند. همچنین اضافه شده است بررسی درستی ترتیب ردیف ها در جداول با ویژگی "WITHOUT ROWID".
  • عبارت "VACUUM INTO" به تنظیمات "PRAGMA synchronous" احترام می گذارد.
  • برای محدود کردن اندازه بلوک هنگام تخصیص حافظه، گزینه ساخت SQLITE_MAX_ALLOCATION_SIZE اضافه شد.
  • الگوریتم تولید اعداد شبه تصادفی ساخته شده در SQLite از استفاده از رمز جریانی RC4 به Chacha20 منتقل شده است.
  • استفاده از شاخص هایی با نام یکسان در طرحواره های داده مختلف مجاز است.
  • بهینه سازی عملکرد برای کاهش بار روی CPU تا حدود 1% در طول فعالیت معمولی انجام شده است.

منبع: opennet.ru

اضافه کردن نظر