> On Jun 2, 2017, at 9:59 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > > Robert Haas <robertmh...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers