]> granicus.if.org Git - postgresql/commit
Fix the volatility marking of textanycat() and anytextcat(): they were marked
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 27 May 2010 16:20:11 +0000 (16:20 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 27 May 2010 16:20:11 +0000 (16:20 +0000)
commitc82d931dd180965a9a0c06acc764404f91de8170
tree2a7d743d8c90f5ece8db2ac8e5d55e15fef4374f
parent5a86e5e1930d95f495a134000512d6ca22064338
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.
src/include/catalog/pg_proc.h