<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: How alter table locks tables and handles transactions</title>
	<atom:link href="http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/feed/" rel="self" type="application/rss+xml" />
	<link>http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/</link>
	<description>You will probably want some waders, a pick axe, and one of those hats with a light on it before you go in here.</description>
	<pubDate>Wed, 20 Aug 2008 07:35:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Lukas</title>
		<link>http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/#comment-32827</link>
		<dc:creator>Lukas</dc:creator>
		<pubDate>Mon, 11 Jun 2007 14:43:10 +0000</pubDate>
		<guid isPermaLink="false">http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/#comment-32827</guid>
		<description>a LOCK TABLE call is another alternative, but if you have users that have to wait then, its probably best to take the server down, especially if you have other servers that can take over ..</description>
		<content:encoded><![CDATA[<p>a LOCK TABLE call is another alternative, but if you have users that have to wait then, its probably best to take the server down, especially if you have other servers that can take over ..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pythian Group Blog &#187; Log Buffer #44: a Carnival of the Vanities for DBAs</title>
		<link>http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/#comment-25536</link>
		<dc:creator>Pythian Group Blog &#187; Log Buffer #44: a Carnival of the Vanities for DBAs</dc:creator>
		<pubDate>Fri, 11 May 2007 16:54:00 +0000</pubDate>
		<guid isPermaLink="false">http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/#comment-25536</guid>
		<description>[...] table during alter table and other times they can’t. Also why it’s so slow.&#8221; He explains how alter table locks tables and handles transactions with a little help from Heikki [...]</description>
		<content:encoded><![CDATA[<p>[...] table during alter table and other times they can’t. Also why it’s so slow.&#8221; He explains how alter table locks tables and handles transactions with a little help from Heikki [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Heikki Tuuri</title>
		<link>http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/#comment-24813</link>
		<dc:creator>Heikki Tuuri</dc:creator>
		<pubDate>Tue, 08 May 2007 05:32:41 +0000</pubDate>
		<guid isPermaLink="false">http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/#comment-24813</guid>
		<description>Eric,

actually, the right solution would be to return from the SELECT an error like "snapshot too old", at least in the second SELECT above.

We should compare the table timestamp to the consistent read snapshot timestamp.

Please file an InnoDB bug report to bugs.mysql.com about this.

Regards,

Heikki</description>
		<content:encoded><![CDATA[<p>Eric,</p>
<p>actually, the right solution would be to return from the SELECT an error like &#8220;snapshot too old&#8221;, at least in the second SELECT above.</p>
<p>We should compare the table timestamp to the consistent read snapshot timestamp.</p>
<p>Please file an InnoDB bug report to bugs.mysql.com about this.</p>
<p>Regards,</p>
<p>Heikki</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Heikki Tuuri</title>
		<link>http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/#comment-24812</link>
		<dc:creator>Heikki Tuuri</dc:creator>
		<pubDate>Tue, 08 May 2007 05:29:08 +0000</pubDate>
		<guid isPermaLink="false">http://ebergen.net/wordpress/2007/05/07/how-alter-table-locks-tables-and-handles-transactions/#comment-24812</guid>
		<description>Eric,

InnoDB, in an ALTER TABLE, commits the row-copying transaction at every 10,000 copied rows. That is to save space in the undo log.

What I do not understand is why you in the second result above only get 5 rows back. How big was the table that you ALTERed?

Since an ALTER destroys the history information for rows, there is no way InnoDB's consistent read could work in a consistent way over an ALTER TABLE. I hope this is mentioned in the MySQL manual.

"I’m not sure why innodb allows rename of a table when transactions still have a few of that table open. It seems like a bug to me."

We really cannot block ALTER or RENAME whenever someone has a consistent read snapshot open anywhere in the database. It would cause too long waits.

Regards,

Heikki</description>
		<content:encoded><![CDATA[<p>Eric,</p>
<p>InnoDB, in an ALTER TABLE, commits the row-copying transaction at every 10,000 copied rows. That is to save space in the undo log.</p>
<p>What I do not understand is why you in the second result above only get 5 rows back. How big was the table that you ALTERed?</p>
<p>Since an ALTER destroys the history information for rows, there is no way InnoDB&#8217;s consistent read could work in a consistent way over an ALTER TABLE. I hope this is mentioned in the MySQL manual.</p>
<p>&#8220;I’m not sure why innodb allows rename of a table when transactions still have a few of that table open. It seems like a bug to me.&#8221;</p>
<p>We really cannot block ALTER or RENAME whenever someone has a consistent read snapshot open anywhere in the database. It would cause too long waits.</p>
<p>Regards,</p>
<p>Heikki</p>
]]></content:encoded>
	</item>
</channel>
</rss>
