MySQL Forums
Forum List  »  InnoDB

Re: InnoDB log buffer and log file
Posted by: Istemi Ekin Akkus
Date: March 13, 2008 08:47PM

Hello,

I am quite confused. When I look into the ib_logfile's I can see the old value of an update operation. For example, if my table has a row like
+----------+
field1
+----------+
aaaa
+-----------+

and I issue the query

update table set field1='bbbb' where field1='aaaa'

the table would become

+----------+
field1
+----------+
bbbb
+-----------+

In the contents of the ib_logfile, I would see, the transaction id, the old value aaaa and the new value bbbb.

Strangely enough, ibdata1 does not have aaaa, but only bbbb (i.e., the new value of the field).

My question is, how innodb rolls back without using the information in ib_logfile. If innodb uses ibdata for rolling back (without the old value of the field), why is the old value kept in the redo log (i.e., ib_logfile)?

Options: ReplyQuote


Subject
Views
Written By
Posted
2828
February 04, 2006 08:57AM
1728
February 05, 2006 02:30AM
1655
February 06, 2006 02:28PM
1601
February 08, 2006 08:18AM
Re: InnoDB log buffer and log file
1653
March 13, 2008 08:47PM
1562
March 14, 2008 08:14AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.