Search Postgresql Archives

Re: Lifetime of PQexecPrepared() returned value

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

 



Hi, guys,

On Fri, Aug 4, 2017 at 5:01 PM, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
> Igor Korot <ikorot01@xxxxxxxxx> 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


-- 
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