diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c index 6450d34aba..878c553005 100644 --- a/src/backend/parser/parse_func.c +++ b/src/backend/parser/parse_func.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.81 2000/05/30 00:49:50 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.82 2000/06/03 04:41:32 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -307,11 +307,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs, rte = addRangeTableEntry(pstate, refname, makeAttr(refname, NULL), FALSE, FALSE, TRUE); -#ifdef WARN_FROM - elog(NOTICE, "Adding missing FROM-clause entry%s for table %s", - pstate->parentParseState != NULL ? " in subquery" : "", - refname); -#endif + warnAutoRange(pstate, refname); } relname = rte->relname; @@ -525,11 +521,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs, rte = addRangeTableEntry(pstate, refname, makeAttr(refname, NULL), FALSE, FALSE, TRUE); -#ifdef WARN_FROM - elog(NOTICE, "Adding missing FROM-clause entry%s for table %s", - pstate->parentParseState != NULL ? " in subquery" : "", - refname); -#endif + warnAutoRange(pstate, refname); } relname = rte->relname; diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c index 4bb65cf27e..9360c1486c 100644 --- a/src/backend/parser/parse_relation.c +++ b/src/backend/parser/parse_relation.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.40 2000/04/12 17:15:27 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.41 2000/06/03 04:41:32 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -373,11 +373,7 @@ expandAll(ParseState *pstate, char *relname, Attr *ref, int *this_resno) { rte = addRangeTableEntry(pstate, relname, ref, FALSE, FALSE, TRUE); -#ifdef WARN_FROM - elog(NOTICE, "Adding missing FROM-clause entry%s for table %s", - pstate->parentParseState != NULL ? " in subquery" : "", - refname); -#endif + warnAutoRange(pstate, ref->relname); } rel = heap_open(rte->relid, AccessShareLock); @@ -526,3 +522,26 @@ attnumTypeId(Relation rd, int attid) */ return rd->rd_att->attrs[attid - 1]->atttypid; } + +void +warnAutoRange(ParseState *pstate, char *refname) +{ + List *temp; + bool foundInFromCl = false; + + foreach(temp, pstate->p_rtable) + { + RangeTblEntry *rte = lfirst(temp); + + if (rte->inFromCl) + { + foundInFromCl = true; + break; + } + } + if (foundInFromCl) + elog(NOTICE, "Adding missing FROM-clause entry%s for table %s", + pstate->parentParseState != NULL ? " in subquery" : "", + refname); +} + diff --git a/src/include/parser/parse_relation.h b/src/include/parser/parse_relation.h index 340afcc2f3..15945680bc 100644 --- a/src/include/parser/parse_relation.h +++ b/src/include/parser/parse_relation.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: parse_relation.h,v 1.16 2000/04/12 17:16:45 momjian Exp $ + * $Id: parse_relation.h,v 1.17 2000/06/03 04:41:33 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -35,5 +35,6 @@ extern int specialAttNum(char *a); extern bool attnameIsSet(Relation rd, char *name); extern int attnumAttNelems(Relation rd, int attid); extern Oid attnumTypeId(Relation rd, int attid); +extern void warnAutoRange(ParseState *pstate, char *refname); #endif /* PARSE_RELATION_H */ diff --git a/src/test/regress/expected/select_into.out b/src/test/regress/expected/select_into.out index aa157c9eed..5c550ced7a 100644 --- a/src/test/regress/expected/select_into.out +++ b/src/test/regress/expected/select_into.out @@ -5,9 +5,12 @@ SELECT * INTO TABLE tmp1 FROM tmp WHERE onek.unique1 < 2; +NOTICE: Adding missing FROM-clause entry for table onek DROP TABLE tmp1; SELECT * INTO TABLE tmp1 FROM tmp WHERE onek2.unique1 < 2; DROP TABLE tmp1; +NOTICE: Adding missing FROM-clause entry for table onek +