Обсуждение: [HACKERS] How to extract bytes from a bit/bit(n) Datum pointer?

Поиск
Список
Период
Сортировка

[HACKERS] How to extract bytes from a bit/bit(n) Datum pointer?

От
valeriof
Дата:
Hi,

This may come from my lack of experience with Postgres, but I'm trying to
extract the byte portion of a Datum that is of type VarBit - bit/bit(n). I
see that the Datum pointer contains the value content of the bytes (after a
few bytes for the header) but I would need to point to the actual value
(plus also the number of bytes to be picked up).

I currently have a similar issue with BYTEAOID columns. I have a Datum
pointer but can't get the actual content.

Thanks!
Valerio 



--
View this message in context:
http://postgresql.nabble.com/How-to-extract-bytes-from-a-bit-bit-n-Datum-pointer-tp5939776.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.



Re: [HACKERS] How to extract bytes from a bit/bit(n) Datum pointer?

От
Ashutosh Bapat
Дата:
On Thu, Jan 19, 2017 at 5:53 PM, valeriof <valerio_farruggio@hotmail.com> wrote:
> Hi,
>
> This may come from my lack of experience with Postgres, but I'm trying to
> extract the byte portion of a Datum that is of type VarBit - bit/bit(n). I
> see that the Datum pointer contains the value content of the bytes (after a
> few bytes for the header) but I would need to point to the actual value
> (plus also the number of bytes to be picked up).


>
> I currently have a similar issue with BYTEAOID columns. I have a Datum
> pointer but can't get the actual content.

If you have not looked at DatumGetVarBitP() and DatumGetByteaP(), that
will get you corresponding structure pointers from a Datum. Then check
src/backend/utils/adt/varbit.c and bytea_* functions from
src/backend/utils/adt/varlena.c to understand how those structures are
used.

-- 
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company



Re: [HACKERS] How to extract bytes from a bit/bit(n) Datum pointer?

От
valeriof
Дата:
Thank you Ashutosh! I've been looking everywhere for this info 



--
View this message in context:
http://postgresql.nabble.com/How-to-extract-bytes-from-a-bit-bit-n-Datum-pointer-tp5939776p5939811.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.