Search Postgresql Archives

Re: Lifetime of PQexecPrepared() returned value

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

 



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.

			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