On Wed, Apr 4, 2018 at 1:07 PM, Simon Riggs <si...@2ndquadrant.com> wrote: > This version works, with agreed semantics, all fully tested and documented.
I agree that it's more or less true that this works, and implements the agreed-upon semantics. I also agree that that's very important. That's beside the point, though. > And it's isolated, so its not a threat to anybody that doesn't choose > to use it. Users want it and will use this; if I didn't know that for > certain I wouldn't spend time on it. I strongly doubt it. > If saying "I'm unhappy with something" is sufficient grounds for > rejecting a patch, I'm surprised to hear it. There has been no > discussion of what exactly would be better, only that what we have is > somehow wrong, a point which both Pavan and I dispute, not least > because the executor has already been rewritten once at Peter's > request. That's a total exaggeration. What happened was that Pavan cleaned up a lot of the EPQ code, and related code in nodeModifyTable.c, as part of getting the RC mode conflict handling right. Again, yes, that was really essentially work. A lot of the things that are bad about this patch are the same things that were bad about my own ON CONFLICT patch before Andres arrived on the scene. Very little changed about the fundamental semantics after he joined that project, but a lot changed about the representation used within the parser, planner, and executor. I think that the same thing needs to happen here. I knew from direct experience that it would be perfectly possible to have a very useful discussion about the most important issue, the semantics, without really having to address the very real concerns that I had about the representation until a later date. Indeed, we managed to do that, and I'm very glad that we managed to do that. It was almost certainly the best strategy available. Perhaps I should have been more forceful about the fundamental issue, rather than making specific points about specific consequence of that problem, but it probably wouldn't have made a big difference in the end. There is only so much time available. -- Peter Geoghegan