SQLite 3.35 útgáfa

Útgáfa af SQLite 3.35, léttu DBMS hannað sem viðbótasafn, hefur verið gefin út. SQLite kóðanum er dreift í almenningseign, þ.e. hægt að nota án takmarkana og ókeypis í hvaða tilgangi sem er. Fjárhagslegur stuðningur við SQLite forritara er veittur af sérstaklega stofnuðu hópi, sem inniheldur fyrirtæki eins og Adobe, Oracle, Mozilla, Bentley og Bloomberg.

Helstu breytingar:

  • Bætt við innbyggðum stærðfræðiaðgerðum (log2(), cos(), tg(), exp(), ln(), pow() o.s.frv.) sem hægt er að nota í SQL. Til að virkja innbyggðar aðgerðir þarf að byggja með "-DSQLITE_ENABLE_MATH_FUNCTIONS" valkostinum.
  • Innleiddi stuðning fyrir „ALTER TABLE DROP COLUMN“ tjáninguna til að fjarlægja dálka úr töflu og hreinsa gögn sem áður voru geymd í tilteknum dálki.
  • Útfærslan á UPSERT (bæta við-eða-breyta) aðgerðinni hefur verið stækkuð, sem gerir í gegnum tjáningar eins og „INSERT ... ON FLICK DO NOTHING/UPDATE“ kleift að hunsa villu eða framkvæma uppfærslu í stað þess að setja inn ef það er ómögulegt að bæta við gögn í gegnum „INSERT“ (til dæmis, ef skrá er þegar til, geturðu gert UPDATE í stað INSERT). Nýja útgáfan gerir þér kleift að tilgreina marga ON CONFLICT blokkir, sem verða unnar í röð. Síðasta „ON CONFLICT“ blokkin gerir kleift að sleppa átakaskilgreiningarbreytu til að nota „DO UPDATE“.
  • DELETE, INSERT og UPDATE aðgerðirnar styðja RETURNING tjáninguna, sem hægt er að nota til að sýna innihald eyddrar, settrar eða breyttrar skráningar. Til dæmis mun orðatiltækið „setja inn í ... skilaauðkenni“ skila auðkenni bættrar línu og „uppfæra ... sett verð = verð * 1.10 skilaverð“ mun skila breyttu verðgildi.
  • Fyrir Common Table Expressions (CTE), sem leyfa notkun tímabundinna nafngreindra niðurstöðusetta sem tilgreind eru með WITH setningunni, er valið á „MATERIALIZED“ og „NOT MATERIALIZED“ stillingum leyfilegt. „MATERIALIZED“ felur í sér að skyndiminni fyrirspurnarinnar sem tilgreind er í yfirlitinu í sérstakri líkamlegri töflu og síðan sækja gögn úr þessari töflu, og með „NOT MATERIALIZED“ verða endurteknar fyrirspurnir framkvæmdar í hvert sinn sem farið er í útsýnið. SQLite var upphaflega sjálfgefið „NOT MATERIALIZED“ en hefur nú breyst í „MATERIALIZED“ fyrir CTE sem eru notuð oftar en einu sinni.
  • Minni minnisnotkun þegar VACUUM aðgerð er framkvæmd á gagnagrunnum sem innihalda mjög stór TEXT eða BLOB gildi.
  • Unnið hefur verið að því að auka afköst fínstillingar- og fyrirspurnaskipuleggjanda:
    • Bætt við hagræðingu þegar lágmarks- og hámarksaðgerðirnar eru notaðar með "IN" tjáningunni.
    • Framkvæmd EXISTS yfirlýsingarinnar hefur verið flýtt.
    • Innleidd stækkun undirfyrirspurna frá UNION ALL tjáningum sem notuð eru sem hluti af JOIN.
    • Vísitalan er notuð fyrir IS NOT NULL tjáning.
    • Tryggir að "x IS NULL" og "x IS NOT NULL" sé breytt í FALSE eða TRUE fyrir dálka sem hafa "NOT NULL" eigindina.
    • Slepptu því að athuga erlenda lykla í UPDATE ef aðgerðin breytir ekki dálkunum sem tengjast erlenda lyklinum.
    • Það er leyfilegt að færa hluta af WHERE blokk inn í undirfyrirspurnir sem innihalda gluggaaðgerðir, svo framarlega sem þeir hlutar takmarkast við að vinna með fasta og afrit af tjáningum úr PARTITION BY blokkum sem notaðar eru í gluggaaðgerðum.
  • Breytingar á skipanalínuviðmótinu:
    • Bætt við skipuninni „.filectrl data_version“.
    • ".once" og ".output" skipanirnar styðja nú að senda úttak til meðhöndlunar sem kallast að nota ónefnda pípur ("|").
    • „stmt“ og „vmstep“ rökunum hefur verið bætt við „.stats“ skipunina til að sýna tölfræði um tjáningar og sýndarvélateljara.

Heimild: opennet.ru

Bæta við athugasemd