In PostgreSQL I can create an anonymous row or composite type
postgres=# SELECT ROW(1,'Hello',false) as r;
r
-------------
(1,Hello,f)
(1 row)
But how can I get the fields out again? None of the following work
postgres=# SELECT (r).* from (SELECT ROW(1,'Hello',false) as r) as T;
ERROR: record type has not been registered
postgres=# SELECT (r).column0 from (SELECT ROW(1,'Hello',false) as r) as T;
ERROR: record type has not been registered