Kutolewa kwa SQLite 3.35, DBMS nyepesi iliyoundwa kama maktaba programu-jalizi, kumechapishwa. Nambari ya SQLite inasambazwa katika kikoa cha umma, i.e. inaweza kutumika bila vikwazo na bila malipo kwa madhumuni yoyote. Usaidizi wa kifedha kwa wasanidi wa SQLite hutolewa na muungano maalum ulioundwa, unaojumuisha makampuni kama vile Adobe, Oracle, Mozilla, Bentley na Bloomberg.
Mabadiliko kuu:
- Umeongeza vitendakazi vya kihesabu vilivyojumuishwa (log2(), cos(), tg(), exp(), ln(), pow(), n.k.) ambavyo vinaweza kutumika katika SQL. Kuwasha vitendaji vilivyojumuishwa kunahitaji kujenga kwa "-DSQLITE_ENABLE_MATH_FUNCTIONS" chaguo.
- Usaidizi uliotekelezwa wa usemi wa "ALTER TABLE DROP COLUMN" ili kuondoa safu wima kwenye jedwali na kufuta data iliyohifadhiwa hapo awali kwenye safu wima.
- Utekelezaji wa operesheni ya UPSERT (ongeza-au-rekebisha) umepanuliwa, na kuruhusu taarifa kama "INGIZA ... KWENYE MGOGORO USIFANYE LOLOTE/USASISHA" kupuuza hitilafu au kufanya sasisho badala ya kuingiza ikiwa data haiwezi kuongezwa kupitia "INGIZA" (kwa mfano, ikiwa rekodi tayari ipo, USASISHAJI unaweza kufanywa badala ya KUWEKA). Toleo jipya huruhusu kubainisha vizuizi vingi vya "ON CONFLICT", ambavyo vitachakatwa kwa mpangilio vitakavyoonekana. Kizuizi cha mwisho cha "ON CONNFLICT" sasa kinaweza kuacha kigezo cha kutambua mgongano ili kutumia "FANYA USASISHA."
- Operesheni za KUFUTA, INGIZA na KUSASISHA sasa zinatumia usemi wa KUREJESHA, ambao unaweza kutumika kuonyesha maudhui ya rekodi iliyofutwa, iliyoingizwa au iliyorekebishwa. Kwa mfano, usemi "ingiza kwenye ... kitambulisho cha kurudisha" utarudisha kitambulisho cha safu mlalo iliyoongezwa, na "sasisha ... weka bei = bei * 1.10 bei ya kurejesha" itarudisha thamani ya bei iliyobadilishwa.
- Maneno ya Jedwali ya Kawaida (CTEs), ambayo hutumia seti za matokeo zilizopewa majina ya muda zilizofafanuliwa kwa kutumia kifungu cha WITH, sasa ruhusu chaguo la "MATERIALIZED" na "NOT MATERIALIZED". "MATERIALIZED" inamaanisha hoja iliyobainishwa kwenye mwonekano itawekwa kwenye akiba katika jedwali tofauti na kisha kurejeshwa kutoka kwa jedwali hilo, wakati "HAIFANYIKI" inamaanisha kuwa hoja itaulizwa tena kila mwonekano unapofikiwa. Hapo awali, "NOT MATERIALIZED" ilikuwa chaguo-msingi katika SQLite, lakini sasa imebadilishwa kuwa "MATERIALIZED" kwa CTE zilizotumika zaidi ya mara moja.
- Kupunguza matumizi ya kumbukumbu wakati wa kufanya operesheni ya VACUUM kwa hifadhidata zinazojumuisha thamani kubwa sana za TEXT au BLOB.
- Kazi imefanywa ili kuongeza utendaji wa kiboreshaji na mpangaji wa hoja:
- Uboreshaji ulioongezwa wakati wa kutumia kitendakazi cha chini na cha juu kwa usemi wa "IN".
- Utekelezaji wa opereta wa EXISTS umeharakishwa.
- Imetekelezwa upanuzi wa hoja ndogo kutoka kwa maneno ya UNION ALL yaliyotumika katika JOIN.
- Faharasa imewezeshwa kwa misemo ya IS NOT NULL.
- Imetolewa ubadilishaji wa "x IS NULL" na "x IS NOT NULL" hadi FALSE au TRUE kwa safu wima ambazo zina alama ya "NOT NULL".
- Inaruka kuangalia kwa ufunguo wa kigeni katika UPDATE ikiwa operesheni haibadilishi safu wima zinazohusiana na ufunguo wa kigeni.
- Inaruhusiwa kuhamisha sehemu za kifungu cha WHERE hadi kwenye hoja ndogo zilizo na fomula za kukokotoa za dirisha, mradi tu sehemu hizo zimezuiwa kufanya kazi na viunga na nakala za misemo kutoka kwa PARTITION BY vifungu vinavyotumika katika chaguo za kukokotoa za dirisha.
- Mabadiliko katika kiolesura cha mstari wa amri:
- Amri iliyoongezwa ".fillectrl data_version".
- Amri za ".once" na ".output" sasa zinaauni utoaji wa bomba kwa kidhibiti kinachoitwa kwa kutumia mirija isiyo na jina ("|").
- Amri ya ".stats" sasa ina hoja za "stmt" na "vmstep" ili kuonyesha takwimu za usemi na vihesabio vya mashine pepe.
Chanzo: opennet.ru
