I am Joe from Beihang University, Beijing, China. I am major in Computer Sciences.
Durning my university, PMA is very popular and a lot of my classmates are using PMA for database management.
I am quite interested in the project Automated testing for PMA. I have some php unit test project experience and selenium project experience.
when I try to add some unit test case, I found that the Jenkins build is failed, not very stable and without code coverage report.
so I can't take a look at the code coverage report.
Is there other place that I can see the code coverage report?
With current master (8785ea0) I made some tests on a MySQL 5.5.37 server
containing about 81000 databases and about 81000 users.
In the mysql.db tables there are about 81000 grant entries; each one
grants some wildcard access to databases starting with a certain pattern.
I tested with root, since the reports we got about the server being slow
seem to be occurring for root.
First, the login. It takes about 7 seconds before seeing the initial
page after login.
In the navi panel, there is a db page selector with 107 page numbers.
Going to any page takes about 7 seconds. Opening a db takes about 4
second (each db seems to contain about 31 tables).
Browsing tables, grid editing, searching inside a table behave normally.
Using Server > Databases works correctly, including switching pages.
Going to a MyISAM table, Structure, and trying to change a column's
structure takes 30 seconds before seeing the dialog for this column.
Switching this table to InnoDB does not help.
Database filter: I got mixed results. Sometimes it works (after about 10
seconds) but sometimes it stalls and does not find anything. I could not
find a consistent way to reproduce.
Server > Users: "Error in processing request. Error code: 500. Error
text: Internal server error".
Marc Delisle | phpMyAdmin
It seems that since that commit , the master is quite slow to import
This seems to be linked to multi-bytes functions that are really slower
compared to standard string functions.
I tried several variants of this, but without a good result: instead of
always using PMA_StringMB, try to detect encoding and so use
PMA_StringNative when possible.
To improve this, I cached the encoding, to avoid to detect it each time.
See  (this is not totally safe, here, for the tests, I removed the mb_*
But the result is not as good as before…
I also tried something more experimental: convert all the strings used in
PMA_String to UTF-8 string and so, mb_* functions won't convert anymore.
But it is not effective either.
Do you have any idea about the way to improve it please?
I thought about generalising the strpos to a strallpos/strposall (for
redundant strpos) with an explicit encoding, not to let PHP convert each
Thanks for your help,
Hi, this is just for informational purposes -- our code is fine.
PHP 5.5.17 seems to break mysqlnd when connecting via SSL. You can see
the bug report if you're interested.
I know we do some PHP (and MySQL) version tests, but is it appropriate
in this case to catch version 5.5.17 and warn the user about this bug?
Thanks to IRC user deuterium for figuring out the problem.
1 - https://bugs.php.net/bug.php?id=68046