]> granicus.if.org Git - postgresql/commit
Fix getTypeIOParam to support type record[].
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Dec 2011 17:44:34 +0000 (12:44 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Dec 2011 17:44:34 +0000 (12:44 -0500)
commit8a10fed4158fc135e68bd5ac3a7303072a844323
treef8c143022f0b626caadb6c15e5079330b0e0e938
parent0bb41ad4aa4b2bd5d8a1d2b262dc63a5dbdadc87
Fix getTypeIOParam to support type record[].

Since record[] uses array_in, it needs to have its element type passed
as typioparam.  In HEAD and 9.1, this fix essentially reverts commit
9bc933b2125a5358722490acbc50889887bf7680, which was a hack that is no
longer needed since domains don't set their typelem anymore.  Before
that, adjust the logic so that only domains are excluded from being
treated like arrays, rather than assuming that only base types should
be included.  Add a regression test to demonstrate the need for this.
Per report from Maxim Boguk.

Back-patch to 8.4, where type record[] was added.
src/backend/utils/cache/lsyscache.c
src/test/regress/expected/polymorphism.out
src/test/regress/sql/polymorphism.sql