Wydanie DBMS SQLite 3.40

Opublikowano wersję SQLite 3.40, lekkiej bazy danych, która jest dostarczana jako biblioteka do zainstalowania. Kod SQLite jest rozpowszechniany na zasadzie public domain, co oznacza, że może być używany bez ograniczeń i bezpłatnie w dowolnych celach. Finansowe wsparcie dla programistów SQLite zapewnia specjalnie utworzony konsorcjum, do którego należą takie firmy jak Adobe, Oracle, Mozilla, Bentley i Bloomberg.

Główne zmiany:

  • Zrealizowano eksperymentalną funkcję kompilacji SQLite do pośredniego kodu WebAssembly, zdolnego do uruchamiania w przeglądarkach internetowych i odpowiedniego do zarządzania bazą danych z aplikacji webowych w języku JavaScript. Web-deweloperzy otrzymują wyspecjalizowany obiektowy interfejs do pracy z danymi w stylu sql.js lub Node.js, opakowanie nad niskopoziomowym C API oraz API oparte na mechanizmie Web Worker, który pozwala na tworzenie asynchronicznych handlerów wykonywanych w oddzielnych wątkach. Dane, które aplikacje webowe przechowują w wersji WASM SQLite, mogą być zapisane po stronie klienta za pomocą OPFS (Origin-Private FileSystem) lub API window.localStorage.
  • Dodano rozszerzenie recovery, przeznaczone do odzyskiwania danych z uszkodzonych plików bazy danych. W interfejsie wiersza poleceń do przywracania danych używana jest komenda „.recover”.
  • Udoskonalono działanie planisty zapytań. Usunięto ograniczenia przy używaniu indeksów z tabelami mającymi więcej niż 63 kolumny (wcześniej podczas operacji na kolumnach, których numer przekraczał 63, indeksowanie nie było stosowane). Ulepszono indeksowanie wartości używanych w wyrażeniach. Zaniechano ładowania z dysku dużych wierszy i blobów podczas przetwarzania operatorów NOT NULL i IS NULL. Wyeliminowano materializację widoków, dla których pełne skanowanie odbywa się tylko raz.
  • W bazie kodowej zamiast typu „char *” do reprezentowania nazw plików wprowadzono osobny typ sqlite3_filename.
  • Dodano wewnętrzną funkcję sqlite3_value_encoding().
  • Dodano tryb SQLITE_DBCONFIG_DEFENSIVE, zabraniający zmiany wersji schematu przechowywania danych.
  • Do realizacji parametru „PRAGMA integrity_check” dodano dodatkowe kontrole. Na przykład, w tabelach bez oznaczenia STRICT nie mogą znajdować się wartości numeryczne w kolumnach typu TEXT oraz wartości tekstowe w kolumnach typu NUMERIC. Dodano również kontrolę poprawności kolejności wierszy w tabelach z oznaczeniem „WITHOUT ROWID”.
  • W wyrażeniu „VACUUM INTO” uwzględniono ustawienia „PRAGMA synchronous”.
  • Dodano opcję kompilacji SQLITE_MAX_ALLOCATION_SIZE, która pozwala ograniczyć rozmiar bloków przy alokacji pamięci.
  • Wbudowany w SQLite algorytm generowania liczb pseudolosowych został przetłumaczony z użycia szyfru strumieniowego RC4 na Chacha20.
  • Zezwolono na użycie w różnych schematach danych indeksów o tych samych nazwach.
  • Wprowadzono optymalizacje wydajności, które pozwoliły zmniejszyć obciążenie CPU o około 1% przy typowej aktywności.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster