Index: parse_func.c =================================================================== RCS file: /usr/local/cvsroot/pgsql/src/backend/parser/parse_func.c,v retrieving revision 1.39 retrieving revision 1.40 diff -c -r1.39 -r1.40 *** parse_func.c 1999/02/23 07:51:53 1.39 --- parse_func.c 1999/03/15 16:48:34 1.40 *************** *** 7,13 **** * * * IDENTIFICATION ! * $Header: /usr/local/cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.39 1999/02/23 07:51:53 thomas Exp $ * *------------------------------------------------------------------------- */ --- 7,13 ---- * * * IDENTIFICATION ! * $Header: /usr/local/cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.40 1999/03/15 16:48:34 momjian Exp $ * *------------------------------------------------------------------------- */ *************** *** 21,26 **** --- 21,27 ---- #include "access/relscan.h" #include "access/sdir.h" #include "catalog/catname.h" + #include "catalog/heap.h" #include "catalog/indexing.h" #include "catalog/pg_inherits.h" #include "catalog/pg_proc.h" *************** *** 440,446 **** if (nodeTag(pair) == T_Ident && ((Ident *) pair)->isRel) { - /* * a relation */ --- 441,446 ---- *************** *** 573,588 **** char *seqrel; text *seqname; int32 aclcheck_result = -1; - extern text *lower(text *string); Assert(length(fargs) == ((funcid == F_SETVAL) ? 2 : 1)); seq = (Const *) lfirst(fargs); if (!IsA((Node *) seq, Const)) elog(ERROR, "Only constant sequence names are acceptable for function '%s'", funcname); ! seqname = lower((text *) DatumGetPointer(seq->constvalue)); ! pfree(DatumGetPointer(seq->constvalue)); ! seq->constvalue = PointerGetDatum(seqname); ! seqrel = textout(seqname); if ((aclcheck_result = pg_aclcheck(seqrel, GetPgUserName(), (((funcid == F_NEXTVAL) || (funcid == F_SETVAL)) ? --- 573,593 ---- char *seqrel; text *seqname; int32 aclcheck_result = -1; Assert(length(fargs) == ((funcid == F_SETVAL) ? 2 : 1)); seq = (Const *) lfirst(fargs); if (!IsA((Node *) seq, Const)) elog(ERROR, "Only constant sequence names are acceptable for function '%s'", funcname); ! ! seqrel = textout((text *) DatumGetPointer(seq->constvalue)); ! if (RelnameFindRelid(seqrel) == InvalidOid) ! { ! pfree(seqrel); ! seqname = lower((text *) DatumGetPointer(seq->constvalue)); ! pfree(DatumGetPointer(seq->constvalue)); ! seq->constvalue = PointerGetDatum(seqname); ! seqrel = textout(seqname); ! } if ((aclcheck_result = pg_aclcheck(seqrel, GetPgUserName(), (((funcid == F_NEXTVAL) || (funcid == F_SETVAL)) ?