Re: TODO Item - Return compressed length of TOAST datatypes
От | Mark Kirkwood |
---|---|
Тема | Re: TODO Item - Return compressed length of TOAST datatypes |
Дата | |
Msg-id | 42B4B966.3010804@paradise.net.nz обсуждение исходный текст |
Ответ на | Re: TODO Item - Return compressed length of TOAST datatypes (WIP) (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-patches |
Tom Lane wrote: > 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 ... > I was guessing a little about exactly what was wanted - for some reason I couldn't access the mail archives for the last few days (however, can now). > 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. > Yes - was thinking I needed to check if the Datum was a varlena (and didn't know how to do it...), so thanks for the pointer! With these thoughts in mind, I'll have another go :-) Cheers Mark
В списке pgsql-patches по дате отправления: