一種擬態(tài)數(shù)據(jù)庫(kù)的SQL轉(zhuǎn)譯方法和系統(tǒng)

基本信息

申請(qǐng)?zhí)?/td> CN202110815162.0 申請(qǐng)日 -
公開(公告)號(hào) CN113467785A 公開(公告)日 2021-10-01
申請(qǐng)公布號(hào) CN113467785A 申請(qǐng)公布日 2021-10-01
分類號(hào) G06F8/51(2018.01)I;G06F8/41(2018.01)I 分類 計(jì)算;推算;計(jì)數(shù);
發(fā)明人 張帆;謝光偉;丁帆;方子茁 申請(qǐng)(專利權(quán))人 上海紅陣信息科技有限公司
代理機(jī)構(gòu) 鄭州大通專利商標(biāo)代理有限公司 代理人 張立強(qiáng)
地址 201100上海市閔行區(qū)聯(lián)航路1588號(hào)(浦江鎮(zhèn)481街坊20/1丘)科創(chuàng)樓1號(hào)樓207室
法律狀態(tài) -

摘要

摘要 本發(fā)明提供一種擬態(tài)數(shù)據(jù)庫(kù)的SQL轉(zhuǎn)譯方法和系統(tǒng),該方法包括:對(duì)外部輸入的原始SQL指令進(jìn)行詞法分析、語(yǔ)法分析以及錯(cuò)誤檢測(cè),若有詞法或語(yǔ)法錯(cuò)誤,則提示異常,若無(wú)詞法或語(yǔ)法錯(cuò)誤,則生成所述原始SQL指令的抽象語(yǔ)法樹AST;遍歷抽象語(yǔ)法樹AST,將抽象語(yǔ)法樹AST的節(jié)點(diǎn)信息轉(zhuǎn)化為自定義的數(shù)據(jù)對(duì)象;遍歷自定義的數(shù)據(jù)對(duì)象,通過(guò)訪問(wèn)擬態(tài)數(shù)據(jù)庫(kù)中元數(shù)據(jù)庫(kù)的元數(shù)據(jù)信息,進(jìn)行語(yǔ)義分析,根據(jù)語(yǔ)義分析結(jié)果對(duì)自定義的數(shù)據(jù)對(duì)象節(jié)點(diǎn)信息進(jìn)行改寫;遍歷改寫前的數(shù)據(jù)對(duì)象或改寫后的數(shù)據(jù)對(duì)象,將其拼接為目標(biāo)數(shù)據(jù)庫(kù)的等效、合法的命令或SQL語(yǔ)句。