De release van SQLite 3.37, een lichtgewicht DBMS ontworpen als een plug-in-bibliotheek, is gepubliceerd. De SQLite-code wordt gedistribueerd in het publieke domein, d.w.z. kan zonder beperkingen en gratis voor elk doel worden gebruikt. Financiële ondersteuning voor SQLite-ontwikkelaars wordt geleverd door een speciaal opgericht consortium, waaronder bedrijven als Adobe, Oracle, Mozilla, Bentley en Bloomberg.
Grote veranderingen:
- Ondersteuning toegevoegd voor het aanmaken van tabellen met de vlag "STRICT". Deze vlag vereist verplichte specificatie van het type bij het declareren van kolommen en past strikte controle toe op de conformiteit van de gegevenstypen die aan de kolommen worden toegevoegd. Wanneer deze vlag is ingesteld, geeft SQLite een foutmelding als het niet mogelijk is om de opgegeven gegevens naar het kolomtype te casten. Als de kolom bijvoorbeeld is aangemaakt als "INTEGER", resulteert het doorgeven van de tekenreekswaarde '123' in het optellen van het getal 123, maar een poging om 'xyz' op te geven resulteert in een fout.
- Bij de bewerking "ALTER TABLE ADD COLUMN" is een controle op rijbestaansvoorwaarden toegevoegd bij het toevoegen van kolommen met controles op basis van de expressie "CHECK" of met "NOT NULL"-voorwaarden.
- De expressie "PRAGMA table_list" is geïmplementeerd om informatie over tabellen en weergaven weer te geven.
- De opdrachtregelinterface implementeert de opdracht ".connection", waarmee u gelijktijdig meerdere verbindingen met de database kunt ondersteunen.
- De parameter "--safe" is toegevoegd, waarmee CLI-opdrachten en SQL-expressies worden uitgeschakeld die bewerkingen met andere databasebestanden toestaan dan de database die is opgegeven in de opdrachtregel.
- De CLI is geoptimaliseerd voor prestaties bij het lezen van SQL-instructies die over meerdere regels zijn verdeeld.
- Functies sqlite3_autovacuum_pages(), sqlite3_changes64() en sqlite3_total_changes64() toegevoegd.
- De queryplanner negeert nu ORDER BY-expressies in subquery's en weergaven als het verwijderen van de expressies de semantiek van de query niet verandert.
- De extensie generate_series(START,END,STEP) is gewijzigd, waarbij de eerste parameter ("START") nu verplicht is. Om terug te keren naar het oude gedrag, is herbouwen met de optie "-DZERO_ARGUMENT_GENERATE_SERIES" mogelijk.
- Minder geheugengebruik voor het opslaan van het databaseschema.
Bron: opennet.ru
