row->ARRAY or row->table casting?

Поиск
Список
Период
Сортировка
От Nico Sabbi
Тема row->ARRAY or row->table casting?
Дата
Msg-id 46FD1FC2.4090304@officinedigitali.it
обсуждение исходный текст
Ответы Re: row->ARRAY or row->table casting?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi,
is there any way to cast a generic row to an array or to a table type?

The example is trivial, but it explains what I'm trying to do:

nb1=# select * from tab1;
 a | t
---+---
 1 | a
 2 | b
 3 | c
(3 rows)


nb1=# select r from (select row(tab1.*) as r from tab1)x;
   r
-------
 (1,a)
 (2,b)
 (3,c)
(3 rows)

nb1=# select r[1] from (select row(tab1.*) as r from tab1)x;
ERROR:  cannot subscript type record because it is not an array

nb1=# select (r::tab1).a from (select row(tab1.*) as r from tab1)x;
ERROR:  cannot cast type record to tab1

The real use case is much more complex than this example of course :)

В списке pgsql-general по дате отправления:

Предыдущее
От: Ted Byers
Дата:
Сообщение: Re: How to avoid: 9.50184e+06
Следующее
От: Mike Charnoky
Дата:
Сообщение: more problems with count(*) on large table