SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

Dne 9. dubna byla vydána verze 3.53.0 kompaktní multiplatformní integrované DBMS. SQLite. Kód projektu je napsán v jazyce C a je šířen jako veřejné vlastnictví (public domain).

Změny:

  • Opraveno zrušení Oprava chyby způsobující poškození databáze při resetování WAL.. Viz předchozí zpráva. SQLite 3.51.3 s opravou možné chyba poškození databáze v režimu WAL..
  • Byla přidána knihovna pro formátování výsledků SQL dotazů. Formátovač výsledků dotazů (QRF) pro zajištění pohodlného čtení na obrazovce s písmem s fixní šířkou.
  • Byla přidána metoda format k TCL rozhraní pro přístup k QRF z TCL.
    • QRF se nyní používá v konzolové utilitě sqlite pro formátování výsledků dotazů, což zlepšilo jejich zobrazení.
  • Nové funkce jazyka SQL:
    • Byly vylepšeny možnosti příkazu ALTER TABLE pro zajištění možnosti přidávání a odstraňování omezení NOT NULL a CHECK.
    • Operator REINDEX EXPRESSIONS provádí opětovnou indexaci výrazových indexů. Užitečné pro obnovu zastaralých výrazových indexů..
    • Nyní mohou spouštět TEMP triggery měnit a/nebo dotazovat data z tabulek hlavního schématu.
    • Byly vylepšeny příkazy VACUUM INTO: v případě použití jako cílová adresa název souboru ve formátu URI obsahujícím parametr dotazu reserve=N (kde N je číslo od 0 do 255), objem rezervace pro vytvářenou kopii databáze se nastaví na N.
  • Byly přidány nové funkce SQL:
  • Aktualizace v konzolové utilitě:
    • Významná vylepšení příkazu .mode.
    • Díky rozšíření QRF vylepšilo formátování výsledků. Například čísla jsou nyní ve výchozím nastavení zarovnána vpravo režimu tabulkového výstupu..
    • Ve výchozím nastavení se QRF nyní používá při interaktivním použití konzolové utility pro zobrazení výsledků dotazů v blocích, které byly vytvořeny pomocí znaků Unicode pro blokové kreslení, čímž se zvýšila čitelnost. Zastaralý formát výstupu se používá při dávkovém provádění příkazů pro zajištění kompatibility.
    • Jednotlivé (neuzavřené v uvozovkách) středníky na konci příkazů s tečkou jsou ignorovány bez varování. To může být potenciální nekompatibilita!
    • Příkazy .testcase a .check byly opraveny. Nyní skutečně fungují a jsou používány ve skriptech, které jsou součástí standardního testovacího souboru SQLite zabudovaného v zdrojových kódech.
    • Argumenty příkazového řádku odpovídající vzorům *.sql nebo *.txt a představující názvy neprazdných souborů se čtou a interpretují jako skripty obsahující SQL příkazy a/nebo [příkazy s tečkou](https://sqlite.org/cli.html#dotcmd).
    • Nyní lze jako argument příkazu .timer uvést once, aby se časovač spustil pouze při provádění následujícího SQL dotazu.
    • Nový parametr —timeout S příkazu .progress způsobí přerušení vykonávání SQL dotazů po uplynutí S sekund.
    • Příkaz .indexes byl upraven tak, že argument PATTERN se nyní porovnává s názvem indexu, nikoli s názvem indexované tabulky (což argument PATTERN skutečně učinilo užitečným). Kromě toho byly do příkazu .indexes přidány nové možnosti.
  • Vylepšení v 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 téměř vždy funguje rychleji než použití hash tabulek.
    • Vylepšení mechanismu výběru pořadí spojení při provádění velkých vícestranných spojení ve hvězdicovém schématu.
    • Byla vylepšena optimalizace transformace EXISTS na JOIN tak, aby vkládané podmínky JOIN nemusely být nutně vnitřními cykly, za předpokladu, že všechny závislosti pro cykly transformace EXISTS na JOIN se nacházejí ve vnějších cyklech.
    • Byla vylepšena optimalizace omit-noop-join tak, aby mohla vynechat řetězec spojení, který nemá vliv na výsledek.
    • Optimalizace dotazů, které používají GROUP BY e1 ORDER BY e2, kde e1 a e2 jsou identické, s výjimkou pořadí třídění ASC/DESC, pomocí jednoho indexu.
    • Optimalizace operátoru DISTINCT ve virtuálních tabulkách v případech, kdy sada výsledků dotazu zcela neodpovídá podmínce ORDER BY.
  • V rozšíření relace Byly přidány nové rozhraní, které umožňují aplikaci provádět změny po jednom v objektu sqlite3_changegroup:
  • Vylepšení v převodu čísel s plovoucí desetinnou čárkou ↔ text.
    • Kód byl kompletně přepracován pro zlepšení výkonu.
    • Nyní se zaokrouhlení provádí na 17 signifikantních číslic místo 15, jak to bylo ve všech předchozích verzích. Tuto hodnotu lze změnit pomocí funkce sqlite3_db_config s volbou SQLITE_DBCONFIG_FP_DIGITS (viz bod 6g výše).
  • Byla přidána možnost samovytváření indexu pro vyřešení problému zastaralých výrazových indexů..
  • Do konzolové utility sqlite3_rsync byla přidána volba -p|—port.
  • Byla ukončena podpora Windows RT.
  • JavaScript/WASM
    • Byla přidána VFS opfs-wl, funkčně identická s opfs, ale používající pro zamykání Web Locks, což umožňuje spravedlivější rozdělení zámků než v protokolu opfs. opfs-wl vyžaduje funkci Atomics.waitAsync(), proto pro jeho použití jsou potřeba novější verze prohlížečů než pro opfs.

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster