SQLite 3.35, kergeandmebaas, mis on vormistatud jagatava teekina, on avaldatud. SQLite kood levitatakse avaliku omandina, st seda saab kasutada piiranguteta ja tasuta kÔigi eesmÀrkide jaoks. SQLite arendajate rahalist toetust osutab spetsiaalselt loodud konsortsium, kuhu kuuluvad sellised ettevÔtted nagu Adobe, Oracle, Mozilla, Bentley ja Bloomberg.
Peamised muudatused:
- Lisatud on sisseehitatud matemaatilised funktsioonid (log2(), cos(), tg(), exp(), ln(), pow() jne), mida saab kasutada SQL-is. Sisseehitatud funktsioonide aktiveerimiseks on vajalik koostamine valikuga â-DSQLITE_ENABLE_MATH_FUNCTIONSâ.
- On rakendatud toetust vĂ€ljendile âALTER TABLE DROP COLUMNâ, mis vĂ”imaldab eemaldada veerge tabelist ja puhastada varem selles veerus talletatud andmeid.
- UPSERT (lisa- vĂ”i muuda) toimingu rakendust on laiendatud, vĂ”imaldades vĂ€ljendite nagu âINSERT ⊠ON CONFLICT DO NOTHING/UPDATEâ kaudu ignoreerida viga vĂ”i teostada muudatus sissetoomise asemel juhul, kui andmete lisamine âINSERTâ kaudu pole vĂ”imalik (nĂ€iteks kui kirje juba eksisteerib, vĂ”ib âINSERTiâ asemel teha âUPDATEâ). Uues versioonis on lubatud mÀÀrata mitu âON CONFLICTâ plokki, mis töödeldakse jĂ€rjestikku. Viimases âON CONFLICTâ plokis ei ole lubatud mÀÀrata konflikti mÀÀratlemise parameetrit âDO UPDATEâ kasutamiseks.
- DELETE, INSERT ja UPDATE toimingutes on rakendatud RETURNING vĂ€ljendi toetust, millega saab nĂ€idata eemaldatud, lisatud vĂ”i muudetud kirje sisu. NĂ€iteks vĂ€ljend âinsert into ⊠returning idâ tagastab lisatud rida identifikaatori, samas kui âupdate ⊠set price = price * 1.10 returning priceâ tagastab muudetud hinna vÀÀrtuse.
- Ăldiste tabelivĂ€ljendite (Common Table Expression, CTE) puhul, mis vĂ”imaldavad kasutada ajutisi nimetud tulemuste komplekte, mis on mÀÀratud lĂ€bi WITH operaatori, on valitud reĆŸiimide âMATERIALIZEDâ ja âNOT MATERIALIZEDâ valimise vĂ”imalus. âMATERIALIZEDâ tĂ€hendab mÀÀratud pĂ€ringu ĂŒlevaate jaoks eraldi fĂŒĂŒsilisse tabelisse vahemĂ€lestamist jĂ€rgnevate andmete pĂ€ringute tegemiseks sellest tabelist, samas kui âNOT MATERIALIZEDâ tĂ€hendab, et iga kord, kui tableti juurde pÀÀsetakse, tehakse korduvad pĂ€ringud. Alguses kasutas SQLite vaikimisi reĆŸiimi âNOT MATERIALIZEDâ, kuid nĂŒĂŒd on CTE-de puhul, mida kasutatakse rohkem kui ĂŒks kord, muudetud reĆŸiimi âMATERIALIZEDâ.
- MĂ€lu tarbimine on vĂ€hendatud VACUUM-i toimingu kĂ€igus, kui andmebaasis on vĂ€ga suure vÀÀrtusega TEXT vĂ”i BLOB tĂŒĂŒbid.
- Toodud on tehtud tööde tulemusel optimeerija ja pÀringute kavandaja jÔudluse parandamine:
- Lisatud on optimeerimised min ja max funktsioonide kasutamiseks IN vÀljendis.
- EXISTS operaatori tÀitmine on kiirusestatud.
- AlamkĂŒsitluste juurutamine, kasutades UNION ALL vĂ€ljendeid, mida kasutatakse JOIN osana.
- Is NOT NULL vÀljendite jaoks on jÔudnud indeks.
- VastuvĂ”etud on âx IS NULLâ ja âx IS NOT NULLâ teisendamine FALSE vĂ”i TRUE-ks veergudele, millel on âNOT NULLâ omadus.
- VÀliste vÔtmete kontrolli vahele jÀtmine UPDATE toimingu kÀigus, kui operatsioon ei muuda veerge, mis on seotud vÀliste vÔtmetega.
- Lubatud on WHERE bloki osade liigutamine alamkĂŒsitlustesse, mis sisaldavad akna funktsioone, kui need osad on piiratud konstantide ja vĂ€ljendite koopiatega, mis on tulnud âPARTITION BYâ plokkidest, mida kasutatakse akna funktsioonides.
- Muudatused kÀsurea liideses:
- Lisatud kĂ€sk â.filectrl data_versionâ.
- KĂ€skudes â.onceâ ja â.outputâ on lisatud tugi vĂ€ljundi edastamiseks töötlejatele, mida kutsutakse esile nimekandmata kanalite (â|â) kaudu.
- KĂ€sku â.statsâ on lisatud argumendid âstmtâ ja âvmstepâ, et kuvada statistikat vĂ€ljendite ja virtuaalmasina loendurite kohta.
Allikas: opennet.ru
