Then my first question would be... why is there a separate GetTableNames in the TMySQLXXConnections? If the GetSchemaInfoSQL takes care of it all it shouldn't be necessary.
I've looked a bit further and it seems like the GetSchemaInfoSQL() of the TMySQL56Connection does indeed gets called. Also MySQL
doesn't support getting system-tables so calling GetTableNames should give the mentioned error (not available).
But... calling GetTableNames with false (for usertables) still gives an error.
That's because the GetTabeNames of TSQLConnection fills in a "Returnfield" parameter with "table_name". Like this:
GetDBInfo(stTables,'','table_name',List)
For the TMySQLXXConnections however the returnfield is "tables_in_databasename". You can see that because the GetTableNames in TMySQLXXConnection does this:
GetDBInfo(stTables,'','tables_in_'+DatabaseName,List)
Oh, AND ADDITIONAL:
Same as above also goes for
TSQLConnector.GetFieldNames(TableName, TStrings)
: Field not found : "
column_name".
(I added it to the bug-entry as comment.)