Index: src/pl/plpgsql/src/pl_comp.c
===================================================================
RCS file: /var/lib/cvs/pgsql-server/src/pl/plpgsql/src/pl_comp.c,v
retrieving revision 1.53
diff -c -r1.53 pl_comp.c
*** src/pl/plpgsql/src/pl_comp.c	21 Sep 2002 18:39:26 -0000	1.53
--- src/pl/plpgsql/src/pl_comp.c	26 Jan 2003 21:41:01 -0000
***************
*** 1109,1114 ****
--- 1109,1115 ----
  	Form_pg_type typeStruct;
  	PLpgSQL_type *typ;
  	char	   *cp[2];
+ 	char	   *colname[1];
  	int			qualified_att_len;
  	int			numdots = 0;
  	int			i;
***************
*** 1135,1141 ****
  		}
  	}
  
! 	relvar = makeRangeVarFromNameList(stringToQualifiedNameList(cp[0], "plpgsql_parse_dblwordtype"));
  	classOid = RangeVarGetRelid(relvar, true);
  	if (!OidIsValid(classOid))
  	{
--- 1136,1142 ----
  		}
  	}
  
! 	relvar = makeRangeVarFromNameList(stringToQualifiedNameList(cp[0], "plpgsql_parse_tripwordtype"));
  	classOid = RangeVarGetRelid(relvar, true);
  	if (!OidIsValid(classOid))
  	{
***************
*** 1171,1177 ****
  	/*
  	 * Fetch the named table field and it's type
  	 */
! 	attrtup = SearchSysCacheAttName(classOid, cp[1]);
  	if (!HeapTupleIsValid(attrtup))
  	{
  		ReleaseSysCache(classtup);
--- 1172,1181 ----
  	/*
  	 * Fetch the named table field and it's type
  	 */
! 	plpgsql_convert_ident(cp[1], colname, 1);
! 	attrtup = SearchSysCacheAttName(classOid, colname[0]);
! 	pfree(colname[0]);
! 
  	if (!HeapTupleIsValid(attrtup))
  	{
  		ReleaseSysCache(classtup);
***************
*** 1273,1279 ****
  	memcpy(cp, word, i * sizeof(char));
  
  	/* Lookup the relation */
! 	relvar = makeRangeVarFromNameList(stringToQualifiedNameList(cp, "plpgsql_parse_dblwordtype"));
  	classOid = RangeVarGetRelid(relvar, true);
  	if (!OidIsValid(classOid))
  		elog(ERROR, "%s: no such class", cp);
--- 1277,1283 ----
  	memcpy(cp, word, i * sizeof(char));
  
  	/* Lookup the relation */
! 	relvar = makeRangeVarFromNameList(stringToQualifiedNameList(cp, "plpgsql_parse_dblwordrowtype"));
  	classOid = RangeVarGetRelid(relvar, true);
  	if (!OidIsValid(classOid))
  		elog(ERROR, "%s: no such class", cp);
