diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2012-02-10 13:28:05 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2012-02-10 13:28:05 -0500 |
commit | 00bc96bd2b6646c73a073aa91dc68ed4718cf5f3 (patch) | |
tree | ef406dafbe605d9e5647b415c2cc62f513df1adf /src/backend/executor/nodeModifyTable.c | |
parent | d06e2d200562837afa18058937f20460a3ea526a (diff) | |
download | postgresql-00bc96bd2b6646c73a073aa91dc68ed4718cf5f3.tar.gz postgresql-00bc96bd2b6646c73a073aa91dc68ed4718cf5f3.zip |
Fix pg_dump for better handling of inherited columns.
Revise pg_dump's handling of inherited columns, which was last looked at
seriously in 2001, to eliminate several misbehaviors associated with
inherited default expressions and NOT NULL flags. In particular make sure
that a column is printed in a child table's CREATE TABLE command if and
only if it has attislocal = true; the former behavior would sometimes cause
a column to become marked attislocal when it was not so marked in the
source database. Also, stop relying on textual comparison of default
expressions to decide if they're inherited; instead, don't use
default-expression inheritance at all, but just install the default
explicitly at each level of the hierarchy. This fixes the
search-path-related misbehavior recently exhibited by Chester Young, and
also removes some dubious assumptions about the order in which ALTER TABLE
SET DEFAULT commands would be executed.
Back-patch to all supported branches.
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions