Tom Lane wrote: > I don't see why 2PC would require any protocol-level change. I would > think that the API would be something like > > BEGIN; > issue some commands ... > PRECOMMIT; > -- if the above does not return an error, then > COMMIT; > > In other words, 2PC would require some new commands, but a new command > doesn't affect the protocol layer.
I think a precommit-vote-commit phase of 2PC can be implemented in command-lavel or protocol-level. In command-level 2PC, an user application (or application programmer) must know the DBMS is clustered or not (to use PRECOMMIT command). In protocol-layer 2PC, no new SQL command is required. A precommit-vote-commit phase will be called implicitly. It means an user application can be used without any modification. An application can use a traditional way (BEGIN...COMMIT). So I made my decision to use protocol-layer implementation. It doesn't affect the SQL command layer. -- NAGAYASU Satoshi <[EMAIL PROTECTED]> ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly