[發(fā)明專利]視圖數(shù)據(jù)處理方法及裝置在審
| 申請?zhí)枺?/td> | 202110227983.2 | 申請日: | 2021-03-02 |
| 公開(公告)號: | CN112947936A | 公開(公告)日: | 2021-06-11 |
| 發(fā)明(設(shè)計)人: | 冼鴻業(yè);黃曉濤 | 申請(專利權(quán))人: | 廣州海量數(shù)據(jù)庫技術(shù)有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京尚鉞知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11723 | 代理人: | 王海榮 |
| 地址: | 510510 廣東省廣州市天河區(qū)建*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 視圖 數(shù)據(jù)處理 方法 裝置 | ||
1.一種視圖數(shù)據(jù)處理方法,其特征在于,包括:
對視圖DML語句語法解析以及語義分析,得到查詢樹;
根據(jù)視圖的基表信息重寫查詢樹;其中,對于重寫的查詢樹,將視圖映射為基表以及將操作的視圖字段映射為基表的字段;
根據(jù)所述重寫的查詢樹生成執(zhí)行計劃,執(zhí)行所述執(zhí)行計劃,并反饋執(zhí)行結(jié)果。
2.根據(jù)權(quán)利要求1所述的視圖數(shù)據(jù)處理方法,其特征在于,根據(jù)視圖的基表信息重寫查詢樹的步驟包括:
檢查視圖是否沒有INSTEAD規(guī)則和INSTEAD觸發(fā)器;
若沒有INSTEAD規(guī)則和INSTEAD觸發(fā)器,則判斷視圖是否可以修改:
在確認(rèn)視圖可以修改時,對視圖的基表加鎖,并獲取基表信息;
將獲取的基表信息加到查詢樹中;
重寫查詢樹中所有引用視圖的列,改為引用基表的相關(guān)列;
重寫查詢樹中所有引用視圖信息的節(jié)點(diǎn),改為引用基表信息。
3.根據(jù)權(quán)利要求2所述的視圖數(shù)據(jù)處理方法,其特征在于,判斷視圖是否允許修改的步驟包括:
在視圖同時符合以下情況時,確認(rèn)視圖允許修改:
視圖的定義語句中不含有DISTINCT、GROUP BY、HAVING、UNION、INTERSECT、EXCEPT、WITH AS、LIMIT、OFFSET子句;
視圖的定義語句中只有一個普通表或者另一個視圖;
視圖的字段只能引用基表的普通字段,并且不能重復(fù)引用所述基表的普通字段。
4.根據(jù)權(quán)利要求3所述的視圖數(shù)據(jù)處理方法,其特征在于,在重寫查詢樹中所有引用視圖信息的節(jié)點(diǎn),改為引用基表信息的步驟之后包括:
若視圖DML語句為插入或更新操作,更新目標(biāo)條目中的位置信息;
若視圖DML語句為更新或刪除操作,且視圖的定義語句有條件子句,拷貝一份條件子句;并將重寫的查詢樹的條件語句中引用視圖信息的節(jié)點(diǎn),改為引用基表信息;以及將條件子句合并到重寫的查詢樹的條件語句中。
5.根據(jù)權(quán)利要求1-4中任一項所述的視圖數(shù)據(jù)處理方法,其特征在于,在所述視圖的基表為視圖時,根據(jù)視圖的基表信息重寫查詢樹的步驟包括:
根據(jù)視圖的基表信息遞歸重寫查詢樹。
6.一種視圖數(shù)據(jù)處理裝置,其特征在于,包括:
查詢樹初定模塊,用于對視圖DML語句語法解析以及語義分析,得到查詢樹;
查詢樹重寫模塊,用于根據(jù)視圖的基表信息重寫查詢樹;其中,對于重寫的查詢樹,將視圖映射為基表以及將操作的視圖字段映射為基表的字段;
查詢樹執(zhí)行模塊,用于根據(jù)所述重寫的查詢樹生成執(zhí)行計劃,執(zhí)行所述執(zhí)行計劃,并反饋執(zhí)行結(jié)果。
7.根據(jù)權(quán)利要求6所述的視圖數(shù)據(jù)處理裝置,其特征在于,所述查詢樹重寫模塊具體用于檢查視圖是否沒有INSTEAD規(guī)則和INSTEAD觸發(fā)器;若沒有INSTEAD規(guī)則和INSTEAD觸發(fā)器,則判斷視圖是否可以修改:在確認(rèn)視圖可以修改時,對視圖的基表加鎖,并獲取基表信息;將獲取的基表信息加到查詢樹中;重寫查詢樹中所有引用視圖的列,改為引用基表的相關(guān)列;重寫查詢樹中所有引用視圖信息的節(jié)點(diǎn),改為引用基表信息。
8.根據(jù)權(quán)利要求7所述的視圖數(shù)據(jù)處理裝置,其特征在于,所述查詢樹重寫模塊還具體用于在視圖同時符合以下情況時,確認(rèn)視圖允許修改:
視圖的定義語句中不含有DISTINCT、GROUP BY、HAVING、UNION、INTERSECT、EXCEPT、WITH AS、LIMIT、OFFSET子句;
視圖的定義語句中只有一個普通表或者另一個視圖;
視圖的字段只能引用基表的普通字段,并且不能重復(fù)引用所述基表的普通字段。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣州海量數(shù)據(jù)庫技術(shù)有限公司,未經(jīng)廣州海量數(shù)據(jù)庫技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110227983.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)處理設(shè)備,數(shù)據(jù)處理方法,和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理電路、數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法、數(shù)據(jù)處理控制方法
- 數(shù)據(jù)處理設(shè)備、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及計算機(jī)可讀取的記錄介質(zhì)
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序





