Search Postgresql Archives

Re: Is float8 a reference type?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





2017-09-23 4:52 GMT+02:00 Paul A Jungwirth <pj@xxxxxxxxxxxxxxxxxxxxxxxx>:
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@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux