pgsql: Fix the volatility marking of textanycat() and anytextcat(): they

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix the volatility marking of textanycat() and anytextcat(): they
Date: 2010-05-27 16:20:11
Message-ID: 20100527162011.8D87A7541D2@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Fix the volatility marking of textanycat() and anytextcat(): they were marked
immutable, but that is wrong in general because the cast from the polymorphic
argument to text could be stable or even volatile. Mark them volatile for
safety. In the typical case where the cast isn't volatile, the planner will
deduce the correct expression volatility after inlining the function, so
performance is not lost. The just-committed fix in CREATE INDEX also ensures
this won't break any indexing cases that ought to be allowed.

Per discussion, I'm not bumping catversion for this change, as it doesn't
seem critical enough to force an initdb on beta testers.

Modified Files:
--------------
pgsql/src/include/catalog:
pg_proc.h (r1.570 -> r1.571)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h?r1=1.570&r2=1.571)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2010-05-27 18:23:48 pgsql: Small correction/clarification in discussion of Unicode literals
Previous Message Tom Lane 2010-05-27 15:59:15 pgsql: Make CREATE INDEX run expression preprocessing on a proposed