Alvaro Herrera wrote:
> On Mon, Jul 05, 2004 at 05:13:23PM -0400, Bruce Momjian wrote:
>
>>Alvaro Herrera wrote:
>>
>>>On Sun, May 02, 2004 at 07:50:46PM -0400, Tom Lane wrote:
>>>
>>>
>>>>It's entirely likely that ecpg's derivative of the backend's datetime
>>>>modules contains lots and lots of memory leaks, since AFAIK the palloc
>>>>infrastructure is not there in the ecpg environment :-(.
>>>
>>>I wonder why is this? Is there some limitation to using palloc outside
>>>the backend itself? I ask because I have considered using it outside
>>>Postgres several times (a consideration that has never materialized
>>>yet), and I wonder if it needs something special to work.
>>
>>The semantics of palloc is that most stuff is freed on statement
>>completion. In most cases, interfaces need different semantics so we
>>haven't seen much need for making something like palloc available to
>>clients. I can see ecpg using it in a few cases, and libpq too, but
>>probably not enough to make it worthwhile.
>
>
> Yes, I understand that part -- what I was talking about was not using
> the code in the Pg interfaces, but in another software project which
> also consists of a daemon that has several well defined "durations" of
> objects. In that (as of yet unwritten) code, palloc would fit very
> well. But does palloc depend on some other part of the Postgres code?
>
If you don't mind you can write your application in C++ and use a
boost smartpointer:
http://www.boost.org/libs/smart_ptr/smart_ptr.htm
Regards
Gaetano Mendola