ఒరాకిల్ MySQL 9.2.0 DBMS యొక్క కొత్త శాఖను సృష్టించింది. MySQL కమ్యూనిటీ సర్వర్ 9.2.0 బిల్డ్లు అన్ని ప్రధాన Linux, FreeBSD, macOS మరియు Windows పంపిణీల కోసం సిద్ధం చేయబడ్డాయి. 2023లో ప్రవేశపెట్టిన కొత్త విడుదల మోడల్లో భాగంగా, MySQL 9.2 "ఇన్నోవేషన్" శాఖగా వర్గీకరించబడింది, ఇందులో తదుపరి ముఖ్యమైన విడుదల MySQL 9.3 కూడా ఉంటుంది. కొత్త ఫంక్షనాలిటీకి ముందస్తు యాక్సెస్ కావాలనుకునే వారికి ఇన్నోవేషన్ బ్రాంచ్లు సిఫార్సు చేయబడతాయి, ప్రతి 3 నెలలకు ఒకసారి ప్రచురించబడతాయి మరియు తదుపరి ముఖ్యమైన విడుదల ప్రచురణ వరకు మాత్రమే మద్దతు ఇవ్వబడుతుంది (ఉదాహరణకు, 9.2 బ్రాంచ్ కనిపించిన తర్వాత, 9.1 బ్రాంచ్కు మద్దతు నిలిపివేయబడింది. ) వేసవిలో వారు LTS విడుదలను రూపొందించాలని ప్లాన్ చేస్తారు, ఇది మార్పులేని ప్రవర్తన యొక్క ఊహాజనిత మరియు దీర్ఘకాలిక సంరక్షణ అవసరమయ్యే అమలుల కోసం సిఫార్సు చేయబడింది. LTS శాఖను అనుసరించి, కొత్త ఇన్నోవేషన్ శాఖ ఏర్పడుతుంది - MySQL 10.0.
MySQL 9.2లో ప్రధాన మార్పులు:
- MLE (బహుభాషా ఇంజిన్ కాంపోనెంట్) ఇంజిన్, నిల్వ చేయబడిన విధానాలు మరియు ఫంక్షన్లలో SQL కాకుండా ఇతర భాషలలో కోడ్ను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది, జావాస్క్రిప్ట్లో పునర్వినియోగపరచదగిన లైబ్రరీలకు మద్దతును జోడించింది. అటువంటి లైబ్రరీల నుండి విధులు JavaScript నిల్వ చేయబడిన విధానాల నుండి పిలవబడతాయి, కానీ తప్పనిసరిగా "ఎగుమతి" కీవర్డ్ని ఉపయోగించి తప్పనిసరిగా దిగుమతి చేసుకోదగినవిగా గుర్తించబడాలి. జావాస్క్రిప్ట్ లైబ్రరీల కనెక్షన్ని నియంత్రించడానికి, కొత్త SQL స్టేట్మెంట్లు “లైబ్రరీని సృష్టించు” మరియు “డ్రాప్ లైబ్రరీ” జోడించబడ్డాయి. అందుబాటులో ఉన్న జావాస్క్రిప్ట్ లైబ్రరీల జాబితాను వీక్షించడానికి “షో క్రియేట్ లైబ్రరీ” అనే వ్యక్తీకరణ జోడించబడింది. JavaScript లైబ్రరీల గురించిన సమాచారం “లైబ్రరీలు” సిస్టమ్ పట్టికలో ప్రతిబింబిస్తుంది మరియు అటువంటి లైబ్రరీలను ఉపయోగించే నిల్వ చేయబడిన విధానాల గురించిన సమాచారం “ROUTINE_LIBRARIES” పట్టికలో ప్రతిబింబిస్తుంది. "USING" వ్యక్తీకరణలో లైబ్రరీల జాబితాను పేర్కొనడం ద్వారా నిల్వ చేయబడిన విధానంలో లైబ్రరీని చేర్చడం జరుగుతుంది.
- JavaScript కోడ్ నుండి నిల్వ చేయబడిన విధానాలు, విధులు మరియు సెషన్ వేరియబుల్లను యాక్సెస్ చేయడానికి API జోడించబడింది. MySQL ఫంక్షన్లను యాక్సెస్ చేయడానికి getFunction() పద్ధతి జోడించబడింది మరియు నిల్వ చేయబడిన విధానాలకు getProcedure() పద్ధతి జోడించబడింది, ఇది ఆర్గ్యుమెంట్లతో అమలు చేయగల JavaScript ఫంక్షన్ ఆబ్జెక్ట్ను అందిస్తుంది. జావాస్క్రిప్ట్ సెషన్ ఆబ్జెక్ట్ యొక్క లక్షణాలు వలె వేరియబుల్స్ నేరుగా యాక్సెస్ చేయబడతాయి. అదనంగా, అదే పేరుతో ఉన్న SQL ఫంక్షన్లను పోలి ఉండే అంతర్నిర్మిత ఫంక్షన్లు rand(), sleep(), uuid() మరియు isUUID()లను నేరుగా యాక్సెస్ చేయగల సామర్థ్యం జోడించబడింది.
- JavaScript నుండి లావాదేవీలతో పని చేయడానికి API జోడించబడింది, లావాదేవీలతో పని చేయడం కోసం "START TRANSACTION", "COMMIT", "ROLLBACK" మరియు "SET AUTOCOMMIT" వంటి అనేక SQL వ్యక్తీకరణల చర్యలను నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది.
- జావాస్క్రిప్ట్లో వ్రాసిన నిల్వ చేయబడిన విధానాలకు వాదనలలో MySQL ENUM మరియు SET రకాలను ఉపయోగించగల సామర్థ్యాన్ని జోడించారు
- CREATE_SPATIAL_REFERENCE_SYSTEM ప్రత్యేక హక్కు జోడించబడింది, దీనితో మీరు భౌగోళిక సమాచార సిస్టమ్ డేటా కోసం ప్రాదేశిక సూచన నిర్వచనాలను సృష్టించే మరియు తొలగించగల సామర్థ్యాన్ని నియంత్రించవచ్చు. క్రియేట్ స్పేషియల్ రిఫరెన్స్ సిస్టమ్, క్రియేట్ లేదా రీప్లేస్ స్పేషియల్ రిఫరెన్స్ సిస్టమ్ మరియు డ్రాప్ స్పేషియల్ రిఫరెన్స్ సిస్టమ్ స్టేట్మెంట్లను అమలు చేయడానికి ఈ ప్రత్యేక హక్కు లేదా సూపర్ ప్రివిలేజ్ ఇప్పుడు అవసరం.
- "EXPLAIN FORMAT=JSON" అవుట్పుట్కి JSON ఫార్మాట్ వెర్షన్ సమాచారం జోడించబడింది. JSON ఫార్మాట్ వెర్షన్ని సెట్ చేయడానికి, explain_json_format_version వేరియబుల్ (“SET explain_json_format_version=1|2”) ఉపయోగించండి.
- నిలిపివేయబడింది: "ఫ్లష్ ప్రివిలేజెస్" వ్యక్తీకరణ, "మైస్క్లాడ్మిన్ ఫ్లష్-ప్రివిలేజెస్" మరియు "మైస్క్లాడ్మిన్ రీలోడ్" ఆదేశాలు, "వెర్షన్_టోకెన్లు" ప్లగ్ఇన్.
- BINLOG కీవర్డ్ నిలిపివేయబడింది.
- 32 దుర్బలత్వాలు పరిష్కరించబడ్డాయి, వాటిలో 3 రిమోట్గా ఉపయోగించబడతాయి. రెండు అత్యంత తీవ్రమైన సమస్యలు 9.1 తీవ్రత స్థాయిని కలిగి ఉంటాయి మరియు కెర్బెరోస్ మరియు కర్ల్ కాంపోనెంట్లలోని దుర్బలత్వాలకు సంబంధించినవి. తక్కువ తీవ్రమైన దుర్బలత్వాలు InnoDB, థ్రెడ్ పూలింగ్, DDL, ఆప్టిమైజర్, పార్సర్ మరియు ప్రామాణీకరణ వ్యవస్థను ప్రభావితం చేస్తాయి.
మూలం: opennet.ru
