From: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | maillist(at)candle(dot)pha(dot)pa(dot)us (Bruce Momjian) |
Cc: | riedel+(at)CMU(dot)EDU, pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: [HACKERS] aggregation memory leak and fix |
Date: | 1999-03-20 02:03:42 |
Message-ID: | 199903200203.VAA11385@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> Yes, if you look inside ExecEvalExpr(), you will see it tries to get a
> value for the expression(Datum). It may return an int, float4, or a
> string. In the last case, that is actually a pointer and not a specific
> value.
>
> So, in some cases, the value can just be thrown away, or it may be a
> pointer to memory that can be freed after the call to heap_formtuple()
> later in the function. The trick is to find the function call in
> ExecEvalExpr() that is allocating something, and conditionally free
> values[] after the call to heap_formtuple(). If you don't want find it,
> perhaps you can send me enough info so I can see it here.
>
> I wonder whether it is the call to CreateTupleDescCopy() inside
> ExecEvalVar()?
I am now not totally sure about what I said above. The general plan,
though is accurate, that perhaps something is being allocated. I need
to see the query again, which I don't have anymore.
--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Tatsuo Ishii | 1999-03-20 02:04:24 | Re: [HACKERS] 6.5 Features list |
Previous Message | Bruce Momjian | 1999-03-20 01:58:00 | Re: [HACKERS] aggregation memory leak and fix |