HeidiSQL 9.2 released

ansgar posted 3 years ago in Anouncements
This is a new release with some new features and many bugfixes and enhancements.

Get it from the download page.



Changelog:
* New feature: Add support for JSON grid export
* New feature: Add support for Markdown Here grid export
* New feature: Support new command line parameter "n", or "nettype", which takes an integer, representing the protocol number (0=mysql tcpip, ...).
* New feature: Add support for connecting to Microsoft Azure Servers
* New feature: Add edit box + updown buttons for limiting the size of exported INSERT queries in bytes.
* New feature: Display creation time, last alter time, comment and start time of scheduled events.
* New feature: Online help document available. Various "Help" buttons in relevant dialogs link to this document.
* Bugfix: Dropping functions and procedures on PostgreSQL now with required parameters list
* Bugfix: Size bars in "Database" tab on PostgreSQL now with correct values
* Bugfix: Loading full grid data on PostgreSQL did not work on text columns
* Bugfix: Fix microseconds in MSSQL date/time data types, hidden in data and query grids.
* Bugfix: Use ISO 8601 date/time format on MSSQL
* Bugfix: PostgreSQL: Fix wrong order of columns shown in indexes, and show normal indexes also
* Bugfix: Do not uppercase ENUM values in procedure parameter datatypes
* Bugfix: Fix crash when right-clicking a database, following by a click on "Drop"
* Bugfix: Version conditional disabling for "Create new" menu items in MySQL mode only
* Bugfix: TEXT data type has a maximum length of 65k for MySQL only. Introduce other values for MSSQL and PostgreSQL.
* Bugfix: Fix memory leak in TfrmTableTools.SaveSettings
* Bugfix: Let longer data type matches win over shorter ones, especially important on PostgreSQL
* Bugfix: Make TPGConnection.FetchDbObjects compatible to pre-9.0 servers on PostgreSQL
* Bugfix: Fix non working addition of new columns in MySQL
* Bugfix: Detect xid type (oid 28) as integer.
* Bugfix: Detect character type (oid 1042) as char, not varchar.
* Bugfix: Detect aclitem[] type (oid 1034) as unknown, not text.
* Bugfix: Fix detection of PostgreSQL data type INTERVAL as VARCHAR.
* Enhancement: Automatic storing of settings in portable mode
* Enhancement: Optimize query for getting total row count on PostgreSQL
* Enhancement: Add support for microsecond precision of MSSQL date/time types in table editor, show these in "Length/Set" column
* Enhancement: Add a help button to the quite non-intuitive controls on the export dialog
* Enhancement: Add support for JSON data type on PostgreSQL
* Enhancement: Add support for HIERARCHYID data type on MSSQL
* Enhancement: Increase various default values for window dimensions, for reasonable look and feel for new users
* Enhancement: Add "Rename" context menu item in session tree.
* Enhancement: Use local number formatting in grids by default
* Enhancement: Use transparent background for NULL cells by default
* Enhancement: Support columns with a string literal as default value plus an ON UPDATE CURRENT_TIMESTAMP clause.
* Enhancement: Increase compatibility when getting procedure body on MSSQL.
* Enhancement: Remove duplicates from recent file list pulldown.
* Enhancement: Translate connected/disconnected words in status bar
* Enhancement: Set focus on filter box when SQL help dialog opens.
* Enhancement: Update gettext unit
* Enhancement: Make search/replace dialog resizable
* Enhancement: Activate "Clear filter" button after applying text to filter memo.
* Enhancement: Gracefully remove superfluous WHERE keyword from data grid filter, so other places like the previously modified "More filters" menu do not add a second WHERE.
* Enhancement: Use existing data grid WHERE filter to filter values from quick filter > "More values".
* Enhancement: Remove outdated details in readme file, and redirect to official help page instead.
* Enhancement: Detect all array style types on PostgreSQL as unknown type, e.g. TEXT[].
* Enhancement: Pass column or argument name to NativeToNamedColumnType(), as a hint for the user.
* Enhancement: Support quoted datatypes in TDBConnection.GetDatatypeByName, coming from TDBConnection.ParseTableStructure
apocs posted 3 years ago
With this realease it seems to me, that INT fields are represented like a FLOAT would.

For example, the INT value of 78789000 is represented as 78.789.000

Or is it just me?smile
ansgar posted 3 years ago
78.789.000 is not a float, is it? It's a local formatted integer. This is by default enabled now, for a Vetter readability. You can disable that formatting in Tools > Preferences > Text formatting > Local number format
apocs posted 3 years ago
No, you're right, it's not a float, but format was wrong either way :)

Your solution corrected this, thank you very much :)
BubikolRamios posted 3 years ago

No, you're right, it's not a float, but format was wrong either way :)

Your solution corrected this, thank you very much :)



Yeah ! Worked for me too.

Anway setup should report that I'm instaling onto same directory as last time (killing previous version) and be friendly and tell me that all my settings are save doing that.
Sayed posted 3 years ago
I got a bug : table name not colored as defined for large database
the database include (284 tables) + (654 routines) + (107 functions) + (5 triggers)
when i delete some procedures or functions
the color of table name come back (Fuchsia)
1 attachment(s):
  • Bug_TableNameColor
ansgar posted 3 years ago
I'm just thinking that only tables, not procedures are colored. But i have to check that.
ansgar posted 3 years ago
Ah, I just see my own comment in the code:
// Limit slow highlighter to 1000 table names. See http://www.heidisql.com/forum.php?t=16307
if Objects.Count < 1000 then begin
for i:=0 to Objects.Count-1 do
ObjNames := ObjNames + Objects[i].Name + CRLF;
end;

So, that highlighter list is limited to 1000 objects (not only tables, by the way).

The question is if we can probably increase that number of highlighted objects. But I guess that's not worth it, as we need a hard limit here anyway to ensure that reported crash does not happen again.
Sayed posted 3 years ago
highlighter list is limited to 1000 objects
it is few numbers of objects
any small ERP include at least more than 1000 objects
can it be 3000 or 5000 objects
plandbear posted 3 years ago
Download page says it works with later MacOS X builds. I'm running 10.10.2 and get attached picture when I try to install.
1 attachment(s):
  • Screen-Shot-2015-05-19-at-4.59.13-PM
ansgar posted 3 years ago
You need Wine on MacOS to run HeidiSQL.
plandbear posted 3 years ago
Thanks for the prompt response.
eleazan posted 3 years ago

Ah, I just see my own comment in the code:

// Limit slow highlighter to 1000 table names. See http://www.heidisql.com/forum.php?t=16307
if Objects.Count < 1000 then begin
for i:=0 to Objects.Count-1 do
ObjNames := ObjNames + Objects[i].Name + CRLF;
end;

So, that highlighter list is limited to 1000 objects (not only tables, by the way).

The question is if we can probably increase that number of highlighted objects. But I guess that's not worth it, as we need a hard limit here anyway to ensure that reported crash does not happen again.



If you set 1000 to a option? If anyones want, can set higher... and if it crashed, can set 1000 again.. :-)
rj9fu4h92j0c posted 3 years ago
Hey there, thanks for the update!

The current version still does not handle BINARY/BLOB fields in MySQL properly when running Windows with a multi-byte system locale.
I reported this a while back at http://www.heidisql.com/forum.php?t=17185

I tried to look into the source code to find where HeidiSQL handles binary data but couldn't find it. As it causes issues in both displayed grid data and exported SQL data, I assume it is at some core functionality.

It may even be in the mysql client library? If so, would it be hard to wrap binary data reads into hex(*) functions? Like, as an option or automatically detect the multi-byte code page somehow.

Here's a list of double byte character set code pages in Windows: https://msdn.microsoft.com/en-us/goglobal/bb964654

You can reproduce this problem by opening the region settings in the Windows Control Panel and setting the "Language for non-Unicode programs" to "Japanese (Japan)".

With this, HeidiSQL will run under code page 932 thus you can reproduce the issue with the following SQL script:

CREATE TEMPORARY TABLE tmpbinarytesttable (id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, data TINYBLOB NOT NULL, PRIMARY KEY (id)) COLLATE='ascii_bin' ENGINE=InnoDB;
INSERT INTO tmpbinarytesttable (data) VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x8400),(0x8401),(0x84F0),(0x84FF);
SELECT id, data as heidisql_bad_binary, hex(data) as correct_binary_str FROM tmpbinarytesttable;
DROP TABLE tmpbinarytesttable;


The output columns `heidisql_bad_binary` and `correct_binary_str` should obviously be the same, but they are different in HeidiSQL.

Thanks again for looking into this,
Bernhard

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