pgsql: Handle domains when checking for recursive inclusion of composit

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Handle domains when checking for recursive inclusion of composit
Date: 2011-06-02 22:38:14
Message-ID: E1QSGWs-0000U5-3q@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Handle domains when checking for recursive inclusion of composite types.

We need this now because we allow domains over arrays, and we'll probably
allow domains over composites pretty soon, which makes the problem even
more obvious.

Although domains over arrays also exist in previous versions, this does not
need to be back-patched, because the coding used in older versions
successfully "looked through" domains over arrays. The problem is exposed
by not treating a domain as having a typelem.

Problem identified by Noah Misch, though I did not use his patch, since
it would require additional work to handle domains over composites that
way. This approach is more future-proof.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/aff97b1f4e3630069a370be663b847c777b58319

Modified Files
--------------
src/backend/catalog/heap.c | 13 ++++++++++---
src/test/regress/expected/alter_table.out | 3 +++
src/test/regress/sql/alter_table.sql | 2 ++
3 files changed, 15 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2011-06-02 23:33:17 pgsql: Use proper SGML doc entities rather than angle-brackets.
Previous Message Tom Lane 2011-06-02 21:27:53 pgsql: Looks like we can't declare getpeereid on Windows anyway.