Search Postgresql Archives

Re: libpq error message deallocation

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

 






2012/12/4 icholy <ilia.choly@xxxxxxxxx>
PQerrorMessage function return char const*
    char const* msg = PQerrorMessage(conn);

Now since it's const, I don't think I should be deallocating it and I've never seen that done in any examples. But then, when and how does it get freed?

At first I thought it gets deallocated once another error message is requested but that's not the case.

    // cause some error
    char const* msg1 = PQerrorMessage(pgconn);

    // cause another error
    char const* msg2 = PQerrorMessage(pgconn);

    // still works
    std::cout << msg1 << msg2 << std::endl;
Can someone shed some light on this for me?
PQerrorMessage() returns pointer to the last allocated string
from the PGConn. The memory on this string will be deallocated
with PQfinish().
In the above case, msg1 is invalid pointer and you just got lucky.
Please, see description of PQerrorMessage() here
http://www.postgresql.org/docs/9.2/static/libpq-status.html

// Dmitriy.



[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