Issue 1: After the automatic creation of tables (see at the end of libraries/common.inc.php), it looks like the phpMyAdmin configuration storage features are not enabled. For example, I create a favorite but it's not stored in pma__favorite; or I am not offered a dialog to create a bookmark.
Issue 2: I suspect a performance problem in PMA_fixPMATables(). There, a loop tries to create each table instead of verifying whether it already exists.
Issue 3: I am no longer sure that it's a good idea to automatically create these tables on entering a db (when ZeroConf is true) without notifying the user.
Marc, is this feature suppose to allow user to use advanced feature without having a config.inc.php?
Without a config.inc.php:
When I create the tables with this feature the next page shows me that all the features are active. However, when I leave this page the usual warning is displayed and no advanced features seems to work?
Madhura, yes users should not need a config.inc.php.
There are two ways to create the tables. In issue 1 I am reporting a problem with the automatic way (not resulting from a user action under Operations).
I wonder how the name of the database is persisted. Are you able to use the advanced features later by re-login later?
The name of the database is not persisted; that's why, on entering a database, a verification is done about the presence of standard pmadb tables in the current database. If these are found, advanced features are supposed to be activated and stored in these pmadb tables inside this database. If they are not found, they are auto-created.
As this is a zero-configuration feature, we cannot make persistent a database name. The idea is that, probably, a user has access to just one database and must use it for everything.
Last edit: Marc Delisle 2014-12-31
Well, I see a contradiction there. These unprivileged users are common in shared hosting. But, to connect to such remote hosting you need a config.inc.php.
It's rare that you work with unprivileged accounts in your local machine which is the only server that can be accessed without a config.inc.php
I see the usecase. phpMyAdmin hosted by the remote hoster.
Fix: https://github.com/phpmyadmin/phpmyadmin/pull/1445