Re: Leaking memory in text_overlay function

From: Dirk Rudolph <dirk(dot)rudolph(at)netcentric(dot)biz>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Leaking memory in text_overlay function
Date: 2016-07-02 15:11:34
Message-ID: CADqNnVrAwaamdcLcZaAe2FETpR_Wkuu7H5WXRTOQYuYbwQi87g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Well that's good to know. It was just curious that, in my case, I only saw
this in this particular function.

Anyway. I will consider to handle the memory the same way, if this is the
recommendation.

Many thanks.

/Closed

On Sat, Jul 2, 2016 at 4:45 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Dirk Rudolph <dirk(dot)rudolph(at)netcentric(dot)biz> writes:
> > while implementing my own C function, I mentioned that some memory is
> not freed by the text_overlay function in varlena.c
>
> By and large, that's intentional. SQL-called functions normally run
> in short-lived memory contexts, so that any memory they don't bother to
> pfree will be cleaned up automatically at the end of the tuple cycle.
> If we did not follow that approach, there would need to be many thousands
> more explicit pfree calls than there are today, and the system would be
> net slower overall because multiple retail pfree's are slower than a
> MemoryContextReset.
>
> There are places where it's important to avoid leaking memory, certainly.
> But I don't think this is one of them, unless you can demonstrate a
> scenario with query-lifespan or worse leakage.
>
> > Particularly I mean the both substrings allocated by text_substring
> (according to the documentation of text_substring "The result is always a
> freshly palloc'd datum.") and one of the concatenation results. I’m aware
> of the MemoryContext being deleted in my case but IMHO builtin functions
> should be memory safe.
>
> That is not the project policy.
>
> regards, tom lane
>

--

Dirk Rudolph | Senior Software Engineer

Netcentric AG

M: +41 79 642 37 11
D: +49 174 966 84 34

dirk(dot)rudolph(at)netcentric(dot)biz | www.netcentric.biz

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2016-07-02 15:35:52 Re: 9.6beta2: query failure with 'cache lookup failed for type 0'
Previous Message Tom Lane 2016-07-02 15:11:07 Re: Forthcoming SQL standards about JSON and Multi-Dimensional Arrays (FYI)