詳解PostgreSQL 語(yǔ)法中關(guān)鍵字的添加
當(dāng)PostgreSQL的后臺(tái)進(jìn)程Postgres接收到查詢語(yǔ)句后,首先將其傳遞給查詢分析模塊,進(jìn)行詞法、語(yǔ)法和語(yǔ)義分析。
記錄下在parser語(yǔ)法解析模塊添加關(guān)鍵字。
幾個(gè)核心文件簡(jiǎn)介
源文件 |
說(shuō)明 |
---|---|
gram.y |
定義語(yǔ)法結(jié)構(gòu),bison編譯后生成gram.y和gram.h |
scan.l |
定義詞法結(jié)構(gòu),flex編譯后生成scan.c |
kwlist.h |
關(guān)鍵字列表,需要按序排列 |
check_keywords.pl |
linux下會(huì)調(diào)用其進(jìn)行關(guān)鍵字檢查(順序、合法性等) |
語(yǔ)法中關(guān)鍵字的添加
-
gram.y中,%token <keyword>添加關(guān)鍵字PARTITIONS
-
gram.y文件的reserved_keyword段添加關(guān)鍵字PARTITIONS
-
kwlist.h文件,添加語(yǔ)句:PG_KEYWORD("partitions", PARTITIONS, UNRESERVED_KEYWORD)
以上就是PostgreSQL 語(yǔ)法中關(guān)鍵字的添加,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
原文鏈接:https://my.oschina.net/yonj1e/blog/1186290