From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: postgres_fdw bug in 9.6 |
Date: | 2016-12-08 17:50:50 |
Message-ID: | 6319.1481219450@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Jeff Janes <jeff(dot)janes(at)gmail(dot)com> writes:
> I have a DML statement which triggers the error:
> ERROR: XX000: outer pathkeys do not match mergeclauses
> LOCATION: create_mergejoin_plan, createplan.c:3722
Hmm.
> Any tips on investigating this further in situ? Or is the best option just
> to work harder on a minimal and disclosable test case?
I think we need a test case --- not minimal necessarily, but something
other people can reproduce. You might find that setting enable_hashjoin
and/or enable_nestloop to false makes it easier to provoke the error,
since evidently this requires that we (a) generate a faulty mergejoin Path
and then (b) choose it as the cheapest one, since the error occurs while
converting it to a Plan.
BTW, if you're not doing this in a debug (--enable-cassert) build, it'd
be useful to try it in one. I'm a little suspicious that the root cause
might be a memory-stomp type of problem, ie somebody scribbling on a
pathkey data structure without accounting for it being shared with another
path. It's possible that cassert memory checking would help catch that.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2016-12-08 17:52:26 | Re: Back-patch use of unnamed POSIX semaphores for Linux? |
Previous Message | Tom Lane | 2016-12-08 17:40:27 | Re: Back-patch use of unnamed POSIX semaphores for Linux? |