SQLite 3.35 leveres med nye indbyggede matematiske funktioner og mere

SQLite 3.35-udgivelse er blevet offentliggjort og i denne nye udgivelse af denne database manager tilføjelser af matematiske funktioner er fremhævet, såvel som understøttelse af ALTER TABLE DROP COLUMN-udtrykket for at droppe kolonner fra en tabel, forbedrede operationer og mere.

For dem der ikke er bekendt med SQLite-pakken det er en let DBMS, designet som et plugin-bibliotek. SQLite-koden distribueres som offentligt domæne, det vil sige, det kan bruges uden begrænsninger og gratis til ethvert formål.

Vigtigste nye funktioner i SQLite 3.35

Som nævnt i starten i denne nye version indbyggede matematiske funktioner tilføjet (log2 (), cos (), tg (), exp (), ln (), pow () osv.) der kan bruges i SQL. For at aktivere de indbyggede funktioner kræves en samling med indstillingen "-DSQLITE_ENABLE_MATH_FUNCTIONS".

Udtrykket "ALTER TABEL DROP COLUMN" understøtter nu at slippe kolonner fra en tabel og slette data, der tidligere er gemt i denne kolonne.

Implementeringen af ​​UPSERT-operationen (tilføj eller modificer), som giver dig mulighed for at bruge udtryk som "INSERT ON CONFLICT DO NOTHING / UPDATE" til at ignorere en fejl eller udføre en opdatering i stedet for at indsætte, hvis det er umuligt at tilføje data via "INSERT" (for eksempel hvis en optagelse, kan UPDATE udføres i stedet for INSERT).

I den nye version er det tilladt at specificere flere blokke «I KONFLIK«, Som behandles i rækkefølge. I den sidste "ON CONFLICT" -blok er det tilladt ikke at specificere parameteren for konfliktdefinition for at bruge "DO UPDATE".

Operationer SLET, INDSÆT og OPDATER understøtter RETURNING-udtrykket, der kan bruges for at få vist indholdet af en slettet, indsat eller ændret post. For eksempel vil "indsæt i ... returnerende ID" returnere den tilføjede rækkeidentifikator, og "opdater ... sæt pris = pris * 1.10 returpris" returnerer værdien af ​​den opdaterede pris.

For generaliserede tabeludtryk (Common Table Expression, CTE), som tillader brug af tidsmæssigt navngivne resultatsæt, ved hjælp af MAT spurgte operatøren, godkendte valget af tilstande «MATERIALISERET» og «IKKE MATERIALISERET».

  1. "MATERIALISERET" betyder at cache forespørgslen, der er angivet i visningen, i en separat fysisk tabel med efterfølgende hentning af data fra denne tabel.
  2. Og med "IKKE MATERIALISERET" udføres gentagne forespørgsler hver gang visningen åbnes. Oprindeligt var SQLite standardindstillet til "IKKE MATERIALISERET", men er nu blevet ændret til "MATERIALISERET" for CTE'er, der bruges mere end én gang.

Af de andre ændringer der skiller sig ud fra denne nye version:

  • Reduceret hukommelsesforbrug ved udførelse af VACUUM-operationer for databaser, der indeholder meget store værdier med TEXT- eller BLOB-typer.
  • Der er gjort arbejde for at øge ydeevnen for optimizer og forespørgselsplanlægning.
  • Optimeringer blev tilføjet, når min- og max-funktionerne blev brugt med udtrykket "IN".
  • Udførelsen af ​​EXISTS-erklæringen er fremskyndet.
  • Udvidelsen af ​​underforespørgsler til UNION ALLE udtryk, der bruges i JOIN, implementeres.
  • Indeks brugt til IS IKKE NULL-udtryk.
  • Konvertering af "x IS NULL" og "x IS NOT NULL" til FALSE eller TRUE blev leveret til kolonner med "NOT NULL" -flagget.
  • Kontrollen af ​​fremmednøglen i UPDATE springes over, hvis operationen ikke ændrer de kolonner, der er knyttet til den fremmede nøgle.
  • Flytning af dele af WHERE-sætningen til underforespørgsler, der indeholder vinduesfunktioner, er tilladt, hvis disse dele er begrænset til at arbejde med konstanter og kopier af "PARTITION BY" -sætningsudtryk, der bruges i vinduesfunktioner.

Ændringer i kommandolinjegrænsefladen:

  • Tilføjet kommandoen ".filectrl data_version".
  • Kommandoerne ".once" og ".output" tilføjede understøttelse af overførsel af output til en kaldt controller ved hjælp af ikke-navngivne rør ("|").
  • Kommandoen ".stats" tilføjede argumenterne "stmt" og "vmstep" for at vise statistikker over virtuelle maskintællere og -udtryk.

Endelig hvis du er interesseret i at vide mere om det om denne nye version af SQLite, kan du kontrollere detaljerne ved at gå til følgende link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

bool (sandt)