A short while after I fixed the legacy bug that prevented temporary 
MyISAM tables from using the dynamic record format, I got an email from Davi 
Arnaut @ Twitter. It turned out that Twitter needed to fix the very same 
problem, but for the case when INFORMATION_SCHEMA temporary tables use 
MyISAM.
In short, INFORMATION_SCHEMA tables provide access to database metadata. 
Despite their name, they are more like views than tables: when you query 
them, relevant data is gathered from the dictionary and other server 
internals, not from tables. The gathered data is stored in a temporary table (memory or MyISAM depending on size) and then returned to the user.
The reason Davi emailed me was to let me know that he had further 
improved the fix for temporary MyISAM tables to also enable the use of 
dynamic record format for INFORMATION_SCHEMA tables. I usually don't 
have huge databases on my development box so the problem of querying 
metadata had gone unnoticed. But it turns out that Davi and his 
colleagues at Twitter do deal with massive amounts of data :-)
This was one of the queries that caused problems:
SELECT pool_id FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE limit 1;
