diff options
Diffstat (limited to 'src/backend/parser/keywords.c')
-rw-r--r-- | src/backend/parser/keywords.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index fad08c849f1..12b05c6bcd1 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.99 2001/10/10 00:02:42 petere Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.100 2002/02/18 23:11:18 petere Exp $ * *------------------------------------------------------------------------- */ @@ -269,6 +269,7 @@ static ScanKeyword ScanKeywords[] = { {"unlisten", UNLISTEN}, {"until", UNTIL}, {"update", UPDATE}, + {"usage", USAGE}, {"user", USER}, {"using", USING}, {"vacuum", VACUUM}, @@ -354,3 +355,36 @@ ScanKeywordLookup(char *text) return NULL; } + + +/* + * This does the reverse mapping from token number to string. + */ +const char * +TokenString(int token) +{ + int i = 0; + static char buf[NAMEDATALEN]; + + while (i < sizeof(ScanKeywords)) + { + if (ScanKeywords[i].value == token) + { + int k; + + /* uppercase */ + for (k = 0; k < NAMEDATALEN; k++) + if (ScanKeywords[i].name[k] >= 'a' + && ScanKeywords[i].name[k] <= 'z') + buf[k] = ScanKeywords[i].name[k] + ('A' - 'a'); + else + buf[k] = ScanKeywords[i].name[k]; + + return buf; + } + + i++; + } + + return NULL; +} |