Wydanie zestawu narzędzi SQLite 3.38 DBMS i sqlite-utils 3.24

Opublikowano wydanie SQLite 3.38, 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ę operatorów -> i ->>, aby ułatwić wyodrębnianie danych w formacie JSON. Nowa składnia operatora jest kompatybilna z MySQL i PostgreSQL.
  • Główna struktura zawiera funkcje umożliwiające pracę z danymi w formacie JSON, których połączenie wymagało wcześniej złożenia z flagą „-DSQLITE_ENABLE_JSON1”. Aby wyłączyć obsługę JSON, dodano flagę „-DSQLITE_OMIT_JSON”.
  • Dodano funkcję unixepoch() zwracającą czas epokowy (liczbę sekund od 1 stycznia 1970).
  • Dla funkcji operujących na czasie zaimplementowano modyfikatory „auto” i „julianday”.
  • Nazwę funkcji SQL printf() zmieniono na format(), aby poprawić kompatybilność z innymi systemami DBMS (obsługa starej nazwy została zachowana).
  • Dodano interfejs sqlite3_error_offset(), aby ułatwić lokalizowanie błędów w zapytaniu.
  • Dodano nowe interfejsy programu do implementacji tabel wirtualnych: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() i sqlite3_vtab_in(), a także nowe typy operatorów SQLITE_INDEX_CONSTRAINT_LIMIT i SQLITE_INDEX_CONSTRAINT_OFFSET.
  • Interfejs wiersza poleceń zapewnia poprawną obsługę znaków tabulacji i nowego wiersza w tekście wyjściowym w trybach wielokolumnowych. Dodano obsługę opcji „--wrap N”, „--wordwrap on” i „-quote” podczas wyprowadzania danych do wielu kolumn. Polecenie .import umożliwia korektę nazw kolumn.
  • Aby przyspieszyć wykonywanie dużych zapytań analitycznych, planista zapytań wykorzystuje probabilistyczną strukturę filtra Blooma w celu ustalenia, czy element występuje w zestawie. Zrównoważone drzewo scalania służy do optymalizacji przetwarzania bloków UNION i UNION ALL obejmujących instrukcje SELECT z klauzulami ORDER BY.

Dodatkowo można odnotować publikację wersji zestawu sqlite-utils 3.24, która zawiera narzędzia i bibliotekę do manipulacji plikami z bazy SQLite. Operacje takie jak bezpośrednie ładowanie danych JSON, CSV lub TSV do pliku bazy danych z automatycznym utworzeniem niezbędnego schematu przechowywania, wykonywanie zapytań SQL na plikach CSV, TSV i JSON, wyszukiwanie pełnotekstowe w bazie danych, konwersja danych i schematy przechowywania w sytuacjach, gdy ALTER nie ma zastosowania, obsługiwane są TABLE (na przykład w celu zmiany typu kolumn), wyodrębnianie kolumn do oddzielnych tabel.

Źródło: opennet.ru

Dodaj komentarz