Re: C function returns null values - Mailing list pgsql-general

From Tom Lane
Subject Re: C function returns null values
Date
Msg-id 29270.1310739864@sss.pgh.pa.us
Whole thread Raw
In response to C function returns null values  (Gregor Trefs <gregor.trefs@delphit.com>)
Responses Re: C function returns null values  (Gregor Trefs <gregor.trefs@delphit.com>)
List pgsql-general
Gregor Trefs <gregor.trefs@delphit.com> writes:
> I developed a C function which returns a record. The record contains 3 scalar values and 2 arrays. Randomly some
recordelements are null and I wonder why. I could trace down the problem to the point where the return record is
created.Until this point everything is computed correctly. Below you see an excerpt of the relevant code. I use
PostGres8.4 on Ubuntu 10.10 (x64). 

You're not bothering to fill in the nulls[] array:

>     // Allocate enough memory for nulls
>     nulls = palloc(tuplen * sizeof (bool));
>     // Create tuple
>     res_tuple = heap_form_tuple(tupdesc, values, nulls);

palloc0 would work better here.

BTW, it's a good idea to develop/test C code in a backend built with
--enable-debug --enable-cassert.  Had you been doing so, palloc would
have given you back intentionally-garbage-filled memory, and you'd have
noticed the mistake immediately.

            regards, tom lane

pgsql-general by date:

Previous
From: Tony Wang
Date:
Subject: Re: Weird problem that enormous locks
Next
From: Bryan Nelson
Date:
Subject: Error Importing CSV File