From: Zardosht Kasheff Date: April 23 2010 12:25pm Subject: Re: HA_EXTRA_WRITE_CAN_REPLACE flag List-Archive: http://lists.mysql.com/internals/37883 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Hello Sergei, Thanks for responding. Just to make sure I understand, it is a bug in the documentation, right? -Zardosht On Fri, Apr 23, 2010 at 2:29 AM, Sergei Golubchik wrote: > Hi, Zardosht! > > On Apr 21, Zardosht Kasheff wrote: >> Hello all, >> >> If I understand correctly, the flag HA_EXTRA_WRITE_CAN_REPLACE implies >> that handler::write_row can overwrite existing rows, if a duplicate is >> found. That is what the comment states, and that is what I heard NDB >> does in MySQL Cluster. If this is the case, then I assume that >> handler::write_row returns success even when the row is overwritten. >> >> If that is the case, how is this part of the contract honored, as >> stated by the MySQL 5.1 reference manual >> (http://dev.mysql.com/doc/refman/5.1/en/replace.html): >> "The REPLACE statement returns a count to indicate the number of rows >> affected. This is the sum of the rows deleted and inserted." >> >> Is something in my understanding not correct? Because it seems that if >> handler::write_row silently overwrites an existing row, as >> HA_EXTRA_WRITE_CAN_REPLACE seems to allow, then the counts will not be >> accurate. > > Yeah, seems like you're right. > I think it's a bug. > > Regards, > Sergei >