Re: TODO Item - Return compressed length of TOAST datatypes (WIP)

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: TODO Item - Return compressed length of TOAST datatypes (WIP)
Дата
Msg-id 12845.1119105331@sss.pgh.pa.us
обсуждение исходный текст
Ответ на TODO Item - Return compressed length of TOAST datatypes (WIP)  (Mark Kirkwood <markir@paradise.net.nz>)
Ответы Re: TODO Item - Return compressed length of TOAST datatypes  (Mark Kirkwood <markir@paradise.net.nz>)
Re: TODO Item - Return compressed length of TOAST datatypes  (Mark Kirkwood <markir@paradise.net.nz>)
Список pgsql-patches
Mark Kirkwood <markir@paradise.net.nz> writes:
> I thought I would have a look at:
> (Datatypes) Add function to return compressed length of TOAST data values.

My recollection of that discussion is that we just wanted something
that would return the actual VARSIZE() of the datum.  You're building
something way too confusing ...

A more interesting point is that the way you've declared the function,
it will only work on text values, which is pretty limiting.  Ideally
we'd define this thing as "pg_datum_length(any-varlena-type) returns int"
but there is no pseudotype corresponding to "any varlena type".

I was thinking about this the other day in connection with my proposal
to make something that could return the TOAST value OID of an
out-of-line datum.  I think the only non-restrictive way to do it would
be to declare the function as taking "any", and then add a runtime check
using the get_fn_expr_argtype() mechanism to test that what you've been
given is in fact a varlena datatype.

            regards, tom lane

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

Предыдущее
От: Bruno Wolff III
Дата:
Сообщение: Re: default database creation with initdb
Следующее
От: Tom Lane
Дата:
Сообщение: Post-mortem: final 2PC patch