Opublikowano wydanie SQLite 3.54, lekkiej bazy danych działającej jako biblioteka do podłączenia. Kod SQLite jest udostępniany jako zasób publiczny (public domain), co oznacza, że można z niego korzystać bez ograniczeń i bezpłatnie w dowolnych celach. Wsparcie finansowe dla twórców SQLite zapewnia specjalnie utworzony konsorcjum.
Główne zmiany:
- Przeprowadzono optymalizacje, które pozwoliły przyspieszyć test speedtest1 o około 4% w porównaniu do poprzedniej wersji oraz o 7.5% w porównaniu z wydaniem 3.51 sprzed roku. Wyniki mogą się różnić w zależności od rodzaju obciążenia, opcji kompilacji, CPU, kompilatora i systemu operacyjnego.
- W narzędziu sqlite wprowadzono możliwość korzystania z sekencji escape, aby pokazać dodatkowe informacje o stanie w wierszu poleceń, na przykład „/x” dla informacji o otwartej transakcji, „/r” dla bazy danych w trybie tylko do odczytu, „/m” dla bazy danych przechowywanej tylko w pamięci, „/f” dla wstawienia nazwy pliku z bazą danych, „/v” dla pokazania wersji SQLite, „/:” i „/;” dla tworzenia wyrażeń warunkowych, „/u” i „/h” dla wstawienia nazwy użytkownika i hosta. Ustawienie wzoru wiersza poleceń realizowane jest za pomocą zmiennych środowiskowych SQLITE_PS1 i SQLITE_PS2.
- W narzędziu sqlite do polecenia „.mode” dodano opcje „—ifmt”, „—rowcount on” i „—titles always”, aby dostosować format liczb zmiennoprzecinkowych oraz zarządzać zliczaniem wierszy i nagłówków. Zmieniono obsługę polecenia „.diskused”. Domyślnie pozostawiono nagłówek z nazwami kolumn, jeśli zapytanie nie zwróciło wierszy, oraz wyłączono czyszczenie zerowych bajtów przy wyjściu blob-ów w systemach Unix.
- W harmonogramie zapytań przyspieszono wykonanie operacji UPDATE w sytuacjach, gdy istnieją indeksy wyrażeniowe, ale wartość indeksowana nie zmienia się. Optymalizowano wykonanie operacji „expr OR TRUE” i „expr OR FALSE”. Zignorowano wyrażenie DISTINCT w podzapytaniach SELECT wskazanych po operatorze „IN”. Przyspieszono przetwarzanie i zmniejszono zużycie pamięci w UNION-zapytaniach przy wskazaniu wyrażenia „LIMIT 1”.
- W poleceniu ALTER TABLE zapewniono wyświetlanie błędu dla wszelkich prób dodawania, usuwania lub zmiany nazw kolumn z zarezerwowanymi nazwami „ROWID”, „_ROWID_” i „OID”.
- Dodano funkcję SQL diskused() do oceny miejsca, które tabele i indeksy zajmują na nośniku.
- W funkcjach SQL printf() i format() dodano podmiany „%J” i „%j” do wyjścia w formacie JSON.
- W funkcjach pracy z datami i czasem dodano modyfikatory „weekday -N” oraz „end of”.
- Na systemach obsługujących flagę O_TMPFILE w funkcji open(), ten tryb jest używany przy tworzeniu plików tymczasowych.
- Zaprzestano wspierania starszych wersji systemu Windows, w tym Windows CE i Windows XP. Minimalną wersją jest Windows Vista.
Źródło: opennet.ru
