Release av SQLite 3.46 har publicerats, en lÀttviktsdatabashanterare som erbjuds som en delad bibliotek. Koden för SQLite distribueras som public domain, dvs. kan anvÀndas utan begrÀnsningar och kostnadsfritt för alla ÀndamÄl. Den ekonomiska stödet för SQLite-utvecklarna ges av ett sÀrskilt bildat konsortium.
Huvudsakliga förÀndringar:
- Möjligheten att anvÀnda den avgrÀnsande tecknet «_» i siffror för en mer överskÄdlig presentation av numeriska litteraler har tillhandahÄllits (t.ex. 1_234_567).
- En SQL-funktion json_pretty() har lagts till för att generera mer lÀsbar utdata i JSON-format, formaterad med indragning av block.
- Möjligheterna för operationen «PRAGMA optimize», som optimerar databasen och alla dataskeman för att uppnÄ bÀsta prestanda av förfrÄgningar, har utvidgats. En automatiskt tillÀmpad grÀns pÄ varaktigheten av databasanalysen har implementerats för att utesluta för lÄng bearbetningstid av stora databaser. En ny bitmask «PRAGMA optimize(0x10000)» har lagts till för sÀrskild kontroll av uppdateringar i alla tabeller. Automatisk omanalys av tabeller dÀr sqlite_stat1 inte finns har sÀkerstÀllts.
- Stödet för platshÄllarna %G, %g, %U och %V har lagts till i SQL-funktionen strftime().
- Nya modifierare ceiling och floor har lagts till i SQL-funktionerna för hantering av datum och tid för att styra behandlingen av tvetydiga datum som uppstÄr vid datumförskjutningsoperatörer med ett visst antal mÄnader eller Är. Modifierarna utc och localtime ignoreras om SQLite vet att tiden redan Àr i UTC eller localtime-format.
- Optimeringar har gjorts i frĂ„gorplaneraren. För INSERT-uttryck som innehĂ„ller tusentals vĂ€rden i VALUES-sektionen, Ă€r «VALUES-as-coroutine»-optimeringen som standard aktiverad, vilket i genomsnitt dubblerar hastigheten pĂ„ parsningsuttryck och minskar minnesanvĂ€ndningen med hĂ€lften. För frĂ„gor av typen «SELECT count(DISTINCT col) FROM âŠÂ» har anvĂ€ndning av index tillĂ„tits, Ă€ven om storleken pĂ„ posterna i indexet Ă€r lika stor som storleken pĂ„ posterna i tabellen. Logiken för att identifiera situationer dĂ€r konstanter anges i argumenten för SQL-funktioner har förbĂ€ttrats. Push-down-optimering för WHERE-uttryck som innehĂ„ller orelaterade underfrĂ„gor har sĂ€kerstĂ€llts.
- Logiken för hantering av stacköverflöde har Ă€ndrats â nĂ€r minnet för stacken Ă€r otillrĂ€ckligt försöker parsers nu allokera mer minne frĂ„n heapen istĂ€llet för att ge ett felmeddelande "parser stack overflow".
- I JSON Àr det tillÄtet att ange kontrolltecken i strÀngliteraler i JSON5. Logiken för operatorerna "->" och "->>" har Àndrats nÀr den högra sidan av strÀngoperanden endast innehÄller siffror (liknande PostgreSQL, behandlas sÄdana operand som strÀngar).
- Det Àr nu tillÄtet att ange stora hexadecimala litteraler i DEFAULT-vÀrde i tabellkolumner.
KĂ€lla: opennet.ru
