From: Sergei Golubchik Date: March 30 2011 6:57am Subject: Re: storage engine access to serialized version of a TABLE or TABLE_SHARE? List-Archive: http://lists.mysql.com/internals/38273 Message-Id: <20110330065711.GA1880@janus.mylan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Hi, Zardosht! On Mar 29, Zardosht Kasheff wrote: > Once again, thank you Dmitry and Sergei for pointing me in the right > direction. > > I want to make sure that my understanding is correct. Looking at NDB, > it seems that they use the functions readfrm() and packfrm() to save > the frm file. readfrm() seems get the contents uncompressed, and > packfrm() compresses them. > > Suppose I want to just save the raw uncompressed bytes that make up > the file. I think I can just use the function readfrm() to get the > data. And, if some crash caused the frm file and my saved version to > get out of sync, I can just generate a new frm file by saving the data > that readfrm() retrieved into a new frm file. > > I will give the above a shot. I don't think that silently overwriting frm file under MySQL feet is a good idea. Instead, use the discovery mechanism of MySQL. As an example look at NDB or Archive. It allows the engine to tell the server that a table has a structure different from what MySQL thinks (after reading frm), or that a table exists (when frm does not). Regards, Sergei