Make COUNT,SUM case insensitive.

This commit is contained in:
Bruce Momjian 1996-12-03 05:06:35 +00:00
parent 514d69bdbf
commit f2af019645
2 changed files with 21 additions and 3 deletions

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.5 1996/11/30 03:38:09 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.6 1996/12/03 05:06:14 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -164,7 +164,22 @@ other .
if (keyword != NULL) {
return (keyword->value);
} else {
yylval.str = pstrdup((char*)yytext);
if (toupper(((char *)yytext)[0]) == 'A' &&
strcasecmp((char *)yytext,"AVG") == 0)
yylval.str = pstrdup("avg");
else if (toupper(((char *)yytext)[0]) == 'C' &&
strcasecmp((char *)yytext,"COUNT") == 0)
yylval.str = pstrdup("count");
else if (toupper(((char *)yytext)[0]) == 'M' &&
strcasecmp((char *)yytext,"MAX") == 0)
yylval.str = pstrdup("max");
else if (toupper(((char *)yytext)[0]) == 'M' &&
strcasecmp((char *)yytext,"MIN") == 0)
yylval.str = pstrdup("min");
else if (toupper(((char *)yytext)[0]) == 'S' &&
strcasecmp((char *)yytext,"SUM") == 0)
yylval.str = pstrdup("sum");
else yylval.str = pstrdup((char*)yytext);
return (IDENT);
}
}

View File

@ -1,6 +1,6 @@
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
.\" $Header: /cvsroot/pgsql/src/man/Attic/create_aggregate.l,v 1.1 1996/11/14 10:15:42 scrappy Exp $
.\" $Header: /cvsroot/pgsql/src/man/Attic/create_aggregate.l,v 1.2 1996/12/03 05:06:35 momjian Exp $
.TH "CREATE AGGREGATE" SQL 11/05/95 Postgres95 Postgres95
.SH NAME
create aggregate \(em define a new aggregate
@ -70,6 +70,9 @@ Aggregates also require two initial conditions, one for each
transition function. These are specified and stored in the database
as fields of type
.IR text .
.PP
For compatability, aggregates named "avg", "count", "max", "min",
and "sum" are lowercased on input.
.SH EXAMPLE
This
.IR avg