On 20 June 2012 16:23, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote: > On 20.06.2012 11:17, Simon Riggs wrote: >> >> On 20 June 2012 15:45, Heikki Linnakangas >> <heikki.linnakan...@enterprisedb.com> wrote: >>> >>> On 20.06.2012 10:32, Simon Riggs wrote: >>>> >>>> >>>> On 20 June 2012 14:40, Heikki Linnakangas >>>>> >>>>> >>>>> And I'm worried >>>>> it might not even be enough in more complicated scenarios. >>>> >>>> >>>> It is not the only required conflict mechanism, and has never been >>>> claimed to be so. It is simply one piece of information needed, at >>>> various times. >>> >>> >>> So, if the origin id is not sufficient for some conflict resolution >>> mechanisms, what extra information do you need for those, and where do >>> you >>> put it? >> >> >> As explained elsewhere, wal_level = logical (or similar) would be used >> to provide any additional logical information required. >> >> Update and Delete WAL records already need to be different in that >> mode, so additional info would be placed there, if there were any. >> >> In the case of reflexive updates you raised, a typical response in >> other DBMS would be to represent the query >> UPDATE SET counter = counter + 1 >> by sending just the "+1" part, not the current value of counter, as >> would be the case with the non-reflexive update >> UPDATE SET counter = 1 >> >> Handling such things in Postgres would require some subtlety, which >> would not be resolved in first release but is pretty certain not to >> require any changes to the WAL record header as a way of resolving it. >> Having already thought about it, I'd estimate that is a very long >> discussion and not relevant to the OT, but if you wish to have it >> here, I won't stop you. > > > Yeah, I'd like to hear briefly how you would handle that without any further > changes to the WAL record header.
I already did: >> Update and Delete WAL records already need to be different in that >> mode, so additional info would be placed there, if there were any. The case you mentioned relates to UPDATEs only, so I would suggest that we add that information to a new form of update record only. That has nothing to do with the WAL record header. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers