2017-09-23 4:52 GMT+02:00 Paul A Jungwirth <p...@illuminatedcomputing.com>:

> The docs say that a Datum can be 4 bytes or 8 depending on the machine:
>
> https://www.postgresql.org/docs/9.5/static/sql-createtype.html
>
> Is a Datum always 8 bytes for 64-bit architectures?
>
> And if so, can my C extension skip a loop like this when compiling
> there, and just do a memcpy (or even a cast)?:
>

yes, it is 8 bytes on 64-bit.

I don't think so it is good idea to write 64bit only extensions.



>     float8 *floats;
>     Datum *datums;
>
>     datums = palloc(arrlen * sizeof(Datum));
>     for (i = 0; i < arrlen; i++) {
>       datums[i] = Float8GetDatum(floats[i]);
>     }
>
> Thanks!
> Paul
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

Reply via email to