On Thu, Aug 05, 2010 at 09:55:29PM +0800, Boxuan Zhai wrote: > On Thu, Aug 5, 2010 at 7:25 PM, Simon Riggs <si...@2ndquadrant.com> wrote: > > > On Thu, 2010-08-05 at 12:29 +0300, Heikki Linnakangas wrote: > > > On 05/08/10 10:46, Simon Riggs wrote: > > > > On Mon, 2008-04-21 at 21:08 +0100, Simon Riggs wrote: > > > >> The following two files specify the behaviour of the MERGE statement > > and > > > >> how it will work in the world of PostgreSQL. > > > > > > > >> The HTML file was generated from SGML source, though the latter is not > > > >> included here for clarity. > > > > > > > > Enclose merge.sgml docs for forthcoming MERGE command, as originally > > > > written. > > > > > > Oh, cool, I wasn't aware you had written that already. Boxuan, please > > > include this in your patch, after reviewing and removing/editing > > > anything that doesn't apply to your patch. > > > Thanks a lot for the instruction file of MERGE command. I have read through > it carefully. It is really a great work. I have to admit that I am not > familiar with the sgml language, and I cannot write the instruction by > myself.
It's really not super complicated. It's quite like (and ancestral to) HTML. > All features of MERGE demonstrated in this file are consistent with my > implementation, EXCEPT the DO NOTHING option. In current edition, we don't > have the DO NOTHING action type. That is, during the execution of MERGE > commands, if one tuple is not caught by any of the merge actions, it will be > ignored. In another word, DO NOTING (although cannot be specified explicitly > by user) is the DEFAULT action for tuples. > > In the contrary, Simon's instruction says that the DEFAULT action for the > tuple caught by no actions is > WHEN NOT MATCHED THEN INSERT DEFAULT VALUES I believe that the SQL standard specifies this behavior, and I don't think we have a compelling reason to do something different from what the SQL standard specifies. > Well, if people want the DO NOTHING action, I will add it in the system. That'd be great :) > Now, I have changed the RULE strategy of MERGE to the better logic. And I > am working on triggers for MERGE, which is also mentioned in the instruction > file. I will build a new patch with no long comment and blank line around > functions, and possibly contain the regress test file and this sgml > instructions in it. > > I wish we can reach a agreement on the DO NOTHING thing before my next > submission, so I can make necessary modification on my code for it. (the new > patch may be finished in one or two days, I think) > > Thanks! > > PS: I have an embarrassing question: how to view the sgml instructions of > postgres in web page form, rather than read the source code of them? After you've built postgresql, do this: cd doc/src/sgml make Then you can point a web browser at the doc/src/sgml/html/index.html (and similar) http://www.postgresql.org/docs/current/static/docguide.html has information about the tools you will need for the above to work. Cheers, David. -- David Fetter <da...@fetter.org> http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fet...@gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers