HeidiSQL 12.16 with reverse foreign keys, Display main menu, row count on MSSQL and SQLite

ansgar's profile image ansgar posted 1 month ago in Anouncements Permalink

Get it from the download page

Notes:

  • You can already get a preview of v13 for Windows, built on the same codebase as the Linux version. See the download page for a zip package.
  • Ubuntu 24.04 needs libqt6pas (not in the repos yet):
    • curl -L -o /tmp/libqt6pas6_6.2.10-1_amd64.deb https://github.com/davidbannon/libqt6pas/releases/download/v6.2.10/libqt6pas6_6.2.10-1_amd64.deb
    • sudo apt install /tmp/libqt6pas6_6.2.10-1_amd64.deb
  • Install .deb package:
    • sudo apt install ~/Downloads/heidisql_12.16_amd64.deb

Bugfixes and enhancements:

  • fix: wrong SQL on MS SQL when renaming table per table editor
  • fix: use default brew path to sshpass on macOS
  • feat: run user startup script in DoAfterConnect call, which includes reconnects
  • fix: several crash causes Host subtabs when connection is lost externally
  • fix: non stored global setting for "sort alphabetically" checkbox in column selection
  • fix: high CPU load and unresponsiveness through SynEdit highlighter when starting to edit large text in popup editor
  • fix: crash when enabling TShellListView.MultiSelect in OnFormShow, now sets options per setter method, before FormShow
  • fix: crash on right-click in empty area of query result grid
  • enhance: export tables which are hidden through the table filter
  • refactor: migration to TSqlProvider
  • feat: re-enable clickable "Analyze query" label on host > processes
  • fix: Initial FK names assigned in TfrmTableEditor.listForeignKeysNewText() were lacking the referencing table's table name in case the referencing table was not created yet (pr from Jochen Neubeck)
  • fix: wrong schema queries in SQLite, always shows columns and indexes of first database file
  • fix: BIT values in MS SQL grid queries prefixed with MySQL b'' style
  • fix: random crash in dodgy typecast TEdit/TEditButton
  • fix: load any foreign keys, anyway if the user owns them, on PostgreSQL
  • fix: TDBQuery.TableName always returned an empty string on MS SQL
  • fix: TDBQuery.Col() crashes with "Column not available" on certain locales
  • fix: allow $$ as delimiter again on non-PostgreSQL connections, and ` on non-MySQL connections

Notable new stuff

  • feat: reverse foreign keys on "Foreign keys" tab in table editor (screenshot below)
  • feat: add menu item Edit > Copy column names
  • feat: prevent loading an SQL file multiple times into an editor
  • feat: add sshpass.exe v1.0.6 for Windows, and refactor Windows installer script
  • ui: hint the user in which path we are going to look for sshpass (macOS and Windows)
  • feat: inject app name and version into potentially long during SQL queries for the SQL export
  • feat: add "Display" main menu, move some spread items there, and add two items for toggling log panel and tree filters (screenshot below)
  • feat: support BOOLEAN column type in MySQL
  • feat: create SQL export option for wrapping DML commands in a BEGIN/COMMIT transaction
  • feat: display approximate row count of tables in database tab on MS SQL
  • feat: support full table status option in SQLite, showing "Rows" from COUNT(*) for each table
  • feat: prefer KILL QUERY over KILL on MySQL and MariaDB, when using the "Kill process" menu item in Host > processlist
  • feat: show virtual, stored and hidden columns in SQLite
  • and more: https://github.com/HeidiSQL/HeidiSQL/releases/tag/v12.16

Reverse foreign keys

Display menu

thiagorafaelcg's profile image thiagorafaelcg posted 2 weeks ago Permalink

reverse FK .png

I was checking out the new features of HeidiSQL in version 12.16 and saw the topic: Feature: Foreign Key Reversal in the "Foreign Keys" tab of the table editor (screenshot below). Honestly, I didn't quite understand the purpose of this functionality.

ansgar's profile image ansgar posted 2 weeks ago Permalink

Yea, the name is a bit counter intuitive. I was not really happy with that name, but had no better idea how to call it. "Reverse foreign keys" is what I called foreign keys on any other table which refer to the currently selected table. If that button is down/enabled, these "external" foreign keys are listed in the box you see on the right of the foreign keys listing. If you double-click any item on that box, it will bring you to the other table.

thiagorafaelcg's profile image thiagorafaelcg posted 2 weeks ago Permalink

Yea, the name is a bit counter intuitive. I was not really happy with that name, but had no better idea how to call it. "Reverse foreign keys" is what I called foreign keys on any other table which refer to the currently selected table. If that button is down/enabled, these "external" foreign keys are listed in the box you see on the right of the foreign keys listing. If you double-click any item on that box, it will bring you to the other table.

No problem, I deduced that was the functionality you were referring to; the name is a bit strange, but the functionality is what matters.

A suggested name would be: DISPLAY RELATED FKs TO TABLE or DISPLAY RELATED TABLES. I previously posted some suggestions for functionalities and bugs. I am immensely grateful for your hard and tireless work in always wanting to improve the tool.

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