SQLite 3.4.0

Pojawiła się wersja 3.4.0 popularnej nie tylko w świecie PHP bazy danych SQLite. Stoi ona przede wszystkim pod znakiem naprawienia wielu usterek. Przykładowo, usunięty został poważny błąd związany z obsługą transakcji: jeżeli w trakcie przeprowadzania operacji należących do transakcji wystąpił błąd SQLITE_BUSY, mogło dojść do uszkodzenia bazy danych.

Identyczne ryzyko istniało w sytuacji, gdy przy włączonym trybie autovacuum tworzyliśmy tabelę (CREATE TABLE) lub indeks (CREATE INDEX) i zabrakło pamięci lub doszło do przepełnienia kesza (ang. cache). Twórcy SQLite załatali również kilka luk bezpieczeństwa, pozwalających na wywołanie błędu systemowego segmentation fault (po jego wystąpieniu program przerywa pracę).

Poprawiono też wydajność kwerend, zwłaszcza związaną z łączeniem tabel (LEFT JOIN), czy sprawdzaniem, czy dana wartość nie jest NULL-em. Parę istotnych zmian dotyczy też konwersji typów zmiennych i pól: przykładowo, przy zamianie typu BLOB (dane binarne) na TEXT, SQLite będzie automatycznie używał strony kodowej zdefiniowanej ogólnie dla bazy. Podobnie, przy konwersji typów całkowitych do NUMERIC, zachowywana będzie precyzja oryginalnego typu. Co więcej, funkcja TRIM(), której zadaniem jest czyszczenie łańcuchów ze śmieci (znaków ENTER, ESCAPE, spacja, itd, określanych jako whitespace) umieszczonych na ich końcach, nadaje się teraz do obróbki tekstu w różnych językach.

Z mniej istotnych poprawek warto wymienić: usunięcie błędu obsługi standardu kodowania znaków UTF16, wymuszenie zwracania wartości NULL przez funkcję REPLACE(), jeżeli wynik jest pusty czy poprawienie błędu blokowania dostępu do plików bazodanowych pod systemem Windows.

Nie można również pominąć nowych funkcjonalności bazy danych SQLite 3.4.0. Większość z nich dotyczy instrukcji działąjących przyrostowo (ang. incremental), czyli takich, które przetwarzają duże zbiory danych rekord po rekordzie (bez konieczności ładowania całego zbioru do pamięci). Dotyczy to m.in. czyszczenia zawartości tabel (VACUUM) czy obsługi rekordów zawierających pola typu BLOB.

http://sqlite.org/

Zaloguj się, aby dodać komentarz

Nie masz konta? Zarejestruj się »

Zobacz także

Skuteczne narzędzia do wykrywania uszkodzonych podzespołów

pobierz

Wykrywanie i usuwanie niechcianych programów

pobierz

Polecane artykuły

Array ( [docId] => 49132 )

Array ( [docId] => 49132 )