phpmyadmin/phpmyadmin — pull request #1375 by madhuracj (2014-10-11 16:28:10+00:00)
Title: Performance improvements related to IS

This PR is not for immediate merge. As you can see there are unit test failures. If you like the concept I will work on fixing them.

Here is what I have done.
* Added back the `DisableIS` directive. This time its default value is set to false.
* Earlier, Node::getData() method (which is responsible of getting the list of databases to show in navigation) was not adhering to `DisableIS` directive. I have update the method to do so.
* Earlier, Node::getData() method did not adhere to `NavigationTreeEnableGrouping` directive, which is fixed now.
* Earlier, `SHOW TABLES` queries did not adhere to `hide_db` and `show_db` directive. Now they adhere to both of them.

There is still a case where navigation would still take long a long time to load. If the current navigation page has a database group(s) which contain(s) a very large number of databases, it would still cause slowness. However, this can be avoided by disabling groping in navigation (by setting `NavigationTreeEnableGrouping` to false). If grouping is required we can use `hide_db` and `only_db` directives to improve performance.