Opublikowano wersję SQLite 3.44, lekkiego systemu DBMS zaprojektowanego jako biblioteka wtyczek. Kod SQLite jest rozpowszechniany jako domena publiczna, tj. można z nich korzystać bez ograniczeń i bezpłatnie w dowolnym celu. Wsparcie finansowe dla programistów SQLite zapewnia specjalnie utworzone konsorcjum, w skład którego wchodzą takie firmy jak Bentley, Bloomberg, Expensify i nawigacji Data Standard.
Główne zmiany:
- Funkcje agregujące pozwalają na określenie klauzuli „ORDER BY” po ostatnim parametrze, co pozwala na przetwarzanie argumentów funkcji w określonej kolejności. Może to być przydatne w przypadku funkcji takich jak string_agg() i json_group_array().
- Dodano obsługę skalarnych funkcji SQL concat() i concat_ws(), zgodnych z PostgreSQL, MS SQL Server i MySQL.
- Dodano obsługę funkcji agregującej string_agg(), kompatybilnej z PostgreSQL i MS SQL Server.
- Funkcja strftime() SQL obsługuje teraz specyfikatory "%e", "%F", "%I", "%k", "%l", "%p", "%P", "%R", "%T" i "%u".
- Wiele błędów związanych z poleceniem CREATE TABLE jest teraz zgłaszanych po wykonaniu polecenia CREATE TABLE, a nie po pierwszym użyciu tabeli.
- Polecenie PRAGMA integrity_check implementuje kontrolę spójności zawartości różnych wbudowanych tabel wirtualnych używanych w rozszerzeniach FTS3, FTS4, FTS5, RTREE i GEOPOLY.
- Wbudowane tabele wirtualne używane w rozszerzeniach FTS3, FTS4, FTS5, RTREE i GEOPOLY mogą być używane wewnątrz wyzwalaczy.
- Określenie ustawienia SQLITE_DBCONFIG_DEFENSIVE zapewnia ochronę przed włączeniem trybu „PRAGMA writable_schema”.
- Podczas kompilacji za pomocą kompilatora Microsoft C ustawienie SQLITE_USE_SEH (Structured Exception Handling) jest domyślnie włączone.
- Wprowadzono optymalizacje w planiście zapytań dotyczące częściowego skanowania indeksu podczas określania stałej wartości dla kolumny tabeli w klauzuli WHERE. Ze względu na zidentyfikowane regresje wyłączono optymalizację skanowania widoku dodaną w wersji 3.42.0.
- Zapewnia sprawdzanie w czasie wykonywania, czy typ long double obsługuje system z większą dokładnością niż typ double.
- W interfejsie poleceń dla Windows Domyślnie do danych wejściowych i wyjściowych używane jest kodowanie UTF-8 (opcja „--no-utf8” umożliwia jego wyłączenie).
Źródło: opennet.ru
