Ngaleupaskeun DBMS SQLite 3.31 kalayan dukungan pikeun kolom anu dihasilkeun

diterbitkeun ngabebaskeun SQLite 3.31.0, DBMS lightweight dirancang salaku perpustakaan plug-in. Kode SQLite disebarkeun salaku domain publik, i.e. tiasa dianggo tanpa larangan sareng gratis pikeun tujuan naon waé. Pangrojong kauangan pikeun pamekar SQLite disayogikeun ku konsorsium anu didamel khusus, anu kalebet perusahaan sapertos Adobe, Oracle, Mozilla, Bentley sareng Bloomberg.

utama parobahan:

  • rojongan ditambahkeun kolom dihasilkeun (kolom diitung), nu ngidinan Anjeun pikeun nangtukeun kolom mun anjeun nyieun tabel nu nilai otomatis diitung dumasar kana eusi kolom sejen. Kolom anu dibangkitkeun tiasa virtual (dihasilkeun dina laleur sareng unggal aksés) atanapi disimpen dina pangkalan data (disimpen unggal waktos kolom anu aya hubunganana diropéa). Eusi kolom dihasilkeun ngan sadia dina mode baca (parobahan dijieun ngan ngaliwatan modifikasi tina nilai dina kolom sejen aub dina itungan). Salaku conto:

    Jieun tabél t1(
    KUNCI PRIMARY INTEGER,
    b INT,
    c TEKS,
    d INT dihasilkeun salawasna AS (a*abs(b)) VIRTUAL,
    e NASKAH DIBUAT SELALU AS (substr(c,b,b+1)) DISIMPAN
    );

  • Ditambahkeun PRAGMA trusted_schema, setélan SQLITE_DBCONFIG_TRUSTED_SCHEMA jeung pilihan assembly "-DSQLITE_TRUSTED_SCHEMA", nu ngidinan Anjeun pikeun ngadalikeun citakan panyalindungan ngalawan serangan ngaliwatan modifikasi tina schema data dina database. Perlindungan aktip ngabatesan pamakean fungsi SQL (henteu ditandaan SQLITE_INNOCUOUS) dina pemicu, pintonan, CHECK sareng pernyataan DEFAULT, indéks, sareng kolom anu dihasilkeun. Pamakéan tabel maya dina micu sarta pintonan ogé ditumpurkeun iwal tabel maya dinyatakeun sacara eksplisit kalawan bendera SQLITE_VTAB_INNOCUOUS.
  • Dilaksanakeun kamampuhan pikeun napelkeun sipat ka fungsi SQL didefinisikeun dina aplikasi SQLITE_INNOCUOUS (fungsi anu henteu ngabahayakeun anu henteu gumantung kana parameter éksternal sareng henteu tiasa dianggo pikeun ngalakukeun tindakan jahat) sareng SQLITE_DIRECTONLY (ngan nelepon langsung dina queries SQL, tanpa kamungkinan ngagunakeun dina pemicu, pintonan sarta diagram struktur data);
  • modul ditambahkeun uih kalawan palaksanaan fungsi pikeun ngolah UUID (RFC-4122);
  • Ditambahkeun PRAGMA hard_heap_limit sareng fungsina sqlite3_hard_heap_limit64() ngadalikeun ukuran numpuk maksimum;
  • Dina PRAGMA function_list ditambahkeun kaluaran tipe, sipat sarta jumlah argumen unggal fungsi;
  • Pikeun tabel virtual DBSTAT ditambihan mode aggregation data;
  • sqlite3_open_v2 () implements pilihan SQLITE_OPEN_NOFOLLOW, nu ngidinan Anjeun pikeun nganonaktipkeun bubuka Tumbu simbolis;
  • Pikeun argumen Jalan, diliwatan kana fungsi JSON, ditambahkeun rojongan pikeun "#-N" notasi Asép Sunandar Sunarya;
  • Dina sistem distribusi mémori titingalian rojongan pikeun dua pools memori misah geus dilaksanakeun, nu masing-masing bisa dipaké pikeun allocate blok tina ukuran béda (separation ngidinan Anjeun pikeun dilegakeun pamakéan sistem lookaside, bari ngurangan ukuran panyangga disadiakeun pikeun tiap sambungan tina 120 ka 48. KB);
  • Pangrojong PRAGMA parantos dileungitkeun legacy_file_format, anu teu cocog sareng VACUUM, kolom dihasilkeun, sareng indéks turun (rojongan format warisan tiasa dipulangkeun liwat bendera SQLITE_DBCONFIG_LEGACY_FILE_FORMAT di sqlite3_db_config ()).

sumber: opennet.ru

Tambahkeun komentar