Re: [GENERAL] Lifetime of PQexecPrepared() returned value - Mailing list pgsql-general

From Igor Korot
Subject Re: [GENERAL] Lifetime of PQexecPrepared() returned value
Date
Msg-id CA+FnnTxPr6fmUqtVjgcm5p_dqs4TQMro_9UCVyg2g+dbyRY6xw@mail.gmail.com
Whole thread Raw
In response to Re: [GENERAL] Lifetime of PQexecPrepared() returned value  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [GENERAL] Lifetime of PQexecPrepared() returned value  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Hi, guys,

On Fri, Aug 4, 2017 at 5:01 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Igor Korot <ikorot01@gmail.com> writes:
>> I have a following piece of code:
>
>> [code]
>> PGresult *res = PQexecPrepared();
>> status = PQresultStatue( res );
>> if( status == PGRES_TUPLES_OK )
>> {
>>     for( int j = 0; j < PQntuples( res ); j++ )
>>     {
>>         char *foo = PQgetValue( res, j, 0 );
>>         char *bar = PQgetValue( res, j, 1 );
>>         MyObject *obj = new MyObject( foo, bar );
>>         if( SetAdditionalProperties( obj ) )
>>         {
>>               result = 1;
>>               break;
>>         }
>>     }
>>     PQclear( res );
>> }
>
> What I'm wondering about is whether the MyObject constructor is making
> copies of the strings it's passed, or whether it thinks it can just hold
> onto those pointers.  The pointers would be dangling once you do PQclear.
> Now, if the MyObject has gone out of scope and been destroyed, which
> this coding suggests would happen, then that shouldn't matter ... but
> maybe the pointers got copied to somewhere longer-lived?  Anyway, there's
> nothing visibly wrong with what you showed us, so the problem is somewhere
> else.

I need to deeply apologize.
I cam home yesterday, look at the code again and saw the PQclear()
call in the if()
block.
However it leads to another question - should PQclear set the pointer to NULL?

Sorry for the noise once again and thank you for reading.


>
>                         regards, tom lane


pgsql-general by date:

Previous
From: Raymond O'Donnell
Date:
Subject: Re: [GENERAL] Type cast in PHP PDO (does not work like in Java?)
Next
From: Igor Korot
Date:
Subject: Re: [GENERAL] Invalid byte sequence for encoding UTF-8 0xc3\n