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/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.