Wydanie SQLite 3.37

Opublikowano wydanie SQLite 3.37, lekkiego systemu DBMS zaprojektowanego jako biblioteka wtyczek. Kod SQLite jest rozpowszechniany w domenie publicznej, tj. mogą być wykorzystywane 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 Adobe, Oracle, Mozilla, Bentley czy Bloomberg.

Główne zmiany:

  • Dodano obsługę tworzenia tabel z atrybutem „STRICT”, który wymaga obowiązkowego wskazania typu podczas deklarowania kolumn i stosuje ścisłą kontrolę dopasowania typu dla danych dodanych do kolumn. Gdy ta flaga jest ustawiona, SQLite wyświetli błąd, jeśli nie będzie możliwe rzutowanie określonych danych na typ kolumny. Na przykład, jeśli kolumna jest utworzona jako „INTEGER”, wówczas przekazanie wartości ciągu „123” spowoduje dodanie liczby 123, ale próba określenia „xyz” zakończy się niepowodzeniem.
  • W operacji „ALTER TABLE ADD COLUMN” dodano sprawdzanie warunków na istnienie wierszy przy dodawaniu kolumn z kontrolami na podstawie wyrażenia „CHECK” lub z warunkami „NOT NULL”.
  • Zaimplementowano wyrażenie „PRAGMA table_list” do wyświetlania informacji o tabelach i widokach.
  • Interfejs wiersza poleceń implementuje polecenie „.connection”, które umożliwia jednoczesną obsługę wielu połączeń z bazą danych.
  • Dodano parametr „—safe”, który wyłącza polecenia CLI i wyrażenia SQL umożliwiające wykonywanie operacji na plikach bazy danych, które różnią się od bazy danych określonej w wierszu poleceń.
  • Interfejs CLI zoptymalizował wydajność odczytu wyrażeń SQL podzielonych na wiele linii.
  • Dodano funkcje sqlite3_autovacuum_pages(), sqlite3_changes64() i sqlite3_total_changes64().
  • Planista zapytań zapewnia ignorowanie klauzul ORDER BY w podzapytaniach i widokach, chyba że usunięcie tych klauzul nie zmieni semantyki zapytania.
  • Zmieniono rozszerzenie generate_series(START,END,STEP), w którym pierwszy parametr („START”) stał się obowiązkowy. Aby przywrócić stare zachowanie, można odbudować za pomocą opcji „-DZERO_ARGUMENT_GENERATE_SERIES”.
  • Zmniejszone zużycie pamięci do przechowywania schematu bazy danych.

Źródło: opennet.ru

Dodaj komentarz