Re: Renaming MemoryContextResetAndDeleteChildren to MemoryContextReset

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: Renaming MemoryContextResetAndDeleteChildren to MemoryContextReset
Date: 2015-02-26 22:31:16
Message-ID: 20150226223116.GI24199@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2015-02-26 17:01:53 -0500, Tom Lane wrote:
> We've discussed doing $SUBJECT off and on for nearly ten years,
> the oldest thread I could find about it being here:
> http://www.postgresql.org/message-id/flat/1186435268(dot)16321(dot)37(dot)camel(at)dell(dot)linuxdev(dot)us(dot)dell(dot)com
> It's come up again every time we found another leak of dead child
> contexts, which happened twice last year for example. And that patch
> I'm pushing for "expanded" out-of-line objects really needs this to
> become the default behavior anywhere that we can detoast objects.

I don't object to the behavioural change per se, rather the contrary,
but I find it a pretty bad idea to change the meaning of an existing
functioname this way. Without a compiler erroring out people won't
notice that suddenly MemoryContextReset deletes much more; leading to
possibly hard to find errors. Context resets frequently are in error
paths, and those won't necessarily be hit when running with assertions
enabled.

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-02-26 22:31:44 Re: json_populate_record issue - TupleDesc reference leak
Previous Message Tom Lane 2015-02-26 22:16:59 Re: Renaming MemoryContextResetAndDeleteChildren to MemoryContextReset