SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

9. dubna byla vydána verze 3.53.0 kompaktního multiplatformního vestavěného systému DBMS. SQLiteKód projektu je napsán v jazyce C a je distribuován ve veřejné doméně.

Změny:

  • Opravena chyba Chyba poškození databáze při resetu WALViz předchozí zprávy SQLite 3.51.3 opravuje možné poškození databáze v režimu WAL.
  • Přidána knihovna pro formátování výsledků SQL dotazů Formátovač výsledků dotazu (QRF) aby se zajistilo snadné čtení na obrazovce s písmem s pevnou šířkou.
  • Přidána metoda formát к Rozhraní TCL pro přístup k QRF z TCL.
    • QRF se nyní používá v konzolovém nástroji. sqlite formátovat výsledky dotazů a vylepšit tak jejich zobrazení.
  • Nové funkce jazyka SQL:
    • Vylepšené velitelské schopnosti ALTER TABLE aby bylo možné přidávat a odebírat omezení NOT NULL a CHECK.
    • Provozovatel REINDEXOVÁNÍ VÝRAZŮ provádí reindexaci indexů výrazů. Užitečné pro obnovu starší indexy výrazů.
    • Nyní Spouštěče TEMP může upravovat a/nebo dotazovat data z hlavních tabulek schématu.
    • Vylepšené velení VAKUOVAT DOPokud je cílem název souboru ve formátu URI, který obsahuje parametr dotazu reserve=N (kde N je číslo od 0 do 255), velikost rezervace pro vytvořenou kopii databáze se nastaví na N.
  • Přidány nové SQL funkce:
  • Aktualizace v konzolový nástroj:
    • Významné zlepšení týmu .režim.
    • Poděkování Rozšíření QRF Formátování výsledků bylo vylepšeno. Například čísla jsou nyní ve výchozím nastavení zarovnána vpravo v tabulkový výstup.
    • Ve výchozím nastavení se nyní při interaktivním použití konzolového nástroje používá QRF k zobrazení výsledků dotazů v blocích vytvořených pomocí znaků Unicode pro kreslení bloků, což zlepšuje čitelnost. Při dávkovém provádění příkazů se z důvodu kompatibility používá starší výstupní formát.
    • Jednoduché středníky (bez uvozovek) na konci tečkové příkazy jsou bez varování ignorovány. Toto je možná nekompatibilita!
    • Příkazy .testcase a .check byly opraveny. Nyní fungují a používají se ve skriptech, které jsou součástí standardní sady testů SQLite, jež je součástí zdrojového kódu.
    • Argumenty příkazového řádku, které odpovídají vzorům *.sql nebo *.txt a jsou názvy neprázdných souborů, jsou čteny a interpretovány jako skripty obsahující příkazy SQL a/nebo příkazy s tečkou [dot]((https://sqlite.org/cli.html#dotcmd).
    • Nyní můžete zadat jednou jako argument příkazu .timer, aby se časovač spustil pouze při provedení dalšího dotazu SQL.
    • Nová volba --timeout S příkazu .progress způsobí, že provádění SQL dotazů se zastaví po S sekundách.
    • Příkaz .indexes byl změněn tak, že argument PATTERN nyní odpovídá názvu indexu, nikoli názvu indexované tabulky (což argument PATTERN činí skutečně užitečným). Kromě toho bylo do příkazu .indexes přidáno několik nových možností.
  • Vylepšení v rozhraní C API:
  • Vylepšení plánovače dotazů:
    • Pro EXCEPT, INTERSECT a UNION se vždy používá algoritmus třídění a slučování, protože je téměř vždy rychlejší než použití hašovacích tabulek.
    • Vylepšení mechanismu výběru pořadí spojení při provádění rozsáhlých vícecestných spojení v hvězdicovém návrhu.
    • Vylepšena optimalizace konverze EXISTS na JOIN tak, aby vložené podmínky JOIN nemusely být ve vnitřních smyčkách, pokud jsou všechny závislosti pro konverzní smyčky EXISTS na JOIN ve vnějších smyčkách.
    • Vylepšená optimalizace omit-noop-join, takže lze vynechat řetězec spojení, které neovlivňují výsledek.
    • Optimalizace dotazů pomocí GROUP BY e1 ORDER BY e2, kde e1 a e2 jsou identické s výjimkou pořadí řazení ASC/DESC, s použitím jednoho indexu.
    • Optimalizujte operátor DISTINCT ve virtuálních tabulkách, pokud sada výsledků dotazu zcela neodpovídá podmínce ORDER BY.
  • В prodloužení relace Byla přidána nová rozhraní, která umožňují aplikaci přidávat změny jednu po druhé do objektu sqlite3_changegroup:
  • Vylepšení v konverzi textu s plovoucí desetinnou čárkou.
    • Kód byl kompletně přepsán pro zlepšení výkonu.
    • Zaokrouhlování je nyní výchozí nastavení vyrobeno až do 17. platných číslic místo 15, jako ve všech předchozích verzích. V případě potřeby lze tuto hodnotu změnit pomocí funkce sqlite3_db_config s opcí SQLITE_DBCONFIG_FP_DIGITS (viz bod 6g výše).
  • Přidána schopnost index samoléčení vyřešit problém starší indexy výrazů.
  • V konzolovém nástroji sqlite3_rsync Přidána volba -p|—port.
  • Podpora byla ukončena RT Windows.
  • JavaScript/WASM
    • Byl přidán VFS opfs-wl. Je funkčně identický s opfs, ale používá webové zámky pro zámky, což zajišťuje spravedlivější rozdělení zámků než protokol opfs. opfs-wl vyžaduje funkci Atomics.waitAsync(), takže vyžaduje novější verze prohlížečů než opfs.

Zdroj: linux.org.ru

Přidat komentář