Re: [GENERAL] Is float8 a reference type?
От | Pavel Stehule |
---|---|
Тема | Re: [GENERAL] Is float8 a reference type? |
Дата | |
Msg-id | CAFj8pRAvVMPcH6Bc30fCq-Vi6+foUBm=XQ8U8v8osaZ=zzV14g@mail.gmail.com обсуждение исходный текст |
Ответ на | [GENERAL] Is float8 a reference type? (Paul A Jungwirth <pj@illuminatedcomputing.com>) |
Ответы |
Re: [GENERAL] Is float8 a reference type?
|
Список | pgsql-general |
2017-09-23 4:52 GMT+02:00 Paul A Jungwirth <pj@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
В списке pgsql-general по дате отправления: