Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit34fd62c

Browse files
committed
Remove case-sensitive identifiers. Thanks for Dan McGuirk for a reversal patch.
1 parenta3a956b commit34fd62c

File tree

5 files changed

+35
-126
lines changed

5 files changed

+35
-126
lines changed

‎src/backend/parser/analyze.c

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.21 1997/02/07 16:22:50 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.22 1997/03/02 01:02:48 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -80,9 +80,6 @@ static void AddAggToParseState(ParseState *pstate, Aggreg *aggreg);
8080
staticvoidfinalizeAggregates(ParseState*pstate,Query*qry);
8181
staticvoidparseCheckAggregates(ParseState*pstate,Query*qry);
8282

83-
staticboolis_lowercase(char*string);
84-
staticvoidmake_lowercase(char*string);
85-
8683
/*****************************************************************************
8784
*
8885
*****************************************************************************/
@@ -1904,32 +1901,6 @@ ParseComplexProjection(ParseState *pstate,
19041901
returnNULL;
19051902
}
19061903

1907-
static
1908-
boolis_lowercase(char*string)
1909-
{
1910-
inti;
1911-
1912-
for(i=0;i<strlen(string);i++) {
1913-
if(string[i] >='A'&&string[i] <='Z') {
1914-
return false;
1915-
}
1916-
}
1917-
1918-
return true;
1919-
}
1920-
1921-
static
1922-
voidmake_lowercase(char*string)
1923-
{
1924-
inti;
1925-
1926-
for(i=0;i<strlen(string);i++) {
1927-
if(string[i] >='A'&&string[i] <='Z') {
1928-
string[i]= (string[i]-'A')+'a';
1929-
}
1930-
}
1931-
}
1932-
19331904
staticNode*
19341905
ParseFunc(ParseState*pstate,char*funcname,List*fargs,int*curr_resno)
19351906
{
@@ -2048,27 +2019,6 @@ ParseFunc(ParseState *pstate, char *funcname, List *fargs, int *curr_resno)
20482019

20492020
AddAggToParseState(pstate,aggreg);
20502021
return (Node*)aggreg;
2051-
}else {
2052-
/* try one more time with lowercase --djm 8/17/96 */
2053-
if(!is_lowercase(funcname)) {
2054-
char*lowercase_funcname=pstrdup(funcname);
2055-
2056-
make_lowercase(lowercase_funcname);
2057-
if (strcmp(lowercase_funcname,"count")==0)
2058-
basetype=0;
2059-
else
2060-
basetype=exprType(lfirst(fargs));
2061-
if (SearchSysCacheTuple(AGGNAME,
2062-
PointerGetDatum(lowercase_funcname),
2063-
ObjectIdGetDatum(basetype),
2064-
0,0)) {
2065-
Aggreg*aggreg=ParseAgg(lowercase_funcname,
2066-
basetype,lfirst(fargs));
2067-
2068-
AddAggToParseState(pstate,aggreg);
2069-
return (Node*)aggreg;
2070-
}
2071-
}
20722022
}
20732023
}
20742024
}

‎src/backend/parser/catalog_utils.c

Lines changed: 1 addition & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
*
88
* IDENTIFICATION
9-
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.16 1997/02/07 16:23:08 momjian Exp $
9+
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.17 1997/03/02 01:03:00 momjian Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -110,9 +110,6 @@ static Oid **argtype_inherit(int nargs, Oid *oid_array);
110110
staticOid**genxprod(InhPaths*arginh,intnargs);
111111
staticintfindsupers(Oidrelid,Oid**supervec);
112112

113-
staticboolis_lowercase(char*string);
114-
staticvoidmake_lowercase(char*string);
115-
116113
/* check to see if a type id is valid,
117114
* returns true if it is. By using this call before calling
118115
* get_id_type or get_id_typname, more meaningful error messages
@@ -1017,32 +1014,6 @@ func_select_candidate(int nargs,
10171014
return (NULL);
10181015
}
10191016

1020-
static
1021-
boolis_lowercase(char*string)
1022-
{
1023-
inti;
1024-
1025-
for(i=0;i<strlen(string);i++) {
1026-
if(string[i] >='A'&&string[i] <='Z') {
1027-
return false;
1028-
}
1029-
}
1030-
1031-
return true;
1032-
}
1033-
1034-
static
1035-
voidmake_lowercase(char*string)
1036-
{
1037-
inti;
1038-
1039-
for(i=0;i<strlen(string);i++) {
1040-
if(string[i] >='A'&&string[i] <='Z') {
1041-
string[i]= (string[i]-'A')+'a';
1042-
}
1043-
}
1044-
}
1045-
10461017
bool
10471018
func_get_detail(char*funcname,
10481019
intnargs,
@@ -1138,32 +1109,13 @@ func_get_detail(char *funcname,
11381109
if (!HeapTupleIsValid(ftup)) {
11391110
Typetp;
11401111

1141-
/*
1142-
* everything else has failed--try converting the function
1143-
* name to lowercase, and do everything one more time
1144-
* (if it's not already lowercase). so ODBC applications
1145-
* that expect uppercase names to work can work. --djm 8/17/96
1146-
*/
1147-
if(!is_lowercase(funcname)) {
1148-
char*lowercase_funcname=strdup(funcname);
1149-
boolresult;
1150-
1151-
make_lowercase(lowercase_funcname);
1152-
result=func_get_detail(lowercase_funcname,nargs,oid_array,
1153-
funcid,rettype,retset,
1154-
true_typeids);
1155-
1156-
free(lowercase_funcname);
1157-
returnresult;
1158-
}else {
11591112
if (nargs==1) {
11601113
tp=get_id_type(oid_array[0]);
11611114
if (typetypetype(tp)=='c')
11621115
elog(WARN,"no such attribute or function \"%s\"",
11631116
funcname);
11641117
}
11651118
func_error("func_get_detail",funcname,nargs,oid_array);
1166-
}
11671119
}else {
11681120
pform= (Form_pg_proc)GETSTRUCT(ftup);
11691121
*funcid=ftup->t_oid;

‎src/backend/parser/keywords.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.6 1997/01/1303:44:25 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.7 1997/03/02 01:03:07 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -154,8 +154,7 @@ ScanKeywordLookup(char *text)
154154

155155
while (low <=high) {
156156
middle=low+ (high-low) /2;
157-
/* keywords case-insensitive (for SQL) -- ay 8/94 */
158-
difference=strcasecmp(middle->name,text);
157+
difference=strcmp(middle->name,text);
159158
if (difference==0)
160159
return (middle);
161160
elseif (difference<0)
@@ -167,6 +166,7 @@ ScanKeywordLookup(char *text)
167166
return (NULL);
168167
}
169168

169+
#ifdefNOT_USED
170170
char*
171171
AtomValueGetString(intatomval)
172172
{
@@ -182,3 +182,4 @@ AtomValueGetString(int atomval)
182182
elog(WARN,"AtomGetString called with bogus atom # : %d",atomval );
183183
return(NULL);
184184
}
185+
#endif

‎src/backend/parser/scan.l

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.11 1997/02/28 13:25:16 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.12 1997/03/02 01:03:16 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -164,8 +164,13 @@ other.
164164
return (SCONST);
165165
}
166166
{identifier}{
167+
int i;
167168
ScanKeyword*keyword;
168169

170+
for(i =0; i <strlen(yytext); i++)
171+
if (isupper(yytext[i]))
172+
yytext[i] =tolower(yytext[i]);
173+
169174
keyword =ScanKeywordLookup((char*)yytext);
170175
if (keyword !=NULL) {
171176
return (keyword->value);
@@ -209,6 +214,7 @@ init_io()
209214
}
210215

211216

217+
212218
#if !defined(FLEX_SCANNER)
213219
/* get lex input from a string instead of from stdin */
214220
int

‎src/test/regress/expected.input

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6699,38 +6699,26 @@ QUERY: SELECT user_relns() AS user_relns
66996699
ORDER BY user_relns;
67006700
user_relns
67016701
-------------
6702-
ABSTIME_TBL
6703-
BOOLTBL1
6704-
BOOLTBL2
6705-
BOX_TBL
6706-
Bprime
6707-
CHAR16_TBL
6708-
CHAR2_TBL
6709-
CHAR4_TBL
6710-
CHAR8_TBL
6711-
CHAR_TBL
6712-
FLOAT4_TBL
6713-
FLOAT8_TBL
6714-
INT2_TBL
6715-
INT4_TBL
6716-
OIDINT2_TBL
6717-
OIDINT4_TBL
6718-
OIDNAME_TBL
6719-
OID_TBL
6720-
POINT_TBL
6721-
POLYGON_TBL
6722-
RELTIME_TBL
6723-
TINTERVAL_TBL
67246702
a,775132
67256703
a_star
6704+
abstime_tbl
67266705
aggtest
67276706
arrtest
67286707
b_star
6708+
booltbl1
6709+
booltbl2
6710+
box_tbl
6711+
bprime
67296712
bt_c16_heap
67306713
bt_f8_heap
67316714
bt_i4_heap
67326715
bt_txt_heap
67336716
c_star
6717+
char16_tbl
6718+
char2_tbl
6719+
char4_tbl
6720+
char8_tbl
6721+
char_tbl
67346722
city
67356723
d_star
67366724
dept
@@ -6739,19 +6727,30 @@ emp
67396727
equipment_r
67406728
f_star
67416729
fast_emp4000
6730+
float4_tbl
6731+
float8_tbl
67426732
hash_c16_heap
67436733
hash_f8_heap
67446734
hash_i4_heap
67456735
hash_txt_heap
67466736
hobbies_r
67476737
iexit
67486738
ihighway
6739+
int2_tbl
6740+
int4_tbl
67496741
iportaltest
6742+
oid_tbl
6743+
oidint2_tbl
6744+
oidint4_tbl
6745+
oidname_tbl
67506746
onek
67516747
onek2
67526748
person
6749+
point_tbl
6750+
polygon_tbl
67536751
ramp
67546752
real_city
6753+
reltime_tbl
67556754
road
67566755
shighway
67576756
slow_emp4000
@@ -6760,6 +6759,7 @@ stud_emp
67606759
student
67616760
tenk1
67626761
tenk2
6762+
tinterval_tbl
67636763
toyemp
67646764
xacttest
67656765
(63 rows)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp