djdjohnson posted 4 years ago in General
Generally speaking I love HeidiSQL. But there are a bunch of little annoyances that have been driving me nuts, many since version 4.0. It would be nice to see some of these addressed...

* Constant Access Violations editing table data. I get these constantly, and they often result in having to refresh a table, find the row I need to edit, and make the changes again. It's pretty annoying, and has taken up a lot of my time. It usually prompts to save a bug report, but I don't because I don't know what to do with them.

* General unfriendly to keyboard users. Many power users prefer to use the keyboard to navigate around the software. I am one of these people. Version 3.2 was, for the most part, pretty keyboard friendly, with accelerator keys on most buttons and other controls. The newer features added since 4.0 for the most part have not been assigned keyboard shortcuts, which means a lot of needless back-and-forth between the keyboard and mouse. For example, I had to ask for keyboard shortcuts in the Find/Replace dialog for the query editor, and one was added for Replace, but not Find. And most other newer screens within HeidiSQL don't have keyboard accelerators at all. It _really_ slows me (and other keyboard users) down.

* Table structure editor has a lot of little quirks. It is very tedious to create and modify data table structures. I'm in charge of over 100 servers (growing daily) with nearly 200 tables on each, so I spend quite a bit of time working on data structures, and the editor is very frustrating to use, especially with regard to the way that a data type and default values are selected. Most of the other attributes can be edited fairly easily with the keyboard, but those two in particular are extremely frustrating to try to navigate. For example: in 3.2 I could just type the name of a data type and it would be selected in the drop-down list. That doesn't work in 5.0/5.1. It pretty much has to be selected with a mouse, which is a LOT slower.

* Not respecting default column values: For example, if you TAB into a DATE/TIME/DATETIME column that has a default value of NULL, HeidiSQL still inserts the current date/time automatically. It ought to respect the default values for all columns, especially dates.

* No visual indication of status of long operations. If I alter the structure of a 500 MB table, it takes a while to perform the operation, and this is to be expected. But HeidiSQL doesn't show any indication that it is doing anything (like waiting for the server to respond). And when the operation is complete, there is no visual indication that it is done. When the program is busy waiting for the server to respond, it ought to either disable all controls on the form, turning them gray to indicate they are unusable, or pop up a panel indicating it's waiting for a response. Ideally database operations would be performed in a separate worker thread so the thread running the user interface doesn't become unresponsive, but if that isn't possible the UI ought to indicate in some way that it is busy/waiting. Especially for operations that are expected to take a long time, like an ALTER statement on a large table.

Those are the first things that come to mind, and the ones that drive me batty on a daily basis. I'd really appreciate, at a minimum, fixing the bugs that cause the Access Violations, and adding keyboard accelerator keys to make the app more keyboard friendly.

I certainly don't mean to come across as someone who hates the product, I certainly don't... as I said earlier, for the most part I love it, but spending as much time in it as I do, the little annoyances really do begin to add up and dealing with them really eats up a lot of my time, so I would be VERY grateful if some of these little things could be addressed.

Thanks for an otherwise excellent product!
ansgar posted 4 years ago
For those AVs, it would be helpful if you send the callstack, as I cannot reproduce them here.

> And when the operation is complete, there is no visual
> indication that it is done

Oh there is one - please look at the very right bottom, displaying a progress bar while queries are running, plus the very right status bar panel displaying "Executing query #x of y". But of course the controls are not updated inbetween due to missing threads. However, the issue you commented is high ranked and I appreciate any help on that, especially if it comes as code snippet with a very simple approach - I love simplicity.

Please login to leave a reply, or register at first.