Yaradılmış sütunlar üçün dəstək ilə DBMS SQLite 3.31-in buraxılışı

nəşr edilmişdir buraxın SQLite 3.31.0, plug-in kitabxanası kimi hazırlanmış yüngül DBMS. SQLite kodu ictimai domen kimi paylanır, yəni. məhdudiyyətsiz və pulsuz olaraq istənilən məqsəd üçün istifadə edilə 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:

  • Əlavə dəstək yaradılan sütunlar (hesablanmış sütunlar), dəyəri başqa sütunun məzmunu əsasında avtomatik hesablanan cədvəl yaratdığınız zaman sütunu müəyyən etməyə imkan verir. Yaradılmış sütunlar ya virtual ola bilər (hər girişlə tez yaradılır) və ya verilənlər bazasında saxlanıla bilər (əlaqəli sütunlar hər dəfə yeniləndikdə saxlanılır). Yaradılmış sütunların məzmunu yalnız oxumaq rejimində mövcuddur (dəyişikliklər yalnız hesablamada iştirak edən başqa sütunda dəyərin dəyişdirilməsi yolu ilə edilir). Misal üçün:

    CƏDVƏL YARADIN t1(
    BÜTÜN SƏDƏLİ İLKİN AÇAR,
    b INT,
    c MƏTN,
    d HƏMİŞƏ (a*abs(b)) VİRTUAL KİMİ İNTİL,
    e HƏMİŞƏ (substr(c,b,b+1)) SAXLANILAN KİMİ YARADAN MƏTN
    );

  • PRAGMA əlavə edildi etibarlı_şema, qəbulu SQLITE_DBCONFIG_TRUSTED_SCHEMA və mühafizənin daxil olmasına nəzarət etməyə imkan verən “-DSQLITE_TRUSTED_SCHEMA” montaj seçimi hücumlar verilənlər bazasında məlumat sxeminin dəyişdirilməsi yolu ilə. Aktiv mühafizə SQL funksiyalarının (SQLITE_INNOCUOUS qeyd edilməyib) istifadəsini triggerlərdə, görünüşlərdə, CHECK və DEFAULT ifadələrində, indekslərdə və yaradılan sütunlarda məhdudlaşdırır. Virtual cədvəlin SQLITE_VTAB_INNOCUOUS bayrağı ilə açıq şəkildə elan edilmədiyi halda, triggerlərdə və görünüşlərdə virtual cədvəllərin istifadəsi də qeyri-aktiv edilir.
  • Tətbiqlərdə müəyyən edilmiş SQL funksiyalarına xassələr təyin etmək imkanı həyata keçirilib SQLITE_INNOCUOUS (xarici parametrlərdən asılı olmayan və zərərli hərəkətlər etmək üçün istifadə edilə bilməyən zərərsiz funksiyalar) və SQLITE_DIRECTONLY (tətiklərdə, görünüşlərdə və məlumat strukturu diaqramlarında istifadə etmək imkanı olmadan yalnız SQL sorğularında birbaşa zəng);
  • Əlavə edilmiş modul uuid UUID (RFC-4122) emalı üçün funksiyaların həyata keçirilməsi ilə;
  • PRAGMA əlavə edildi sərt_yığın_limiti və funksiyası sqlite3_hard_heap_limit64() maksimum yığın ölçüsünə nəzarət etmək;
  • PRAGMA-da funksiya_siyahısı hər bir funksiyanın növünün, xassələrinin və arqumentlərinin sayının əlavə nəticəsi;
  • DBSTAT virtual cədvəlinə əlavə etdi məlumatların toplanması rejimi;
  • sqlite3_open_v2() simvolik keçidlərin açılmasını söndürməyə imkan verən SQLITE_OPEN_NOFOLLOW seçimini həyata keçirir;
  • Mübahisə üçün PATH, JSON funksiyalarına keçdi, “#-N” massiv notasiyası üçün əlavə dəstək;
  • Yaddaş paylama sistemində yan bax iki ayrı yaddaş hövzəsi üçün dəstək həyata keçirilmişdir, hər biri müxtəlif ölçülü blokları ayırmaq üçün istifadə edilə bilər (ayrılıq hər bir əlaqə üçün ayrılmış buferin ölçüsünü 120-dən 48-ə endirməklə yanaşı, yan sistemin istifadəsini genişləndirməyə imkan verir. KB);
  • PRAGMA dəstəyi dayandırıldı köhnə_fayl_formatı, VACUUM, yaradılan sütunlar və azalan indekslərlə uyğun gəlmirdi (köhnə format dəstəyi sqlite3_db_config()-də SQLITE_DBCONFIG_LEGACY_FILE_FORMAT bayrağı vasitəsilə qaytarıla bilər).

Mənbə: opennet.ru

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