From: scut_tang Date: June 4 2009 10:54am Subject: Re: About definition of I_S tables List-Archive: http://lists.mysql.com/soc/378 Message-Id: <6682094.998101244112895329.JavaMail.coremail@bj126app52.126.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_265897_23285061.1244112895328" ------=_Part_265897_23285061.1244112895328 Content-Type: text/plain; charset=gbk Content-Transfer-Encoding: 7bit >Yes, but I think it would be easier to go just a bit deeper. That is to >keep open_table() and open_table_from_share() as is, and implement the >function to create a TABLE_SHARE without an frm file. When TABLE_SHARE >exists, open_table_from_share() will work normally, no need to modify >it. >And the simplest way to create a custom TABLE_SHARE, I suppose, is a >table discovery - ha_create_table_from_engine() -> ha_discover(). I browse those function source code today. They drive me crazy. What do "Try to discover table from engine", "table exist in handler" and "table in engine" mean? Could you give some example? I know MySQL server will reach ha_create_table_from_engine(), when a query as "SELECT * FROM Whatever.none". Whatever.none is not exist. The function will return a result means table did not exist. In what situation, it will return table created ok? Could you say something more about ha_discover() in detail? Regards. Robin ------=_Part_265897_23285061.1244112895328--