Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit a35deb5

Browse files
committed
Give a useful error message if a RangeVar is encountered in an expression.
Per example from Ian Barwick, 28-Oct-03.
1 parent abec4cb commit a35deb5

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/backend/optimizer/util/clauses.c

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.153 2003/08/17 23:43:26 tgl Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.154 2003/10/29 18:10:15 tgl Exp $
1212
*
1313
* HISTORY
1414
* AUTHOR DATE MAJOR EVENT
@@ -2412,6 +2412,16 @@ expression_tree_walker(Node *node,
24122412
return true;
24132413
}
24142414
break;
2415+
case T_RangeVar:
2416+
/*
2417+
* Give a useful complaint if someone uses a bare relation name
2418+
* in an expression (see comments in transformColumnRef()).
2419+
*/
2420+
ereport(ERROR,
2421+
(errcode(ERRCODE_SYNTAX_ERROR),
2422+
errmsg("relation reference \"%s\" cannot be used in an expression",
2423+
((RangeVar *) node)->relname)));
2424+
break;
24152425
default:
24162426
elog(ERROR, "unrecognized node type: %d",
24172427
(int) nodeTag(node));
@@ -2879,6 +2889,16 @@ expression_tree_mutator(Node *node,
28792889
return (Node *) newnode;
28802890
}
28812891
break;
2892+
case T_RangeVar:
2893+
/*
2894+
* Give a useful complaint if someone uses a bare relation name
2895+
* in an expression (see comments in transformColumnRef()).
2896+
*/
2897+
ereport(ERROR,
2898+
(errcode(ERRCODE_SYNTAX_ERROR),
2899+
errmsg("relation reference \"%s\" cannot be used in an expression",
2900+
((RangeVar *) node)->relname)));
2901+
break;
28822902
default:
28832903
elog(ERROR, "unrecognized node type: %d",
28842904
(int) nodeTag(node));

0 commit comments

Comments
 (0)