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

> On Fri, Sep 22, 2017 at 8:05 PM, Pavel Stehule <pavel.steh...@gmail.com>
> wrote:
> > yes, it is 8 bytes on 64-bit.
>
> Thanks!
>
> > I don't think so it is good idea to write 64bit only extensions.
>
> I agree, but how about this?:
>
>     if (FLOAT8PASSBYVAL) {
>       datums = (Datum *)floats;
>     } else {
>       datums = palloc0(arrlen * sizeof(Datum));
>       for (i = 0; i < arrlen; i++) {
>         datums[i] = Float8GetDatum(floats[i]);
>       }
>     }
>

it can work.

You have to solve deallocation in only one path. palloc0 is not necessary
in this case.


>
> Thanks,
> Paul
>

Reply via email to