Bug #47286 'have_federated' variable not implemented
Submitted: 12 Sep 2009 11:22 Modified: 28 Nov 2011 15:40
Reporter: Peter Laursen (Basic Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: General Severity:S3 (Non-critical)
Version:5.1.38 OS:Any
Assigned to: CPU Architecture:Any
Tags: qc
Triage: Triaged: D4 (Minor)

[12 Sep 2009 11:22] Peter Laursen
Description:
SELECT VERSION();
-- 5.1.38-community

SHOW ENGINES;
/*
Engine      Support  Comment                                                         Transactions  XA      Savepoints
----------  -------  --------------------------------------------------------------  ------------  ------  ----------
MEMORY      YES      Hash based, stored in memory, useful for temporary tables       NO            NO      NO        
CSV         YES      CSV storage engine                                              NO            NO      NO        
InnoDB      DEFAULT  Supports transactions, row-level locking, and foreign keys      YES           YES     YES       
BLACKHOLE   YES      /dev/null storage engine (anything you write to it disappears)  NO            NO      NO        
FEDERATED   YES      Federated MySQL storage engine                                  NO            NO      NO        
MyISAM      YES      Default engine as of MySQL 3.23 with great performance          NO            NO      NO        
ARCHIVE     YES      Archive storage engine                                          NO            NO      NO        
MRG_MYISAM  YES      Collection of identical MyISAM tables                           NO            NO      NO        */

SHOW VARIABLES LIKE 'have_%';

/*
Variable_name            Value   
-----------------------  --------
...     
have_csv                 YES     
...    
have_innodb              YES  
have_ndbcluster          NO     
...
*/    

'have_csv', 'have_innodb', 'have_ndbcluster' are listed - no other server variables of type 'have_engine's are there.  

How to repeat:
see above

Suggested fix:
I think a 'have_federated' variable will make sense too as FEDERATED is an optional ENGINE too (not sure about BLACKHOLE, but the rest are not optional I believe).  

The idea is (was?) that "SHOW VARIABLES LIKE 'have_%'" should give an complete overview of the status of optional server features.
[12 Sep 2009 11:23] Peter Laursen
fixed typo in synopsis.
[12 Sep 2009 11:43] Peter Laursen
Some kind of a side-remark (what maybe should be posted as a seperate report): 

My first post was checked with the stardard built-in InnoDB. Now I checked with the InnoDB plugin too.  Also with this the server returns a 'have_innodb' variable.  So far so good.  

However if not the case already all plugins should implement a 'have_***' variable. The plugin interface should ensure that automatically.  But maybe it does already?
[12 Sep 2009 11:44] Valeriy Kravchuk
Thank you for the bug report. Indeed, more consistency is needed with "have_<storage engine>" servers variables support.
[28 Nov 2011 15:40] Peter Laursen
I am closing myself.  Also have_innodb is now being removed in 5.6