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

Commit37b247a

Browse files
committed
Handle mixed-case names properly in plpgsql_parse_tripwordtype.
From Neil Conway.
1 parent0de771d commit37b247a

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

‎src/pl/plpgsql/src/pl_comp.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* procedural language
44
*
55
* IDENTIFICATION
6-
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.53 2002/09/21 18:39:26 tgl Exp $
6+
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.54 2003/01/31 00:31:53 tgl Exp $
77
*
88
* This software is copyrighted by Jan Wieck - Hamburg.
99
*
@@ -1109,6 +1109,7 @@ plpgsql_parse_tripwordtype(char *word)
11091109
Form_pg_typetypeStruct;
11101110
PLpgSQL_type*typ;
11111111
char*cp[2];
1112+
char*colname[1];
11121113
intqualified_att_len;
11131114
intnumdots=0;
11141115
inti;
@@ -1135,7 +1136,7 @@ plpgsql_parse_tripwordtype(char *word)
11351136
}
11361137
}
11371138

1138-
relvar=makeRangeVarFromNameList(stringToQualifiedNameList(cp[0],"plpgsql_parse_dblwordtype"));
1139+
relvar=makeRangeVarFromNameList(stringToQualifiedNameList(cp[0],"plpgsql_parse_tripwordtype"));
11391140
classOid=RangeVarGetRelid(relvar, true);
11401141
if (!OidIsValid(classOid))
11411142
{
@@ -1171,7 +1172,10 @@ plpgsql_parse_tripwordtype(char *word)
11711172
/*
11721173
* Fetch the named table field and it's type
11731174
*/
1174-
attrtup=SearchSysCacheAttName(classOid,cp[1]);
1175+
plpgsql_convert_ident(cp[1],colname,1);
1176+
attrtup=SearchSysCacheAttName(classOid,colname[0]);
1177+
pfree(colname[0]);
1178+
11751179
if (!HeapTupleIsValid(attrtup))
11761180
{
11771181
ReleaseSysCache(classtup);
@@ -1273,7 +1277,7 @@ plpgsql_parse_dblwordrowtype(char *word)
12731277
memcpy(cp,word,i*sizeof(char));
12741278

12751279
/* Lookup the relation */
1276-
relvar=makeRangeVarFromNameList(stringToQualifiedNameList(cp,"plpgsql_parse_dblwordtype"));
1280+
relvar=makeRangeVarFromNameList(stringToQualifiedNameList(cp,"plpgsql_parse_dblwordrowtype"));
12771281
classOid=RangeVarGetRelid(relvar, true);
12781282
if (!OidIsValid(classOid))
12791283
elog(ERROR,"%s: no such class",cp);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp