Skip to content

Commit 2ea370a

Browse files
committed
New warning code about auto-created range table entries.
1 parent 5878575 commit 2ea370a

File tree

4 files changed

+33
-18
lines changed

4 files changed

+33
-18
lines changed

src/backend/parser/parse_func.c

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.81 2000/05/30 00:49:50 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.82 2000/06/03 04:41:32 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -307,11 +307,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
307307
rte = addRangeTableEntry(pstate, refname,
308308
makeAttr(refname, NULL),
309309
FALSE, FALSE, TRUE);
310-
#ifdef WARN_FROM
311-
elog(NOTICE, "Adding missing FROM-clause entry%s for table %s",
312-
pstate->parentParseState != NULL ? " in subquery" : "",
313-
refname);
314-
#endif
310+
warnAutoRange(pstate, refname);
315311
}
316312

317313
relname = rte->relname;
@@ -525,11 +521,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
525521
rte = addRangeTableEntry(pstate, refname,
526522
makeAttr(refname, NULL),
527523
FALSE, FALSE, TRUE);
528-
#ifdef WARN_FROM
529-
elog(NOTICE, "Adding missing FROM-clause entry%s for table %s",
530-
pstate->parentParseState != NULL ? " in subquery" : "",
531-
refname);
532-
#endif
524+
warnAutoRange(pstate, refname);
533525
}
534526

535527
relname = rte->relname;

src/backend/parser/parse_relation.c

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.40 2000/04/12 17:15:27 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.41 2000/06/03 04:41:32 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -373,11 +373,7 @@ expandAll(ParseState *pstate, char *relname, Attr *ref, int *this_resno)
373373
{
374374
rte = addRangeTableEntry(pstate, relname, ref,
375375
FALSE, FALSE, TRUE);
376-
#ifdef WARN_FROM
377-
elog(NOTICE, "Adding missing FROM-clause entry%s for table %s",
378-
pstate->parentParseState != NULL ? " in subquery" : "",
379-
refname);
380-
#endif
376+
warnAutoRange(pstate, ref->relname);
381377
}
382378

383379
rel = heap_open(rte->relid, AccessShareLock);
@@ -526,3 +522,26 @@ attnumTypeId(Relation rd, int attid)
526522
*/
527523
return rd->rd_att->attrs[attid - 1]->atttypid;
528524
}
525+
526+
void
527+
warnAutoRange(ParseState *pstate, char *refname)
528+
{
529+
List *temp;
530+
bool foundInFromCl = false;
531+
532+
foreach(temp, pstate->p_rtable)
533+
{
534+
RangeTblEntry *rte = lfirst(temp);
535+
536+
if (rte->inFromCl)
537+
{
538+
foundInFromCl = true;
539+
break;
540+
}
541+
}
542+
if (foundInFromCl)
543+
elog(NOTICE, "Adding missing FROM-clause entry%s for table %s",
544+
pstate->parentParseState != NULL ? " in subquery" : "",
545+
refname);
546+
}
547+

src/include/parser/parse_relation.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: parse_relation.h,v 1.16 2000/04/12 17:16:45 momjian Exp $
10+
* $Id: parse_relation.h,v 1.17 2000/06/03 04:41:33 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -35,5 +35,6 @@ extern int specialAttNum(char *a);
3535
extern bool attnameIsSet(Relation rd, char *name);
3636
extern int attnumAttNelems(Relation rd, int attid);
3737
extern Oid attnumTypeId(Relation rd, int attid);
38+
extern void warnAutoRange(ParseState *pstate, char *refname);
3839

3940
#endif /* PARSE_RELATION_H */

src/test/regress/expected/select_into.out

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@ SELECT *
55
INTO TABLE tmp1
66
FROM tmp
77
WHERE onek.unique1 < 2;
8+
NOTICE: Adding missing FROM-clause entry for table onek
89
DROP TABLE tmp1;
910
SELECT *
1011
INTO TABLE tmp1
1112
FROM tmp
1213
WHERE onek2.unique1 < 2;
1314
DROP TABLE tmp1;
15+
NOTICE: Adding missing FROM-clause entry for table onek
16+

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy