Opublikowano wersję SQLite 3.44, lekką bazę danych, dostępną jako biblioteka dołączana. Kod SQLite jest udostępniany na mocy public domain, co oznacza, że może być używany bez ograniczeń i bezpłatnie do wszelkich celów. Finansowanie deweloperów SQLite zapewnia specjalnie utworzony konsorcjum, w skład którego wchodzą takie firmy jak Bentley, Bloomberg, Expensify i Navigation Data Standard.
Główne zmiany:
- W funkcjach agregujących po ostatnim parametrze dozwolone jest podanie wyrażenia „ORDER BY” w celu przetwarzania argumentów funkcji w określonej kolejności, co może być przydatne dla takich funkcji jak string_agg() i json_group_array().
- Dodano wsparcie dla skalarnych funkcji SQL concat() i concat_ws(), zgodnych z PostgreSQL, MS SQL Server oraz MySQL.
- Dodano wsparcie dla funkcji agregującej string_agg(), zgodnej z PostgreSQL i MS SQL Server.
- W funkcji SQL strftime() dodano obsługę specyfikatorów „%e”, „%F”, „%I”, „%k”, „%l”, „%p”, „%P”, „%R”, „%T” oraz „%u”.
- Wiele błędów związanych z wyrażeniem „CREATE TABLE” jest teraz zgłaszanych po wykonaniu wyrażenia „CREATE TABLE”, a nie po pierwszym użyciu tabeli.
- W komendzie „PRAGMA integrity_check” zrealizowano weryfikację spójności zawartości różnych wbudowanych wirtualnych tabel używanych w rozszerzeniach FTS3, FTS4, FTS5, RTREE oraz GEOPOLY.
- Wbudowane wirtualne tabele używane w rozszerzeniach FTS3, FTS4, FTS5, RTREE i GEOPOLY można używać wewnątrz wyzwalaczy.
- Przy określaniu ustawienia SQLITE_DBCONFIG_DEFENSIVE zapewniona jest ochrona przed włączeniem trybu „PRAGMA writable_schema”.
- Przy kompilacji za pomocą kompilatora Microsoft C domyślnie włączona jest opcja SQLITE_USE_SEH (Structured Exception Handling).
- Wprowadzono optymalizacje w planowaniu zapytań związane z częściowym skanowaniem indeksów przy określaniu w wyrażeniu WHERE stałej wartości dla kolumny tabeli. Z powodu wykrytych regresji wyłączono optymalizację skanowania widoków, dodaną w wersji 3.42.0.
- Zapewniono sprawdzanie wsparcia dla typu „long double” z precyzją wyższą niż w typie „double” podczas wykonywania.
- W interfejsie poleceń dla systemu Windows domyślnie do wejścia i wyjścia używana jest kodowanie UTF-8 (opcja „—no-utf8” umożliwia wyłączenie tej funkcji).
Źródło: opennet.ru
