mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Remove case-sensitive identifiers. Thanks for Dan McGuirk for a reversal patch.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.21 1997/02/07 16:22:50 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.22 1997/03/02 01:02:48 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -80,9 +80,6 @@ static void AddAggToParseState(ParseState *pstate, Aggreg *aggreg);
|
||||
static void finalizeAggregates(ParseState *pstate, Query *qry);
|
||||
static void parseCheckAggregates(ParseState *pstate, Query *qry);
|
||||
|
||||
static bool is_lowercase(char *string);
|
||||
static void make_lowercase(char *string);
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
*****************************************************************************/
|
||||
@@ -1904,32 +1901,6 @@ ParseComplexProjection(ParseState *pstate,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static
|
||||
bool is_lowercase(char *string)
|
||||
{
|
||||
int i;
|
||||
|
||||
for(i = 0; i < strlen(string); i++) {
|
||||
if(string[i] >= 'A' && string[i] <= 'Z') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static
|
||||
void make_lowercase(char *string)
|
||||
{
|
||||
int i;
|
||||
|
||||
for(i = 0; i < strlen(string); i++) {
|
||||
if(string[i] >= 'A' && string[i] <= 'Z') {
|
||||
string[i] = (string[i] - 'A') + 'a';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static Node *
|
||||
ParseFunc(ParseState *pstate, char *funcname, List *fargs, int *curr_resno)
|
||||
{
|
||||
@@ -2048,27 +2019,6 @@ ParseFunc(ParseState *pstate, char *funcname, List *fargs, int *curr_resno)
|
||||
|
||||
AddAggToParseState(pstate, aggreg);
|
||||
return (Node*)aggreg;
|
||||
} else {
|
||||
/* try one more time with lowercase --djm 8/17/96 */
|
||||
if(!is_lowercase(funcname)) {
|
||||
char *lowercase_funcname = pstrdup(funcname);
|
||||
|
||||
make_lowercase(lowercase_funcname);
|
||||
if (strcmp(lowercase_funcname, "count") == 0)
|
||||
basetype = 0;
|
||||
else
|
||||
basetype = exprType(lfirst(fargs));
|
||||
if (SearchSysCacheTuple(AGGNAME,
|
||||
PointerGetDatum(lowercase_funcname),
|
||||
ObjectIdGetDatum(basetype),
|
||||
0, 0)) {
|
||||
Aggreg *aggreg = ParseAgg(lowercase_funcname,
|
||||
basetype, lfirst(fargs));
|
||||
|
||||
AddAggToParseState(pstate, aggreg);
|
||||
return (Node*)aggreg;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user