Re: [HACKERS] pg_class.relpartbound definition overly brittle - Mailing list pgsql-hackers

From Mark Dilger
Subject Re: [HACKERS] pg_class.relpartbound definition overly brittle
Date
Msg-id 32AC9796-F96F-4053-9B2D-EB00B467A1C9@gmail.com
Whole thread Raw
In response to Re: [HACKERS] pg_class.relpartbound definition overly brittle  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
> On Jun 2, 2017, at 9:59 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 
> Robert Haas <robertmhaas@gmail.com> writes:
>> Also, you're attacking a straw man. Accidentally storing a meaningless
>> parse location in the catalog isn't a feature, and we shouldn't
>> pretend otherwise.
> 
> It's not meaningless, and it is a feature, useful for debugging.
> Otherwise you'd have a hard time telling one occurrence of e.g. "+" from
> another when you're trying to make sense of a stored tree.  We worked out
> all this behavior ages ago for other expression node trees that are stored
> in the catalogs (default expressions, index expressions, check
> constraints, etc etc) and I don't see a reason for partition expressions
> to be different.

Ok, that makes more sense now.  Thanks for clarifying the history of how
and why the location field from parsing is getting stored.

> I agree that this means you can't just strcmp a couple of stored node tree
> strings to decide if they're equal, but you couldn't anyway --- a moment's
> perusal of equalfuncs.c will show you other special cases, each with their
> own rationale.  Maybe you'd like to complain that every one of those
> rationales is wrongheaded but I do not think you will get far.
> 
> I think the best advice for Mark is to look at pg_get_expr() output and
> see if that matches.

Yes, I'm already doing that based on the discussion so far.

Mark Dilger



pgsql-hackers by date:

Previous
From: Kevin Grittner
Date:
Subject: Re: [HACKERS] Re: [GSOC 17] Eliminate O(N^2) scaling fromrw-conflict tracking in serializable transactions
Next
From: Peter Geoghegan
Date:
Subject: Re: [HACKERS] strcmp() tie-breaker for identical ICU-collated strings