postgresql/src/include
Tom Lane 3db6524fe6 Mark some more I/O-conversion-invoking functions as stable not volatile.
When written, textanycat, anytextcat, quote_literal, and quote_nullable
were marked volatile, because they could invoke arbitrary type-specific
output functions as part of casting their anyelement arguments to text.
Since then, we have defined a project policy that I/O functions must not
be volatile, as per commit aab353a60b.
So these functions can safely be downgraded to stable.  Most of the time
this makes no difference since they'll get inlined anyway, but as noted
by Andrew Dunstan, there are cases where the volatile marking prevents
optimizations that the planner does before function inlining.  (I think
I might have overlooked these functions in the earlier commit on the
grounds that inlining would make it moot, but not so --- tgl)

This change results in a change in the expected output of the json
regression tests, because the planner can now flatten a sub-select
that it failed to before.  The old output is preferable, but getting
that back will require some as-yet-unfinished work on RowExpr handling.

Marti Raudsepp
2012-02-08 11:29:29 -05:00
..
access Assorted comment fixes, mostly just typos, but some obsolete statements. 2012-01-29 19:23:56 -05:00
bootstrap Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
catalog Mark some more I/O-conversion-invoking functions as stable not volatile. 2012-02-08 11:29:29 -05:00
commands Add TIMING option to EXPLAIN, to allow eliminating of timing overhead. 2012-02-07 11:23:04 -05:00
datatype Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
executor Add TIMING option to EXPLAIN, to allow eliminating of timing overhead. 2012-02-07 11:23:04 -05:00
foreign Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
lib Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
libpq Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
mb Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
nodes Use parameterized paths to generate inner indexscans more flexibly. 2012-01-27 19:26:38 -05:00
optimizer Use parameterized paths to generate inner indexscans more flexibly. 2012-01-27 19:26:38 -05:00
parser Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
port Support for building with MS Visual Studio 2010. 2012-01-03 08:44:26 -05:00
portability Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
postmaster Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
regex Teach regular expression operators to honor collations. 2011-04-10 18:03:09 -04:00
replication Various minor comments changes from bgwriter to checkpointer. 2012-01-30 14:34:25 +00:00
rewrite Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
snowball Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
storage Rename LWLockWaitUntilFree to LWLockAcquireOrWait. 2012-02-08 09:17:13 +02:00
tcop Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tsearch Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
utils Add transform functions for various temporal typmod coercisions. 2012-02-08 09:33:37 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
c.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
fmgr.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
funcapi.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
getaddrinfo.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
getopt_long.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
Makefile Fix server header file installation with vpath builds 2011-11-10 20:52:54 +02:00
miscadmin.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pg_config.h.in Support fls(). 2012-02-07 13:45:46 -05:00
pg_config.h.win32 Remove support for on_exit() 2011-12-27 20:57:59 +02:00
pg_config_manual.h Use LWSYNC in place of SYNC/ISYNC in PPC spinlocks, where possible. 2012-01-02 00:02:02 -05:00
pg_trace.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pgstat.h Add deadlock counter to pg_stat_database 2012-01-26 15:58:19 +01:00
pgtime.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
port.h Support fls(). 2012-02-07 13:45:46 -05:00
postgres.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
postgres_ext.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
postgres_fe.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
rusagestub.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
windowapi.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00