postgresql/src/backend
Tom Lane eb51af71f2 Prevent a rowtype from being included in itself.
Eventually we might be able to allow that, but it's not clear how many
places need to be fixed to prevent infinite recursion when there's a direct
or indirect inclusion of a rowtype in itself.  One such place is
CheckAttributeType(), which will recurse to stack overflow in cases such as
those exhibited in bug #5950 from Alex Perepelica.  If we were sure it was
the only such place, we could easily modify the code added by this patch to
stop the recursion without a complaint ... but it probably isn't the only
such place.  Hence, throw error until such time as someone is excited
enough about this type of usage to put work into making it safe.

Back-patch as far as 8.3.  8.2 doesn't have the recursive call in
CheckAttributeType in the first place, so I see no need to add code there
in the absence of clear evidence of a problem elsewhere.
2011-03-28 15:46:04 -04:00
..
access Clean up cruft around collation initialization for tupdescs and scankeys. 2011-03-26 18:28:40 -04:00
bootstrap More collations cleanup, from trawling for missed collation assignments. 2011-03-26 16:35:25 -04:00
catalog Prevent a rowtype from being included in itself. 2011-03-28 15:46:04 -04:00
commands Prevent a rowtype from being included in itself. 2011-03-28 15:46:04 -04:00
executor Fix check_exclusion_constraint() to insert correct collations in ScanKeys. 2011-03-27 13:29:52 -04:00
foreign Implement an API to let foreign-data wrappers actually be functional. 2011-02-20 00:18:14 -05:00
lib Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq Suppress platform-dependent unused-variable warning. 2011-03-20 13:34:31 -04:00
main Use "backend process" rather than "backend server", where appropriate. 2011-03-12 09:38:56 -05:00
nodes More collations cleanup, from trawling for missed collation assignments. 2011-03-26 16:35:25 -04:00
optimizer More collations cleanup, from trawling for missed collation assignments. 2011-03-26 16:35:25 -04:00
parser More collations cleanup, from trawling for missed collation assignments. 2011-03-26 16:35:25 -04:00
po Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
port Be less detailed about reporting shared memory failure by avoiding the 2011-02-27 12:21:58 -05:00
postmaster Remove synchronous_replication/max_wal_senders cross-check. 2011-03-23 11:44:27 -04:00
regex Fix comparisons of pointers with zero to compare with NULL instead. 2010-10-29 15:51:52 -04:00
replication Additional test for each commit in sync rep path to plug minute 2011-03-26 10:09:37 +00:00
rewrite Pass collation to makeConst() instead of looking it up internally. 2011-03-25 20:10:42 -04:00
snowball Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
storage Prevent intermittent hang in recovery from bgwriter interaction. 2011-03-23 13:30:05 +00:00
tcop Fix various possible problems with synchronous replication. 2011-03-17 13:12:21 -04:00
tsearch Fix tsmatchsel() to account properly for null rows. 2011-02-17 19:00:49 -05:00
utils Clean up cruft around collation initialization for tupdescs and scankeys. 2011-03-26 18:28:40 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
common.mk Workaround for recursive make breakage 2011-01-13 09:32:06 +02:00
Makefile replication/repl_gram.h needs to be cleaned too ... 2011-03-10 00:12:38 -05:00
nls.mk Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00