Byla vydána verze SQLite 3.37, lehkého databázového systému, který je poskytován jako připojitelná knihovna. Kód SQLite je šířen jako veřejný majetek (public domain), což znamená, že může být používán bez omezení a zdarma pro jakékoli účely. Finanční podporu vývojářům SQLite poskytuje speciálně vytvořený konzorcium, do kterého patří společnosti jako Adobe, Oracle, Mozilla, Bentley a Bloomberg.
Hlavní změny:
- Byla přidána podpora pro vytváření tabulek se znakem „STRICT“, který vyžaduje povinné určení typu při deklaraci sloupců a aplikuje přísnou kontrolu shody typů přidaných dat do sloupců. Při nastavení této volby SQLite začne vypisovat chybu, pokud nebude možné převést uvedená data na typ sloupce. Například, pokud byl sloupec vytvořen jako „INTEGER“, předání řetězcové hodnoty '123' povede k přidání čísla 123, ale pokus o uvedení 'xyz' skončí chybou.
- Do operace „ALTER TABLE ADD COLUMN“ byla přidána kontrola podmínek existence řádků při přidávání sloupců se zkontrolovanými výrazy „CHECK“ nebo s podmínkami „NOT NULL“.
- Byl realizován příkaz „PRAGMA table_list“ pro výstup informací o tabulkách a pohledech.
- V příkazovém řádku byla implementována příkaz „.connection“, který umožňuje současně udržovat několik připojení k databázi.
- Byl přidán parametr „—safe“, který vypíná CLI příkazy a SQL výrazy, které umožňují provádět operace se soubory databáze odlišnými od uvedené databáze v příkazovém řádku.
- Byla provedena optimalizace výkonu čtení SQL výrazů, které jsou rozděleny do několika řádků v CLI.
- Byly přidány funkce sqlite3_autovacuum_pages(), sqlite3_changes64() a sqlite3_total_changes64().
- Ve plánovači dotazů bylo zajištěno ignorování výrazů „ORDER BY“ v poddotazech a pohledech, pokud odstranění těchto výrazů nemění sémantiku dotazu.
- Byla změněna syntaxe funkce generate_series(START,END,STEP), jejíž první parametr („START“) byl převeden na povinný. Pro vrácení starého chování je možné přebudovat s volbou „-DZERO_ARGUMENT_GENERATE_SERIES“.
- Byla snížena spotřeba paměti pro ukládání schématu databáze.
Zdroj: opennet.ru
