ID #1118

What Storage Engines are supported by SQLyog?

Any! (well .. almost)


Starting from SQLyog 5.2 the list of available Storage Engines (before MySQL 4.1 named 'Types') is not hard-coded into the program but is retrieved dynamically by querying MySQL itself.


It does like this:

1) On MySQL 5.1 the Information_Schema has a ´engines´ table. Information from this table is used when available. With this we also fully are prepared for the MySQL 'pluggable storage engine architecture' and we will automatically support any new Engine that is added to MySQL - at compile time or dynamically. A handful of such Storage Engines are expected to have reached a usable stage in the autumn of 2006.

2) On MySQL 5.0 the Information_Schema has no such table and before 5.0 there is no Information_Schema at all. On those versions we parse the returns of the statement:

SHOW VARIABLES LIKE 'have_%';

If for instance this SHOW statement returns a line reading

have_innoDB = YES

.. then InnoDB is available and SQLyog will offer the InnoDB Engine as an option with the functionalities where it applies (CREATE TABLE, ALTER TABLE, CHANGE tableType to ..).



A special note on the MERGE and FEDERATED Storage Engines:

Tables defined with those engines are special in that way that they are not 'real' tables in the sense that they have no physical storage of their own.  They 'use', 'reference' or 'link to' other tables.  To support those we will need some special GUI functionalities.  We plan to implement that in the 5.2 development tree.

 

Tags: -

Related entries:

You can comment this FAQ