From: | Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com> |
---|---|
To: | valeriof <valerio_farruggio(at)hotmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: How to extract bytes from a bit/bit(n) Datum pointer? |
Date: | 2017-01-19 12:42:57 |
Message-ID: | CAFjFpRcfmhjsGSkJPW5EVinrzypmemgUkQQ1VyQ7UEMHvH9Ccw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Jan 19, 2017 at 5:53 PM, valeriof <valerio_farruggio(at)hotmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Borodin | 2017-01-19 12:50:10 | Re: Review: GIN non-intrusive vacuum of posting tree |
Previous Message | Pavel Stehule | 2017-01-19 12:40:22 | Re: patch: function xmltable |