distal-attribute
distal-attribute
distal-attribute
distal-attribute

HeidiSQL 9.4 released

ansgar posted 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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!

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