Saturday, January 14, 2006

What's wrong with MySQL QueryBrowser?

First I'd like to say - I absolutely like the way that MySQL QueryBrowser is supposed to work! All the windows can very easily be arranged so that everything's in sight (one one screen) that's necessary to write complex queries - I can e.g. show the results of a query in one screen, open the field lists of the tables that I need, so this way, everything's available that I need to write big queries (including complex joins) without the need to switch between different screens. I haven't found another programm (neither for MySQL, nor for PostgreSQL) that makes the work of query writing more comfortable!

However, since version 1.1.15, evil bugs have found their way into QueryBrowser. For some time, it wasn't possible to drag and drop a table name into the result area to immeditely show the contents of a table. In one version, it wasn't possible to open the window to write a Stored Procedure or User Defined Function. And in another version (I think, it was 1.1.16) it wasn't possible to switch between tabs without losing the query that's in the other tab.

These were really annoying bugs, but they seem to have been solved in the most recent release, 1.1.19.

But there are still other nasty things. If you mark a query, it becomes invisible (Bug no. 15825). And I found that inactive menu items are completely invisible (Bug no. 16507). They should of course be greyed out, but invisible?

I also found another problem (I only tested 1.1.19 for a short amount of time, since I soon found out that there are still too many problems to update) that sent me an "out of memory" error and again, it was impossible to drag and drop a table into the result set. Unfortunately I haven't found a way to repeat this on a test case, so I didn't have sufficient information about this to report this bug. But it shows that there are more problems in MySQL QueryBrowser.

I still use version 1.1.14 because as far as I discovered, this was the last version that works without major bugs. The latest version will be the fifth version in a row (I've tested them all) that I will skip - I hope that I'll soon be able to update MySQL QueryBrowser, too. I used to work with the most recent versions of MySQL's products and almost all the times, I did fine with this strategy. I hope that the need to skip versions will stay very rare exceptions.

4 comments:

pabloj said...

Thanks for this post, I hope it will show MySQL AB that people have a hard time with such a buggy tool.
Look at pgAdminIII or Flamerobin, they have no trivial bugs and a better editor.
And I'm still waiting for:
1. Changelog (see MySQL Bugs: #11063: No changelog provided)
2. Create trigger option (see MySQL Bugs: #15482: Create trigger option in script menu)
3. SSL connections for windows tools (see MySQL Bugs: #12874: SSL connection error)
Regards

Markus Popp said...

Hi,

the recent bugs in QueryBrowser are nasty, that's true. However, the product itself is absolutely alright and as soon as the bugs are cleared, it will be a great tool to work with MySQL databases (as well as it was a great tool up to version 1.1.14).

A changelog for QueryBrowser, Administrator and Migration Toolkit (all the products that still don't have one) would also be very much appreciated by me ;-).

I think that it's possible to write triggers inside the 'script edit' tabs, so I don't regard this as such a big problem, but still it would not be a bad idea to create a create trigger option.

But also if pgAdmin doesn't have trivial bugs, I don't like it's interface very much (if there are options that I haven't still found that solve my problems, please let me know). I get a new window for every new query that I write or if I want to edit data in the 'view data' screen. That fills up my task bar and it takes me much time to find the correct window again. Writing complex queries requires to switch between windows very often and so it's an exhausting process. I'd wish that pgAdmin would also provide the possibility to handle that with tabs, so that all relevent information is in sight all the time.

I don't know Flamerobin, yet - but it's a good tip to take a look at it, thank you!

Markus

pabloj said...

Hi, thanks for your answer, one feature from Flamerobin which should be added to other editors is code completion, very nice!
I really like pgAdmin and I would love to see MySQL tools take the same (wxWidgets if I remember correctly) approach.
Also, are you aware that MySQLQB silently opens a new connection for each query you run (MySQL Bugs: #12138)?
Again, hope that this will raise the developer attention to those details

Ruturaj Vartak said...

The MySQL guys are working...

Its good to see one version after another, that just shows how deeply are they (the MySQL QB devs) into their job.