Bản phát hành SQLite 3.40

Bản phát hành SQLite 3.40, một DBMS nhẹ được thiết kế dưới dạng thư viện trình cắm thêm, đã được xuất bản. Mã SQLite được phân phối dưới dạng miền công cộng, tức là. có thể được sử dụng không hạn chế và miễn phí cho bất kỳ mục đích nào. Hỗ trợ tài chính cho các nhà phát triển SQLite được cung cấp bởi một tập đoàn được thành lập đặc biệt, bao gồm các công ty như Adobe, Oracle, Mozilla, Bentley và Bloomberg.

Sự thay đổi chính:

  • Một tính năng thử nghiệm đã được triển khai để biên dịch SQLite thành mã trung gian WebAssugging, có khả năng chạy trên trình duyệt web và phù hợp để tổ chức công việc với cơ sở dữ liệu từ các ứng dụng web bằng JavaScript. Các nhà phát triển web được cung cấp giao diện hướng đối tượng cấp cao để làm việc với dữ liệu theo kiểu sql.js hoặc Node.js, ràng buộc với API C cấp thấp và API dựa trên cơ chế Web Worker, cho phép bạn tạo các trình xử lý không đồng bộ được thực thi trong các luồng riêng biệt. Dữ liệu mà các ứng dụng web lưu trữ trong phiên bản WASM của SQLite có thể được lưu trữ ở phía máy khách bằng cách sử dụng OPFS (Hệ thống tệp gốc-riêng tư) hoặc API window.localStorage.
  • Đã thêm tiện ích mở rộng khôi phục, được thiết kế để khôi phục dữ liệu từ các tệp bị hỏng trong cơ sở dữ liệu. Trong giao diện dòng lệnh, lệnh “.recover” được sử dụng để khôi phục.
  • Cải thiện hiệu suất lập kế hoạch truy vấn. Các hạn chế đã được loại bỏ khi sử dụng chỉ mục với các bảng có nhiều hơn 63 cột (trước đây, việc lập chỉ mục không được áp dụng khi thao tác với các cột có số thứ tự vượt quá 63). Cải thiện việc lập chỉ mục các giá trị được sử dụng trong biểu thức. Đã dừng tải các chuỗi lớn và các đốm màu từ đĩa khi xử lý các toán tử NOT NULL và IS NULL. Việc cụ thể hóa các chế độ xem mà quá trình quét toàn bộ chỉ được thực hiện một lần sẽ bị loại trừ.
  • Trong cơ sở mã, thay vì loại “char *”, một loại sqlite3_filename riêng biệt được sử dụng để biểu thị tên tệp.
  • Đã thêm hàm nội bộ sqlite3_value_encoding().
  • Đã thêm chế độ SQLITE_DBCONFIG_DEFENSIVE, cấm thay đổi phiên bản lược đồ lưu trữ dữ liệu.
  • Các bước kiểm tra bổ sung đã được thêm vào việc triển khai tham số “PRAGMA Integrity_check”. Ví dụ: các bảng không có thuộc tính STRICT không được chứa các giá trị số trong các cột loại TEXT và các giá trị chuỗi có số trong các cột loại NUMERIC. Ngoài ra còn có tính năng kiểm tra thứ tự chính xác của các hàng trong bảng với thuộc tính “KHÔNG CÓ ROWID”.
  • Biểu thức "VACUUM INTO" tính đến cài đặt "đồng bộ PRAGMA".
  • Đã thêm tùy chọn lắp ráp SQLITE_MAX_ALLOCATION_SIZE, cho phép bạn giới hạn kích thước của các khối khi phân bổ bộ nhớ.
  • Thuật toán tạo số giả ngẫu nhiên tích hợp của SQLite đã được chuyển từ sử dụng mật mã luồng RC4 sang Chacha20.
  • Được phép sử dụng các chỉ mục có cùng tên trong các sơ đồ dữ liệu khác nhau.
  • Tối ưu hóa hiệu suất đã được thực hiện để giảm tải CPU khoảng 1% trong hoạt động thông thường.

Nguồn: opennet.ru

Thêm một lời nhận xét