SQLite 3.35 విడుదల

SQLite 3.35 విడుదల, ఒక ప్లగ్-ఇన్ లైబ్రరీ వలె రూపొందించబడిన తేలికపాటి DBMS, ప్రచురించబడింది. SQLite కోడ్ పబ్లిక్ డొమైన్‌గా పంపిణీ చేయబడింది, అనగా. పరిమితులు లేకుండా మరియు ఏదైనా ప్రయోజనం కోసం ఉచితంగా ఉపయోగించవచ్చు. SQLite డెవలపర్‌లకు ఆర్థిక మద్దతు ప్రత్యేకంగా రూపొందించిన కన్సార్టియం ద్వారా అందించబడుతుంది, ఇందులో అడోబ్, ఒరాకిల్, మొజిల్లా, బెంట్లీ మరియు బ్లూమ్‌బెర్గ్ వంటి సంస్థలు ఉన్నాయి.

ప్రధాన మార్పులు:

  • SQLలో ఉపయోగించగల అంతర్నిర్మిత గణిత విధులు (log2(), cos(), tg(), exp(), ln(), pow(), మొదలైనవి జోడించబడ్డాయి. అంతర్నిర్మిత ఫంక్షన్‌లను ప్రారంభించాలంటే "-DSQLITE_ENABLE_MATH_FUNCTIONS" ఎంపికతో నిర్మించడం అవసరం.
  • పట్టిక నుండి నిలువు వరుసలను తీసివేయడానికి మరియు అందించిన కాలమ్‌లో గతంలో నిల్వ చేసిన డేటాను క్లియర్ చేయడానికి “ALTER TABLE DROP COLUMN” వ్యక్తీకరణ కోసం అమలు చేయబడిన మద్దతు.
  • UPSERT (add-or-modify) ఆపరేషన్ అమలు విస్తరించబడింది, "ఇన్సర్ట్ ... ఆన్ కాంఫ్లిక్ట్" వంటి వ్యక్తీకరణల ద్వారా లోపాన్ని విస్మరించడానికి లేదా జోడించడం అసాధ్యం అయితే ఇన్‌సర్ట్ చేయడానికి బదులుగా అప్‌డేట్ చేయడానికి అనుమతిస్తుంది “ఇన్‌సర్ట్” ద్వారా డేటా (ఉదాహరణకు, రికార్డు ఇప్పటికే ఉన్నట్లయితే, మీరు ఇన్‌సర్ట్‌కు బదులుగా అప్‌డేట్ చేయవచ్చు). కొత్త సంస్కరణ అనేక ON Conflict బ్లాక్‌లను పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది, అవి క్రమంలో ప్రాసెస్ చేయబడతాయి. చివరి "సంఘర్షణలో" బ్లాక్ "అప్‌డేట్ చేయి"ని ఉపయోగించడానికి సంఘర్షణ నిర్వచన పరామితిని తొలగించడానికి అనుమతిస్తుంది.
  • DELETE, INSERT మరియు UPDATE ఆపరేషన్‌లు రిటర్నింగ్ ఎక్స్‌ప్రెషన్‌కు మద్దతు ఇస్తాయి, ఇది తొలగించబడిన, చొప్పించిన లేదా సవరించిన రికార్డ్‌లోని కంటెంట్‌లను ప్రదర్శించడానికి ఉపయోగించవచ్చు. ఉదాహరణకు, "ఇన్సర్ట్ ఇన్ ... రిటర్నింగ్ ఐడి" అనే వ్యక్తీకరణ జోడించిన లైన్ ఐడెంటిఫైయర్‌ని అందిస్తుంది మరియు "అప్‌డేట్ ... సెట్ ధర = ధర * 1.10 రిటర్నింగ్ ధర" మారిన ధర విలువను అందిస్తుంది.
  • కామన్ టేబుల్ ఎక్స్‌ప్రెషన్స్ (CTE) కోసం, స్టేట్‌మెంట్‌తో పేర్కొన్న తాత్కాలిక పేరున్న ఫలితాల సెట్‌ల వినియోగాన్ని అనుమతించే, “మెటీరియలైజ్డ్” మరియు “నాట్ మెటీరియలైజ్డ్” మోడ్‌ల ఎంపిక అనుమతించబడుతుంది. “మెటీరియలైజ్డ్” అనేది వీక్షణలో పేర్కొన్న ప్రశ్నను ప్రత్యేక భౌతిక పట్టికలో కాష్ చేసి, ఆపై ఈ పట్టిక నుండి డేటాను పొందడాన్ని సూచిస్తుంది మరియు వీక్షణను యాక్సెస్ చేసిన ప్రతిసారీ “మెటీరియలైజ్ చేయబడలేదు”తో పునరావృత ప్రశ్నలు ప్రదర్శించబడతాయి. SQLite నిజానికి "నాట్ మెటీరియలైజ్డ్"కి డిఫాల్ట్ చేయబడింది, కానీ ఇప్పుడు ఒకటి కంటే ఎక్కువసార్లు ఉపయోగించిన CTEల కోసం "మెటీరియలైజ్డ్"కి మార్చబడింది.
  • చాలా పెద్ద TEXT లేదా BLOB విలువలను కలిగి ఉన్న డేటాబేస్‌లపై VACUUM ఆపరేషన్ చేస్తున్నప్పుడు తగ్గిన మెమరీ వినియోగం.
  • ఆప్టిమైజర్ మరియు క్వెరీ ప్లానర్ పనితీరును పెంచడానికి పని జరిగింది:
    • "IN" వ్యక్తీకరణతో min మరియు max ఫంక్షన్‌లను ఉపయోగిస్తున్నప్పుడు ఆప్టిమైజేషన్‌లు జోడించబడ్డాయి.
    • EXISTS స్టేట్‌మెంట్ అమలు వేగవంతం చేయబడింది.
    • UNION నుండి సబ్‌క్వెరీల విస్తరణ అమలు చేయబడింది JOINలో భాగంగా ఉపయోగించే అన్ని వ్యక్తీకరణలు.
    • IS NULL వ్యక్తీకరణల కోసం సూచిక ఉపయోగించబడుతుంది.
    • "NOT NULL" లక్షణాన్ని కలిగి ఉన్న నిలువు వరుసల కోసం "x IS NULL" మరియు "x IS NULL" FALSE లేదా TRUEకి మార్చబడినట్లు నిర్ధారిస్తుంది.
    • ఆపరేషన్ విదేశీ కీతో అనుబంధించబడిన నిలువు వరుసలను మార్చకపోతే, UPDATEలో విదేశీ కీలను తనిఖీ చేయడాన్ని దాటవేయండి.
    • WHERE బ్లాక్‌లోని భాగాలను విండో ఫంక్షన్‌లను కలిగి ఉన్న సబ్‌క్వెరీలలోకి తరలించడానికి ఇది అనుమతించబడుతుంది, ఆ భాగాలు స్థిరాంకాలతో పని చేయడానికి మరియు విండో ఫంక్షన్‌లలో ఉపయోగించే బ్లాక్‌ల ద్వారా విభజనల నుండి వ్యక్తీకరణల కాపీలకు పరిమితం చేయబడినంత వరకు.
  • కమాండ్ లైన్ ఇంటర్‌ఫేస్‌లో మార్పులు:
    • ".filectrl data_version" ఆదేశం జోడించబడింది.
    • ".Once" మరియు ".output" కమాండ్‌లు ఇప్పుడు పేరులేని పైపులను ("|") ఉపయోగించి హ్యాండ్లర్‌కి అవుట్‌పుట్‌ని పంపడానికి మద్దతు ఇస్తాయి.
    • వ్యక్తీకరణలు మరియు వర్చువల్ మెషీన్ కౌంటర్‌లపై గణాంకాలను ప్రదర్శించడానికి “stmt” మరియు “vmstep” ఆర్గ్యుమెంట్‌లు “.stats” ఆదేశానికి జోడించబడ్డాయి.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి