So I've committed the patch yesterday evening. I'm pretty sure there'll be some more minor things to change. But overall I feel good about the current state.
It'd be quite helpful if others could read the docs, specifically for insert, and comment whether they're understandable. I've spent a fair amount of time trying to make them somewhat simpler, but I do think I only succeeded partially. And there's also my own brand of english to consider ;)
Omitted only has one m.
There's an extra space in "error . (See".
Otherwise it reads fine to me, although I've only skimmed it.
I may have misunderstood: there is only one ON CONFLICT action allowed? I thought the previous version suggested multiple possible targets and actions, this suggests that while there can be multiple targets the action is always the same.
So I thought I could have
INSERT INTO distributors (did, dname)
ON CONFLICT (did) DO UPDATE dname=target.dname
ON CONFLICT (dname) DO NOTHING;
Did I misunderstand?
Finally there's no
INSERT INTO distributors (did, dname)
SELECT did, dname FROM otherdists
ON CONFLICT (did) DO NOTHING;
example (or similar); do we think people will be smart enough to realise that's possible without one?