Обсуждение: libpq error message deallocation

Поиск
Список
Период
Сортировка

libpq error message deallocation

От
icholy
Дата:
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?

View this message in context: libpq error message deallocation
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

Re: libpq error message deallocation

От
Dmitriy Igrishin
Дата:



2012/12/4 icholy <ilia.choly@gmail.com>
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

// Dmitriy.


Re: libpq error message deallocation

От
icholy
Дата:
thanks for the quick reply!



--
View this message in context:
http://postgresql.1045698.n5.nabble.com/libpq-error-message-deallocation-tp5735032p5735046.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.