SQLite 3.46 udgivelse

Udgivelsen af ​​SQLite 3.46, et letvægts DBMS designet som et plug-in bibliotek, er blevet offentliggjort. SQLite-koden distribueres som et offentligt domæne, dvs. kan bruges uden begrænsninger og gratis til ethvert formål. Økonomisk støtte til SQLite-udviklere ydes af et specielt oprettet konsortium.

Vigtigste ændringer:

  • Det er muligt at bruge separatoren "_" i tal til en mere visuel repræsentation af numeriske bogstaver (f.eks. 1_234_567).
  • Tilføjet json_pretty() SQL-funktion for at generere mere læsbart JSON-output formateret ved hjælp af blokindrykning.
  • Funktionerne i PRAGMA-optimeringsoperationen, som optimerer databasen og alle dataskemaer for at opnå den bedste forespørgselsydeevne, er blevet udvidet. En automatisk anvendt grænse for databaseanalysens varighed er blevet implementeret, hvilket eliminerer overdreven behandlingstid for store databaser. Tilføjet ny bitmaske "PRAGMA optimize(0x10000)" for at kontrollere opdateringer i alle tabeller separat. Automatisk genanalyse af tabeller, der mangler sqlite_stat1-poster, er nu mulig.
  • Tilføjet understøttelse af %G, %g, %U og %V substitutioner til strftime() SQL-funktionen.
  • Nye loft- og gulvmodifikatorer er blevet tilføjet til SQL-dato- og tidsfunktioner for at kontrollere håndteringen af ​​tvetydige datoer, der opstår, når datoerne flyttes med et bestemt antal måneder eller år. Sikret, at UTC- og lokaltidsmodifikatorer ignoreres, hvis SQLite har kendskab til, at tiden allerede er i UTC- eller lokaltidsrepræsentation.
  • Der er foretaget optimering af forespørgselsplanlæggeren. For INSERT-udtryk, der indeholder tusindvis af værdier i VALUES-sektionen, er "VALUES-as-coroutine"-optimeringen aktiveret som standard, hvilket gør parsing af sådanne udtryk cirka dobbelt så hurtigt og reducerer hukommelsesforbruget med det halve. For forespørgsler af formen "SELECT count(DISTINCT col) FROM …", er brugen af ​​indekser tilladt, selvom størrelsen af ​​posterne i indekset ikke er mindre end posterne i tabellen. Logikken til at bestemme situationer, hvor konstanter er angivet i argumenterne for SQL-funktioner, er blevet forbedret. Aktiveret push-down-optimering, der skal anvendes på WHERE-sætninger, der indeholder ikke-relaterede underforespørgsler.
  • Stackoverløbshåndteringslogikken er blevet ændret - når en mangel på hukommelse til stakken detekteres, forsøger parseren nu at allokere yderligere hukommelse fra heapen i stedet for at udsende fejlen "parserstakoverløb".
  • JSON tillader, at kontroltegn specificeres i JSON5-strengliteraler. Operationslogikken for operatorerne "->" og "->>" er blevet ændret, når strengoperanden på højre side kun indeholder tal (i analogi med PostgreSQL behandles sådanne operander nu som en streng).
  • STANDARD-værdien gør det muligt at angive store hexadecimale bogstaver i tabelkolonner.

Kilde: opennet.ru

Tilføj en kommentar