HeidiSQL 9.4 released

ansgar posted 2 years ago in Anouncements

This is a maintenance release with quite some additional new features and enhancements.

Grab it from the download page

  • New features:
    • Introduce GUI font preferences setting, so the user can customize the font of all dialogs and forms
    • Add a "clear" button to the both db+table filter textboxes.
    • Make insertion of node text on double click customizable, per tree style options menu
    • Make brace matching color customizable, via Tools > Preferences > SQL.
    • Add menu item "Run SQL file", as a complement to "Load SQL files".
    • Set font size per Ctrl + mousewheel in any grid view.
    • Add new "Options" dropdown button on SQL export dialog, and two new true/false settings: "Add comments" and "Remove auto_increment clauses".
    • Support procedures and functions in "Find text on server" dialog.
    • Support inline valued functions on MSSQL.
    • Make keep-alive-interval customizable in "Advanced" tab on session manager.
    • Display UTC date/time in 5th status bar panel.
    • Add "SQL DELETEs/INSERTs" to grid export formats.
    • Display the version of libpq.dll in the status bar's balloon hint with server details, using PQlibVersion().
    • Support wildcard options in "Find text on server" dialog in a new drop down box, to provide a possibility to find exact matches.
    • MySQL/MariaDB: Implement support for expired passwords. Show a change-password dialog after the very first query of a connection when it returns "Error 1820: You must SET PASSWORD before executing this statement".
    • Support Windows authentication via command line parameter W or winauth.
    • Accept SSL session settings as command line parameters. See http://www.heidisql.com/help.php#commandline for details.
    • Add some hotkeys for focusing table filter, database tree and main tabs. Also, add a new main menu with these actions, so the user can look up these hotkeys.
  • Enhancements:
    • Prefetch mass queries fired for each object in a database
    • Support MSSQL's XML data type, and do not cast it to VARCHAR in data grid
    • Increase size of analyzed text file chunk from 100K to 1M, in DetectEncoding(), so it fails less often to see encoding relevant characters
    • Add various missing translation strings
    • Detect table and its alias when using UPDATE/INSERT IGNORE
    • Display column comments on MSSQL
    • Add basic support for MySQL's new JSON data type.
    • Add new MySQL internally used date/time data types.
    • Internally handle MySQL's native column types in an enumeration, not as constants. See mysql.h.pp in the MySQL server code.
    • Add virtual column syntax for MySQL, which seems to differ slightly from the MariaDB implementation.
    • User manager: Allow double quotes in SHOW GRANTS output, to support ANSI mode.
    • Translate SynEdit shortcut captions.
    • Increase width of shortcut tree, so new translations have enough room.
    • Update SynEdit component
    • Remember size of completion proposal between sessions.
    • Rephrase confirmation message for running unsafe queries.
    • Do not quote column names when not required in SELECT query for data grid.
    • Add some new lines in SQL export, especially when "Add comments" is disabled
    • Try to show tooltip when columns in database tree are too narrow to show the full text.
    • Format byte numbers so that we never get a thousands separator in it.
    • Use a better fitting icon for the browse-file button in SQL export dialog.
    • Warn if export output filename contains illegal characters, which TFileStream.Create does not catch for some reason.
    • Do not check existence of IS.routines before querying it.
    • Remember selected encoding in several file-open-dialogs.
    • Use an exact comparison in multi-column filters for some PostgreSQL data types to overcome SQL errors, e.g. UUID, INT etc. Also, prevent other errors by matching the value against a certain regular expression. If it does not match, leave this column away.
    • Update all PostgreSQL libraries
    • Add splitter on procedure editor.
    • Set each procedure parameter on its own line, and remove some tabs.
    • Display number of sorted columns on "Sorting" button.
    • Display number of selected columns besides available columns on "Columns" button in "Data" tab.
    • Add new item "Logging preferences" to context menu in SQL log panel
    • Preferences: Add checkbox for "Horizontal scrollbar" in Logging tab.
    • Preferences: Give each tab an individual icon, and use flat button style for tabs.
    • Display network type in tooltip over server status panel.
    • Cosmetics in session manager: Rearrange and resize labels in statistics tab.
    • Cosmetics: Make status bar panel for server version a bit wider.
    • Update Transifex command line client to 0.12.1.
    • Add client plugin for MariaDB's GSSAPI authentication, basically Windows authentication.
    • Move some menu items for configuring data grids into a new submenu labelled "Grid view options"
    • Create a duplicated menu item there, for "View binary data as text" button from the main toolbar
    • Create a new menu item there, for jumping to the "Data" tab in the preferences window
    • Add related translation strings
    • Move plink.exe path to lpCommandLine parameter instead of passing it as lpApplicationName. This way, a folderless plink.exe call should use the first available one from the path environment.
    • Support multiple objects selected in user manager > add object.
    • Clear contents of filter boxes when pressing Esc key.
    • Support all integer and real data types for displaying as Unix timestamp.
    • Support session name in placeholders for filename.
  • Bugfixes:
    • Non functional bind parameter detection
    • Use db.func instead of schema.func when schema is empty, on retrieving MSSQL routine structure
    • MSSQL: Fix broken query for altering column comment via table editor
    • A yes/no message dialog may also return mrCancel, when the user clicks the X button to close it. Handle this case as if the user clicked "no", when HeidiSQL detects an unsafe query.
    • Fix endless loop in retrieval of column comments on MSSQL.
    • Fix order in table column parsing, so that collation is expected before a virtual expression
    • Fix non-working detection of indexes on PostgreSQL pre-9.0 servers
    • Postpone repaint of the data grid to later, after click on a header column with a bad WHERE filter. Fixes a crash in VirtualTree, when handling the click somewhere.
    • Fix position of horizontal splitter on second and successive query tabs.
    • MSSQL: Set textsize to a large value, so the view editor does not load partial code only.
    • Use a reasonable default height for the query editor, to prevent a splitter problem.
    • Prevent various problems with alignment of controls.
    • Fix duplication of query tab controls, when it comes to aligning the query helpers tree.
    • Fix crash when opening completion proposal with only views in a database.
    • Ignore surrounding parentheses when detecting table aliases for completion proposal.
    • Table designer: Do not allow an empty length/set for data types which require one.
    • Slightly increase auto-calculated width of size column in database tree, so it does not use ellipses on wider texts, e.g. "1.023 KiB"
    • In SQL dumps, make "SET NAMES utf8mb4" a version conditional statement for the minimum MySQL version supporting that charset.
    • Implement TPGQuery.TableName, so exporting grid rows get a table name when needed. E.g. for output format "SQL Inserts".
    • Allow tab after double dash comment in SQL highlighter.
    • Fix detection of virtual columns without "GENERATED ALWAYS" clause.
    • Fix unquoted and uncleaned numeric values in data grid updates and inserts.
    • Fix bug in TAdoDBQuery.TableName when multiple queries were executed.
    • Use an exact comparison for PostgreSQL's BOOLEAN datatype.
    • Fix multi column filter concatenated without OR after linebreak.
    • MSSQL: Work around multiple results from a single query, in case of a stored procedure for example.
    • Fill SSL command line parameters only if not empty in HeidiSQL session.
    • Overcome 4000 character limit in IS.VIEW_DEFINITION.
    • Use b'' format only for BIT columns in MySQL only.
    • Fix "Database(s)" string split by space characters. Allow semicolon only.
    • Fix wrong FLOAT data type mapping between DB.TFieldType and TDBDatatypeIndex, in TAdoDBQuery.Execute.
    • Do not complain about empty password when SHOW GRANTS output does not include the IDENTIFIED BY clause on MySQL 5.7.6+.
    • Rewind result set for column comments before iterating over it, as it's an inner loop.
    • Trim database names when passed as semicolon separated list.
    • Use exact text data types instead of their whole category for detecting special binary columns. Fixes unquoted JSON content in SQL exports.
    • Fix slow highlighter when TableNames contains several 1000's of strings. Removes limitation to 1000 table names for highlighting.
    • Fix crash when showing hint (animation) on grid cells with large text portions.
    • Catch exception when clicking "Cancel running operation" and the KILL command cannot be executed.
scottweaver posted 2 years ago

This seems to be causing major issues for me on Windows 10. Whenever I try to open a saved connection, I get the following error:

Could not execute PLink: C:\Users\Scott\plink.exe -ssh [...]

It worked fine before downloading the update, and I even re-downloaded plink.exe just to be safe. The command seems to work when I type it manually via command line.

Also, after getting the error message enough times, HeidiSQL seems to uninstall itself now. Whenever I click on a shortcut, it says it no longer exists. This has happened to me twice now. Any ideas? Thanks.

scatmanFATMAN posted 2 years ago

I also had this issue. I put double quotes around the executable path and that fixed it for me, but I also had a space in my path. The textbox turns in the SSH Tunnel settings, but it still works.

So I changed C:\Users\My Name\Desktop\plink.exe to "C:\Users\My Name\Desktop\plink.exe".

scatmanFATMAN posted 2 years ago

I also had this issue. I put double quotes around the executable path and that fixed it for me, but I also had a space in my path. The textbox turns red in the SSH Tunnel settings, but it still works.

So I changed C:\Users\My Name\Desktop\plink.exe to "C:\Users\My Name\Desktop\plink.exe".

scottweaver posted 2 years ago

@scatmanFATMAN thanks for the recommendation, but unfortunately it looks like that didn't fix it for me. It just changed the error message:

Could not execute PLink: "C:\Users\Scott\plink.exe" -ssh [...]
scottweaver posted 2 years ago

Just a quick update on the second part of my issue (the app uninstalling itself), I think that has to do with the invalid app signature issue that was reported by petrus. I think it was my work's anti-virus that uninstalled it twice due to the lack of a valid signature.

ansgar posted 2 years ago

I have just updated the v9.4 release and the latest build with a new sha2 based certificate, so it should be valid now.

For that plink.exe issue, please refer to this thread for which I changed the execution logic.

scottweaver posted 2 years ago

@ansgar the new version is no longer showing warning about the certificate, thanks!

I was able to fix the plink.exe issue by copying my plink.exe into a location that was in my path and then browsing to that new location. My old location was not in my path anywhere, so I guess that was the issue. Thanks for the help!

dlucazeau posted 9 months ago

@ansgar How to disable tooltip in datagrid ?


ansgar posted 9 months ago

Tooltips are currently only disabled when HeidiSQL runs through Wine. There is no way to disable them manually.

dlucazeau posted 9 months ago


Too bad, when all columns are long, it is disturbing


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