I think I've found an edge case error message when using the ZeroConf
feature and removing the phpMyAdmin configuration storage tables.
I used the Operations tab of a database with the ZeroConf feature to
create the tables. Then, after some time, I decided to drop the tables
or entire database. I then get an error about the missing tracking table:
> SQL query: DocumentationEdit Edit
>
> SELECT MAX(version) FROM `t_dr`.`pma__tracking` WHERE `db_name` =
> 't_dr' AND `table_name` = 'pma__bookmark, pma__central_columns,
> pma__column_info, pma__favorite, pma__history, pma__navigationhiding,
> pma__pdf_pages, pma__recent, pma__relation, pma__savedsearches,
> pma__table_coords, pma__table_info, pma__table_uiprefs,
> pma__tracking, pma__userconfig, pma__usergroups, pma__users' AND
> FIND_IN_SET('DROP TABLE',tracking) > 0
>
> MySQL said: Documentation #1146 - Table 't_dr.pma__tracking' doesn't
> exist
This is sort of an edge case but I could see a time when a user wishes
to remove the configuration storage tables or database and shouldn't get
this error. I've thought of two possible solutions but I'm not sure I
like either of them:
1) When dropping a database or table, detect if it's part of the
configuration storage and then disable the advanced features.
2) When tracking changes, don't track the configuration
storage database or tables.
I prefer 2 but I'm not sure about any ramifications of doing so.
Any opinions about this?