postgresql/src/backend
Tom Lane 858d1699f2 Provide some rather hokey ways for EXPLAIN to print FieldStore and assignment
ArrayRef expressions that are not in the immediate context of an INSERT or
UPDATE targetlist.  Such cases never arise in stored rules, so ruleutils.c
hadn't tried to handle them.  However, they do occur in the targetlists of
plans derived from such statements, and now that EXPLAIN VERBOSE tries to
print targetlists, we need some way to deal with the case.

I chose to represent an assignment ArrayRef as "array[subscripts] := source",
which is fairly reasonable and doesn't omit any information.  However,
FieldStore is problematic because the planner will fold multiple assignments
to fields of the same composite column into one FieldStore, resulting in a
structure that is hard to understand at all, let alone display comprehensibly.
So in that case I punted and just made it print the source expression(s).

Backpatch to 8.4 --- the lack of functionality exists in older releases,
but doesn't seem to be important for lack of anything that would call it.
2010-02-18 22:43:31 +00:00
..
access Stamp HEAD as 9.0devel, and update various places that were referring to 8.5 2010-02-17 04:19:41 +00:00
bootstrap Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
catalog Stamp HEAD as 9.0devel, and update various places that were referring to 8.5 2010-02-17 04:19:41 +00:00
commands Take care to reprocess an uncommitted notify message. 2010-02-17 16:54:06 +00:00
executor Fix ExecEvalArrayRef to pass down the old value of the array element or slice 2010-02-18 18:41:47 +00:00
foreign Wrap calls to SearchSysCache and related functions using macros. 2010-02-14 18:42:19 +00:00
lib Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
libpq Fix pq_getbyte_if_available() function. It was confused on what it 2010-02-18 11:13:46 +00:00
main Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
nodes Replace the pg_listener-based LISTEN/NOTIFY mechanism with an in-memory queue. 2010-02-16 22:34:57 +00:00
optimizer Wrap calls to SearchSysCache and related functions using macros. 2010-02-14 18:42:19 +00:00
parser Stamp HEAD as 9.0devel, and update various places that were referring to 8.5 2010-02-17 04:19:41 +00:00
po Translation updates 2009-12-19 20:23:26 +00:00
port Another typo fix. 2010-02-17 05:51:40 +00:00
postmaster Wrap calls to SearchSysCache and related functions using macros. 2010-02-14 18:42:19 +00:00
regex Change regexp engine's ccondissect/crevdissect routines to perform DFA 2010-02-01 02:45:29 +00:00
replication Fix pq_getbyte_if_available() function. It was confused on what it 2010-02-18 11:13:46 +00:00
rewrite Wrap calls to SearchSysCache and related functions using macros. 2010-02-14 18:42:19 +00:00
snowball Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
storage Replace the pg_listener-based LISTEN/NOTIFY mechanism with an in-memory queue. 2010-02-16 22:34:57 +00:00
tcop Replace the pg_listener-based LISTEN/NOTIFY mechanism with an in-memory queue. 2010-02-16 22:34:57 +00:00
tsearch When estimating the selectivity of an inequality "column > constant" or 2010-01-04 02:44:40 +00:00
utils Provide some rather hokey ways for EXPLAIN to print FieldStore and assignment 2010-02-18 22:43:31 +00:00
common.mk Expand test coverage support to entire tree 2009-08-07 20:50:22 +00:00
Makefile Well, the systemtap guys moved the goalposts again: with the latest version, 2010-01-20 23:12:03 +00:00
nls.mk Convert the core lexer and parser into fully reentrant code, by making use 2009-07-13 02:02:20 +00:00