/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/interfaces/ecpg/preproc/ecpg_keywords.c
54 строки
1 KB
Amit Kapila
Make the order of the header file includes consistent in non-backend modules.
25 окт 2019, 05:11
25 окт 2019, 05:11
dddf4cd
Код
Авторство
О чём код?
/*------------------------------------------------------------------------- * * ecpg_keywords.c * lexical token lookup for reserved words in postgres embedded SQL * * IDENTIFICATION * src/interfaces/ecpg/preproc/ecpg_keywords.c * *------------------------------------------------------------------------- */ #include "postgres_fe.h" #include <ctype.h> /* ScanKeywordList lookup data for ECPG keywords */ #include "ecpg_kwlist_d.h" #include "preproc_extern.h" #include "preproc.h" /* Token codes for ECPG keywords */ #define PG_KEYWORD(kwname, value) value, static const uint16 ECPGScanKeywordTokens[] = { #include "ecpg_kwlist.h" }; #undef PG_KEYWORD /* * ScanECPGKeywordLookup - see if a given word is a keyword * * Returns the token value of the keyword, or -1 if no match. * * Keywords are matched using the same case-folding rules as in the backend. */ int ScanECPGKeywordLookup(const char *text) { int kwnum; /* First check SQL symbols defined by the backend. */ kwnum = ScanKeywordLookup(text, &ScanKeywords); if (kwnum >= 0) return SQLScanKeywordTokens[kwnum]; /* Try ECPG-specific keywords. */ kwnum = ScanKeywordLookup(text, &ScanECPGKeywords); if (kwnum >= 0) return ECPGScanKeywordTokens[kwnum]; return -1; }