Since before MySQL was MySQL, there has been the .FRM file. Of course, what it really wanted to be was “.form” - a file that stored how to display a form on your (green) CRT. Jan blogged earlier in the year on this still being there, even in MySQL 5.1 (albeit not in any useful form).
So why do we want it to die?
Well… it’s not exactly very useful anymore.
There are a few things it’s used for….
If database/table.frm exists, the table exists (or, on Windows, you may also get database\table.frm). This is tested in a few bits in the code by a call to access(2).
Most engines have their own data dictionaries (Innodb, PBXT, NDB, Falcon). Keeping these in sync with the FRMs can be problematic at best. This is especially true with distributed engines such as NDB.
The current solution is …
[Read more]