Commit c81bfc24 authored by Tom Lane's avatar Tom Lane

Add a note pointing out that is_pseudo_constant_clause() doesn't check

for aggregates.  This is OK for current uses but could burn somebody
someday...
parent eddbf397
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/optimizer/util/clauses.c,v 1.229 2007/01/10 18:06:04 tgl Exp $ * $PostgreSQL: pgsql/src/backend/optimizer/util/clauses.c,v 1.230 2007/01/17 17:25:52 tgl Exp $
* *
* HISTORY * HISTORY
* AUTHOR DATE MAJOR EVENT * AUTHOR DATE MAJOR EVENT
...@@ -1073,6 +1073,12 @@ is_strict_saop(ScalarArrayOpExpr *expr, bool falseOK) ...@@ -1073,6 +1073,12 @@ is_strict_saop(ScalarArrayOpExpr *expr, bool falseOK)
* may vary from one statement to the next. However, the expr's value * may vary from one statement to the next. However, the expr's value
* will be constant over any one scan of the current query, so it can be * will be constant over any one scan of the current query, so it can be
* used as, eg, an indexscan key. * used as, eg, an indexscan key.
*
* CAUTION: this function omits to test for one very important class of
* not-constant expressions, namely aggregates (Aggrefs). In current usage
* this is only applied to WHERE clauses and so a check for Aggrefs would be
* a waste of cycles; but be sure to also check contain_agg_clause() if you
* want to know about pseudo-constness in other contexts.
*/ */
bool bool
is_pseudo_constant_clause(Node *clause) is_pseudo_constant_clause(Node *clause)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment