Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> SELECT '("(1)")'::btype INTO bvar; -- Should work, but errors
No, because it's expecting the SELECT to yield a separate column for
each column of the composite variable bvar. Something like
SELECT ('("(1)")'::btype).* INTO bvar;
would be correct. To make it work the way you're thinking would break
a lot of code that expects the existing semantics --- instead of
select expr1, expr2 into two_column_record_var from ...
people would have to write something like
select row(expr1, expr2) into two_column_record_var from ...
regards, tom lane