summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-03-02 01:03:44 +0000
committerBruce Momjian <bruce@momjian.us>1997-03-02 01:03:44 +0000
commit34fd62c51201cb829e78ae4e84cfd0aa42e45758 (patch)
tree360a051097f6948a9249ac279fd6660a65aed86a /src/backend
parenta3a956bfe549cb94d9909bf2d6a24a67cb23be6f (diff)
downloadpostgresql-34fd62c51201cb829e78ae4e84cfd0aa42e45758.tar.gz
Remove case-sensitive identifiers. Thanks for Dan McGuirk for a reversal patch.
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/parser/analyze.c52
-rw-r--r--src/backend/parser/catalog_utils.c50
-rw-r--r--src/backend/parser/keywords.c7
-rw-r--r--src/backend/parser/scan.l8
4 files changed, 13 insertions, 104 deletions
diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c
index 21667455a8..760ca8066a 100644
--- a/src/backend/parser/analyze.c
+++ b/src/backend/parser/analyze.c
@@ -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;
- }
- }
}
}
}
diff --git a/src/backend/parser/catalog_utils.c b/src/backend/parser/catalog_utils.c
index 661cea098b..60a4323949 100644
--- a/src/backend/parser/catalog_utils.c
+++ b/src/backend/parser/catalog_utils.c
@@ -6,7 +6,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.16 1997/02/07 16:23:08 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.17 1997/03/02 01:03:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -110,9 +110,6 @@ static Oid **argtype_inherit(int nargs, Oid *oid_array);
static Oid **genxprod(InhPaths *arginh, int nargs);
static int findsupers(Oid relid, Oid **supervec);
-static bool is_lowercase(char *string);
-static void make_lowercase(char *string);
-
/* check to see if a type id is valid,
* returns true if it is. By using this call before calling
* get_id_type or get_id_typname, more meaningful error messages
@@ -1017,32 +1014,6 @@ func_select_candidate(int nargs,
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';
- }
- }
-}
-
bool
func_get_detail(char *funcname,
int nargs,
@@ -1138,24 +1109,6 @@ func_get_detail(char *funcname,
if (!HeapTupleIsValid(ftup)) {
Type tp;
- /*
- * everything else has failed--try converting the function
- * name to lowercase, and do everything one more time
- * (if it's not already lowercase). so ODBC applications
- * that expect uppercase names to work can work. --djm 8/17/96
- */
- if(!is_lowercase(funcname)) {
- char *lowercase_funcname = strdup(funcname);
- bool result;
-
- make_lowercase(lowercase_funcname);
- result = func_get_detail(lowercase_funcname, nargs, oid_array,
- funcid, rettype, retset,
- true_typeids);
-
- free(lowercase_funcname);
- return result;
- } else {
if (nargs == 1) {
tp = get_id_type(oid_array[0]);
if (typetypetype(tp) == 'c')
@@ -1163,7 +1116,6 @@ func_get_detail(char *funcname,
funcname);
}
func_error("func_get_detail", funcname, nargs, oid_array);
- }
} else {
pform = (Form_pg_proc) GETSTRUCT(ftup);
*funcid = ftup->t_oid;
diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c
index 80705dee9c..f5382503d5 100644
--- a/src/backend/parser/keywords.c
+++ b/src/backend/parser/keywords.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.6 1997/01/13 03:44:25 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.7 1997/03/02 01:03:07 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -154,8 +154,7 @@ ScanKeywordLookup(char *text)
while (low <= high) {
middle = low + (high - low) / 2;
- /* keywords case-insensitive (for SQL) -- ay 8/94 */
- difference = strcasecmp(middle->name, text);
+ difference = strcmp(middle->name, text);
if (difference == 0)
return (middle);
else if (difference < 0)
@@ -167,6 +166,7 @@ ScanKeywordLookup(char *text)
return (NULL);
}
+#ifdef NOT_USED
char*
AtomValueGetString(int atomval)
{
@@ -182,3 +182,4 @@ AtomValueGetString(int atomval)
elog(WARN,"AtomGetString called with bogus atom # : %d", atomval );
return(NULL);
}
+#endif
diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index f741b8bc7d..255b282e3b 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.11 1997/02/28 13:25:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.12 1997/03/02 01:03:16 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -164,8 +164,13 @@ other .
return (SCONST);
}
{identifier} {
+ int i;
ScanKeyword *keyword;
+ for(i = 0; i < strlen(yytext); i++)
+ if (isupper(yytext[i]))
+ yytext[i] = tolower(yytext[i]);
+
keyword = ScanKeywordLookup((char*)yytext);
if (keyword != NULL) {
return (keyword->value);
@@ -209,6 +214,7 @@ init_io()
}
+
#if !defined(FLEX_SCANNER)
/* get lex input from a string instead of from stdin */
int