Keluaran SQLite 3.40

Keluaran SQLite 3.40, DBMS ringan yang direka sebagai perpustakaan pemalam, telah diterbitkan. Kod SQLite diedarkan sebagai domain awam, i.e. boleh digunakan tanpa sekatan dan percuma untuk sebarang tujuan. Sokongan kewangan untuk pembangun SQLite disediakan oleh konsortium yang dicipta khas, termasuk syarikat seperti Adobe, Oracle, Mozilla, Bentley dan Bloomberg.

Perubahan utama:

  • Ciri percubaan telah dilaksanakan untuk menyusun SQLite ke dalam kod perantaraan WebAssembly, yang mampu dijalankan dalam pelayar web dan sesuai untuk mengatur kerja dengan pangkalan data daripada aplikasi web dalam JavaScript. Pembangun web disediakan dengan antara muka berorientasikan objek peringkat tinggi untuk bekerja dengan data dalam gaya sql.js atau Node.js, pengikatan ke atas API C peringkat rendah dan API berdasarkan mekanisme Pekerja Web, yang membolehkan anda untuk mencipta pengendali tak segerak yang dilaksanakan dalam urutan berasingan. Data yang disimpan oleh aplikasi web dalam versi WASM SQLite boleh disimpan pada bahagian klien menggunakan OPFS (Origin-Private FileSystem) atau window.localStorage API.
  • Sambungan pemulihan ditambah, direka untuk memulihkan data daripada fail yang rosak daripada pangkalan data. Dalam antara muka baris arahan, arahan ".recover" digunakan untuk pemulihan.
  • Prestasi perancang pertanyaan dipertingkatkan. Sekatan telah dialih keluar apabila menggunakan indeks dengan jadual dengan lebih daripada 63 lajur (sebelum ini, pengindeksan tidak digunakan apabila operasi dengan lajur yang nombor ordinalnya melebihi 63). Peningkatan pengindeksan nilai yang digunakan dalam ungkapan. Berhenti memuatkan rentetan dan gumpalan besar daripada cakera apabila memproses operator NOT NULL dan IS NULL. Penciptaan pandangan yang imbasan penuh dilakukan sekali sahaja dikecualikan.
  • Dalam pangkalan kod, bukannya jenis "char *", jenis sqlite3_filename yang berasingan digunakan untuk mewakili nama fail.
  • Menambah fungsi dalaman sqlite3_value_encoding().
  • Menambah mod SQLITE_DBCONFIG_DEFENSIVE, yang melarang menukar versi skema storan data.
  • Semakan tambahan telah ditambahkan pada pelaksanaan parameter "PRAGMA integrity_check". Sebagai contoh, jadual tanpa atribut STRICT tidak boleh mengandungi nilai angka dalam lajur jenis TEKS dan nilai rentetan dengan nombor dalam lajur jenis NUMERIC. Juga ditambah ialah semakan untuk susunan baris yang betul dalam jadual dengan atribut "TANPA ROWID".
  • Ungkapan "VACUUM INTO" mengambil kira tetapan "PRAGMA segerak".
  • Menambahkan pilihan pemasangan SQLITE_MAX_ALLOCATION_SIZE, yang membolehkan anda mengehadkan saiz blok apabila memperuntukkan memori.
  • Algoritma penjanaan nombor pseudo-rawak terbina dalam SQLite telah dialihkan daripada menggunakan sifir aliran RC4 kepada Chacha20.
  • Ia dibenarkan untuk menggunakan indeks dengan nama yang sama dalam skema data yang berbeza.
  • Pengoptimuman prestasi telah dibuat untuk mengurangkan beban CPU sebanyak kira-kira 1% semasa aktiviti biasa.

Sumber: opennet.ru

Tambah komen