SQLite 3.40 buraxılışı

Plug-in kitabxanası kimi hazırlanmış yüngül DBMS olan SQLite 3.40-nin buraxılışı nəşr olundu. SQLite kodu ictimai domendə paylanır, yəni. istənilən məqsəd üçün məhdudiyyətsiz və pulsuz istifadə oluna bilər. SQLite tərtibatçılarına maliyyə dəstəyi Adobe, Oracle, Mozilla, Bentley və Bloomberg kimi şirkətlərin daxil olduğu xüsusi yaradılmış konsorsium tərəfindən həyata keçirilir.

Əsas dəyişikliklər:

  • SQLite-ni WebAssembly aralıq koduna tərtib etmək üçün eksperimental funksiya həyata keçirilib, veb-brauzerdə işləyə bilir və JavaScript-də veb proqramlardan verilənlər bazası ilə işin təşkili üçün uyğundur. Veb tərtibatçıları sql.js və ya Node.js üslubunda verilənlərlə işləmək üçün yüksək səviyyəli obyekt yönümlü interfeys, aşağı səviyyəli C API üzərində bağlayıcı və Web İşçisi mexanizminə əsaslanan API ilə təmin edilir. siz ayrı-ayrı mövzularda icra edilən asinxron işləyicilər yaratmalısınız. Veb proqramlarının SQLite-in WASM versiyasında saxladığı məlumatlar OPFS (Origin-Private FileSystem) və ya window.localStorage API istifadə edərək müştəri tərəfində saxlanıla bilər.
  • Məlumat bazasından zədələnmiş fayllardan məlumatları bərpa etmək üçün nəzərdə tutulmuş bərpa uzantısı əlavə edildi. Komanda xətti interfeysində bərpa üçün “.recover” əmri istifadə olunur.
  • Təkmilləşdirilmiş sorğu planlayıcısı performansı. 63-dən çox sütunlu cədvəlləri olan indekslərdən istifadə zamanı məhdudiyyətlər aradan qaldırılıb (əvvəllər sıra nömrəsi 63-dən çox olan sütunlarla əməliyyatlar aparılarkən indeksləşdirmə tətbiq edilmirdi). İfadələrdə istifadə olunan dəyərlərin təkmilləşdirilmiş indeksləşdirilməsi. NOT NULL və IS NULL operatorlarını işləyərkən diskdən böyük sətirlərin və blobların yüklənməsi dayandırıldı. Tam skan yalnız bir dəfə həyata keçirilən baxışların materiallaşdırılması istisna edilir.
  • Kod bazasında fayl adlarını təmsil etmək üçün “char *” tipi əvəzinə ayrıca sqlite3_filename növü istifadə olunur.
  • Əlavə edilmiş daxili funksiya sqlite3_value_encoding().
  • Məlumat saxlama sxemi versiyasının dəyişdirilməsini qadağan edən SQLITE_DBCONFIG_DEFENSIVE rejimi əlavə edildi.
  • “PRAGMA integrity_check” parametrinin həyata keçirilməsinə əlavə yoxlamalar əlavə edilmişdir. Məsələn, STRICT atributuna malik olmayan cədvəllərdə TEXT tipli sütunlarda rəqəmli dəyərlər və NUMERIC tipli sütunlarda rəqəmlər olan sətir dəyərləri olmamalıdır. Həmçinin “WITHOUT ROWID” atributu ilə cədvəllərdə sətirlərin düzgün sırasını yoxlamaq da əlavə edilib.
  • "VACUUM INTO" ifadəsi "PRAGMA synchronous" parametrlərini nəzərə alır.
  • Yaddaş ayırarkən blokların ölçüsünü məhdudlaşdırmağa imkan verən SQLITE_MAX_ALLOCATION_SIZE montaj seçimi əlavə edildi.
  • SQLite-in daxili psevdo-təsadüfi nömrə yaratma alqoritmi RC4 axın şifrəsindən Chacha20-yə köçürüldü.
  • Müxtəlif verilənlər sxemlərində eyni adlı indekslərdən istifadə etməyə icazə verilir.
  • Tipik fəaliyyət zamanı CPU yükünü təxminən 1% azaltmaq üçün performans optimallaşdırmaları edilmişdir.

Mənbə: opennet.ru

Добавить комментарий