Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2ea370a

Browse files
committed
New warning code about auto-created range table entries.
1 parent5878575 commit2ea370a

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-
#ifdefWARN_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-
#ifdefWARN_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-
#ifdefWARN_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
returnrd->rd_att->attrs[attid-1]->atttypid;
528524
}
525+
526+
void
527+
warnAutoRange(ParseState*pstate,char*refname)
528+
{
529+
List*temp;
530+
boolfoundInFromCl= 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 intspecialAttNum(char *a);
3535
externboolattnameIsSet(Relationrd,char*name);
3636
externintattnumAttNelems(Relationrd,intattid);
3737
externOidattnumTypeId(Relationrd,intattid);
38+
externvoidwarnAutoRange(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)

[8]ページ先頭

©2009-2025 Movatter.jp