Thank you very much for the reply.
Well, really, resetStringInfo () is a function of the StringInfo data
structure.
What I used at the end was initStringInfo, which is a function of the data
structure StringInfoData, which is what I am using, although I don't know
if they are equivalent.
The code remained as follows:
                       if (cols.len> 0)
                      {
                               initStringInfo (& cols);
                       } / * IF col.len> 0 * /
But it continues giving me the same error.
Best regards,
Yessica Brinkmann

El jue., 10 oct. 2019 a las 13:33, Yessica Brinkmann (<
yessica.brinkm...@gmail.com>) escribió:

> Thank you so much for your answer. I will be testing the indicated and
> then I give you return.
> Best regards,
> Yessica Brinkmann
>
> El jue., 10 oct. 2019 a las 13:14, Tom Lane (<t...@sss.pgh.pa.us>)
> escribió:
>
>> Yessica Brinkmann <yessica.brinkm...@gmail.com> writes:
>> > I really thought a lot, but I don't understand why but the function
>> fails
>> > after the expression is executed:
>> > appendStringInfo (& cols, "% s a.attnum =% d", (i> 0? "OR": ""), idxcd->
>> > varattno [i]);
>>
>> I think you're probably shooting yourself in the foot here:
>>
>>             /* pfree() the memory allocated for the previous candidate.
>> FIXME: Avoid
>>             * meddling with the internals of a StringInfo, and try to use
>> an API.
>>             */
>>             if( cols.len > 0 )
>>             {
>>                 pfree( cols.data );
>>                 cols.data = NULL;
>>             } /*IF col.len>0*/
>>
>> Don't do that, use resetStringInfo() instead.
>>
>>                         regards, tom lane
>>
>

Reply via email to