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)
11091109Form_pg_type typeStruct ;
11101110PLpgSQL_type * typ ;
11111111char * cp [2 ];
1112+ char * colname [1 ];
11121113int qualified_att_len ;
11131114int numdots = 0 ;
11141115int i ;
@@ -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 " ));
11391140classOid = RangeVarGetRelid (relvar , true);
11401141if (!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+
11751179if (!HeapTupleIsValid (attrtup ))
11761180{
11771181ReleaseSysCache (classtup );
@@ -1273,7 +1277,7 @@ plpgsql_parse_dblwordrowtype(char *word)
12731277memcpy (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 " ));
12771281classOid = RangeVarGetRelid (relvar , true);
12781282if (!OidIsValid (classOid ))
12791283elog (ERROR ,"%s: no such class" ,cp );