Udgivelsen af SQLite 3.53 er offentliggjort, et letvægts databasesystem, der er udformet som et tilslutningsbibliotek. Udgivelsen 3.52 blev annulleret. Koden til SQLite distribueres som offentlig domæne, dvs. den kan bruges uden begrænsninger og gratis til enhver formål. Finansieringen af SQLite-udviklerne sker gennem et specialoprettet konsortium.
Vigtige ændringer:
- En fejl, der kunne føre til beskadigelse af databasen, er blevet rettet. Problemet eksisterede fra version SQLite 3.7.0 (2010), påvirkede databaser i WAL-tilstand (Write-Ahead Logging) og kom til udtryk gennem en kapløbssituation, når to eller flere forbindelser til databasen skulle åbnes samtidig, og forsøgte at skrive eller bekræfte transaktioner i et enkelt databaseeksemplar. Det hævdes, at den fejltilstand, der fører til nedbrud, optræder ekstremt sjældent, og den kunne kun genskabes i et specielt designet testsituation.
- I "ALTER TABLE"-kommandoen er det tilladt at fjerne "NOT NULL" og "CHECK" kontroller.
- Der er tilføjet en kommando "REINDEX EXPRESSIONS" til genopbygning af indekser baseret på udtryk, hvor en funktion anvendes på en kolonne eller operationer på kolonnerne som indeks. Kommandoen kan anvendes til at genskabe forældede indekser.
- Inden for midlertidige triggere oprettet af "CREATE TEMP TRIGGER" kommandoen, og anvendt på tabeller i andre databaser, er det tilladt at ændre tabeller eller forespørge data fra tabeller.
- I "VACUUM INTO" kommandoen, når den målrettede fil angives via URL, er der implementeret brug af parameteren "reserve=N" for at bestemme antallet af oprettede sikkerhedskopier af databasen.
- Nye SQL-funktioner json_array_insert() og jsonb_array_insert() til indsættelse af elementer i JSON-arrays er blevet implementeret.
- Biblioteket QRF (Query Result Formatter) er tilføjet og aktiveret i kommandolinjeværktøjet til formatering af resultaterne af SQL-forespørgsler i et læsevenligt format.
- Ændringer i kommandolinjeværktøjet:
- Kommandoen " .mode" er blevet betydeligt udvidet.
- Udformningen af output er forbedret, for eksempel er tegnsættet som standard aktiveret, og numeriske værdier justeres nu til højre ved tabeloutput.
- Der er sikret, at semikolon " ;" ignoreres efter kommandoer.
- Indholdet af filer angivet i kommandolinjen med filtyperne *.sql og *.txt læses og tolkes nu som sæt af SQL-udtryk og dot-kommandoer.
- Kommandoen «.timer» har fået support for værdien «once» til kun at anvende timeren på den næste SQL-udtryk.
- Kommandoen «.progress» har fået muligheden «—timeout S» for tvingende afbrydelse af SQL-udtryk efter timeout.
- I kommandoen «.indexes» er adfærden blevet ændret, så skabeloner nu anvendes på indexnavne i stedet for navnene på de indekserede tabeller.
- Optimeringer er foretaget i forespørgselsplanlæggeren, som har fremskyndet arbejdet med at fusionere tabeller samt operationer som ECEPT, INTERSECT og UNION.
- Ydeevnen for funktioner, der konverterer flydende tal til tekstrepræsentation, er blevet forbedret.
- Implementeringen, der kompileres til WebAssembly-mellemkode, har fået VFS «opfs-wl», som er identisk med VFS «opfs», men bruger API Web Locks til at håndtere låse.
- I værktøjet sqlite3_rsync er muligheden «-p|—port» tilføjet.
- Understøttelsen af Windows RT-platformen er blevet stoppet.
Kilde: opennet.ru
