Rilis DBMS SQLite 3.31 kanthi dhukungan kanggo kolom sing digawe

diterbitake ngeculake SQLite 3.31.0, DBMS entheng dirancang minangka perpustakaan plug-in. Kode SQLite disebarake minangka domain umum, i.e. bisa digunakake tanpa watesan lan gratis kanggo maksud apa wae. Dhukungan finansial kanggo pangembang SQLite diwenehake dening konsorsium sing digawe khusus, sing kalebu perusahaan kayata Adobe, Oracle, Mozilla, Bentley lan Bloomberg.

Utama ganti:

  • Dhukungan ditambahake kolom kui (kolom sing diwilang), sing ngidini sampeyan nemtokake kolom nalika nggawe tabel sing diwilang kanthi otomatis adhedhasar isi kolom liyane. Kolom sing digawe bisa dadi virtual (digawe kanthi cepet kanthi saben akses) utawa disimpen ing database (disimpen saben kolom sing ana gandhengane dianyari). Isi kolom kui mung kasedhiya ing mode maca (owah-owahan digawe mung liwat modifikasi saka nilai ing kolom liyane melu pitungan). Tuladhane:

    GAWE TABEL t1(
    KUNCI UTAMA INTEGER,
    b INT,
    c TEKS,
    d INT GENERATED tansah AS (a*abs(b)) VIRTUAL,
    e TEKS DIBUAT SELALU AS (substr(c,b,b+1)) DISIMPAN
    );

  • Ditambahake PRAGMA trusted_schema, setelan SQLITE_DBCONFIG_TRUSTED_SCHEMA lan pilihan perakitan "-DSQLITE_TRUSTED_SCHEMA", sing ngidini sampeyan ngontrol inklusi perlindungan marang serangan liwat modifikasi skema data ing basis data. Proteksi aktif mbatesi panggunaan fungsi SQL (ora ditandhani SQLITE_INNOCUOUS) ing pemicu, tampilan, CHECK lan DEFAULT statements, indeks, lan kolom kui. Panggunaan tabel virtual ing pemicu lan tampilan uga dipateni kajaba tabel virtual kasebut kanthi tegas diumumake kanthi flag SQLITE_VTAB_INNOCUOUS.
  • Dilaksanakake kemampuan kanggo nemtokake properti kanggo fungsi SQL sing ditetepake ing aplikasi SQLITE_INNOCUOUS (fungsi ora mbebayani sing ora gumantung ing paramΓ¨ter njaba lan ora bisa digunakake kanggo nindakake tumindak ala) lan SQLITE_DIRECTONLY (mung telpon langsung ing pitakon SQL, tanpa kamungkinan nggunakake ing pemicu, tampilan lan diagram struktur data);
  • Modul ditambahake uud kanthi implementasi fungsi kanggo ngolah UUID (RFC-4122);
  • Ditambahake PRAGMA hard_heap_limit lan fungsi sqlite3_hard_heap_limit64() kanggo ngontrol ukuran tumpukan maksimum;
  • Ing PRAGMA daftar_fungsi output ditambahakΓ© saka jinis, sifat lan nomer bantahan saben fungsi;
  • Kanggo tabel virtual DBSTAT ditambahake mode agregasi data;
  • sqlite3_open_v2 () ngleksanakake pilihan SQLITE_OPEN_NOFOLLOW, sing ngijini sampeyan kanggo mateni bukaan saka pranala simbolis;
  • Kanggo argumentasi PATH, diterusake menyang fungsi JSON, ditambahake dhukungan kanggo notasi array "#-N";
  • Ing sistem distribusi memori katon sisih support kanggo loro pools memori kapisah wis dipun ginakaken, saben kang bisa digunakake kanggo nyedhiakke pamblokiran saka macem-macem ukuran (misah ngijini sampeyan kanggo nggedhekake nggunakake sistem lookaside, nalika ngurangi ukuran buffer diparengake kanggo saben sambungan saka 120 kanggo 48 KB);
  • Dhukungan PRAGMA wis mandheg legacy_file_format, sing ora kompatibel karo VACUUM, kolom sing digawe, lan indeks mudhun (dhukungan format warisan bisa bali liwat flag SQLITE_DBCONFIG_LEGACY_FILE_FORMAT ing sqlite3_db_config ()).

Source: opennet.ru

Add a comment