]> 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:22 +0000 (12:44 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Dec 2011 17:44:22 +0000 (12:44 -0500)
commitac3dcca22e967ac4a899c4534b4b1c8e807ff71e
tree907f482b9f9682cf4fc1e967a979fcee189818df
parent0f90fb90c337afd2cb9a41af51660367a1e85743
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