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 >