From f2af0196453e6872db9f082f6c7175060abce439 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 3 Dec 1996 05:06:35 +0000 Subject: [PATCH] Make COUNT,SUM case insensitive. --- src/backend/parser/scan.l | 19 +++++++++++++++++-- src/man/create_aggregate.l | 5 ++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index df82412467..df0fa826dc 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -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); } } diff --git a/src/man/create_aggregate.l b/src/man/create_aggregate.l index 8d42585776..615d92c336 100644 --- a/src/man/create_aggregate.l +++ b/src/man/create_aggregate.l @@ -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 -- 2.40.0