New warning code about auto-created range table entries.

This commit is contained in:
Bruce Momjian 2000-06-03 04:41:34 +00:00
parent 58785757dd
commit 2ea370a3ce
4 changed files with 33 additions and 18 deletions

View File

@ -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;

View File

@ -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);
}

View File

@ -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 */

View File

@ -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