Commit Graph

6139 Commits

Author SHA1 Message Date
Ansgar Becker
0580ad8836 Catch a variety of potential SQL errors when refreshing one of the Host sub tabs. A SHOW FULL PROCESSLIST just ended up with a privilege error in a crash report. 2020-12-13 22:35:09 +01:00
Ansgar Becker
67e3dc0a51 Attempt to fix crash in TMainForm.DBtreePaintText => VirtualTree.GetNodeParent, by preferring a simpler call to Node.Parent . 2020-12-13 17:32:03 +01:00
Ansgar Becker
c09d93e642 Prevent "Variable 'sql_notes' can't be set to the value of 'NULL'", via IFNULL() wrap. Saw that in the crash reports with the latest release. Related to issue #756. 2020-12-13 14:18:12 +01:00
Ansgar Becker
37cd83410b Prefer hardcoded width of button toolbar on CSV import dialog. Closes #1258 2020-12-13 13:35:59 +01:00
Ansgar Becker
29dfc68859 Update VirtualTreeView component code to latest 2020-12-13 13:16:58 +01:00
Ansgar Becker
1b3a0d8d85 Try to fix crash happening while refreshing tree, found in crash reports (Cannot assign a nil to a TDBObject) 2020-12-13 09:40:51 +01:00
Ansgar Becker
6563274006 Found in crash reports, and related to issue #615: ensure DataGridTable object is compared correctly 2020-12-13 09:24:21 +01:00
Ansgar Becker
04a32cb035 Issue #1243: fix crash in reconnect, due to free'd list of IS objects 2020-12-13 08:17:49 +01:00
Ansgar Becker
cb77a602b5 Code cleanup in TConnectionParameters.NetTypeName and introduce StrictDetect param in TConnectionParameters.IsMySQL, to have a clear distinction for TDBConnection.IsTextDefault, where I was on the way to re-break issue #1099. 2020-12-11 14:17:17 +01:00
Ansgar Becker
bd0dca7f1d Rename network type "MySQL ..." again to "MariaDB or MySQL ...", and name it "MySQL" only if we're sure it's not anything else. This is a bit hacky, as I have to leave IsMySQL a bit inexact, so it still matches servers with version_comment="Source distribution" (see issue #1099) 2020-12-11 11:13:59 +01:00
Ansgar Becker
2eef57ae1c Retrieve column details through IS.columns even if IS schema is hidden by session setting. Closes #1243 . Preferring a hardcoded over dynamic list of existing tables in IS schema. 2020-12-11 10:19:59 +01:00
Ansgar Becker
baaeb6bf07 Fix empty library drop-down after changing network type for the first selected session. Closes #1252 2020-12-10 09:54:12 +01:00
Ansgar Becker
172ed7b725 Enhance tab restore feature:
* restore scroll position (EditorTopLine)
* restore active query tab (TabFocused)
* code cleanup: move identifier literals for tabs.ini to class constants
2020-12-08 20:36:57 +01:00
Ansgar Becker
ad91f12e62 Issue #1250: prevent clearing highlighter's TableNames list in irrelevant events. 2020-12-08 19:26:47 +01:00
Ansgar Becker
2dc7f934f0 Issue #477: support DATE and DATETIME column types in CSV layout detection 2020-12-08 08:06:30 +01:00
Ansgar Becker
a0f45439ef Issue #477: Attempt to fix crash in main form due to refreshed database objects after creating a table via CSV detector:
* TDBConnection.GetDbObjects now leaves old object references intact if a table still exists after a refresh
* Restructure caching of columns, keys and foreign keys in generic TDictionary typed lists. This should make GetTableColumns and friends safe against endless recursion.
* Probably fixes issue #319
2020-12-05 17:08:49 +01:00
Ansgar Becker
8201ac6169 Leave Datatype.MaxSize for CSV layout detection, and introduce Datatype.DefaultSize for deciding whether a column gets a length definition. Closes #1245 2020-12-03 08:00:59 +01:00
Ansgar Becker
3c18c08fb7 Show reasonable error dialog when current query is empty and user tries to run "Explain current query" or "Explain analyzer for current query". Closes #1240 2020-12-02 17:32:06 +01:00
Ansgar Becker
2bc5926db5 Re-add CURRENT_TIMESTAMP function, removed accidentally in last update. See https://www.heidisql.com/forum.php?t=37278 2020-12-01 19:05:19 +01:00
Ansgar Becker
5edcb39453 Fix invalid enabled state of "Explain current query" action. Closes #1239 2020-12-01 16:41:43 +01:00
Ansgar Becker
5df6149db4 Issue #477: Implement CSV layout detection, in a new dialog, callable through a "<New table>" item. Detection yet limited to integers, floats and text column types. 2020-11-29 14:25:29 +01:00
Ansgar Becker
2012896714 Support shortcut Ctrl+F for focus on filter edit. Closes #1027 2020-11-27 20:14:16 +01:00
Ansgar Becker
bb8b11fc55 Issue #1232: fix wrong tab caption used when rename-tab action triggered through its shortcut 2020-11-24 18:28:19 +01:00
Ansgar Becker
dcd43bc843 Enable MYSQL_OPT_LOCAL_INFILE, seems still required on some systems for importing local CSV files 2020-11-23 17:53:09 +01:00
Ansgar Becker
42dc993743 Losen sql_mode during CSV import via client parser, to prevent integer columns from errors due to empty strings (see pm from Holger) 2020-11-23 17:44:24 +01:00
Ansgar Becker
bcd2f4d8c8 Issue #1232: suggest query tab caption as default filename in save-dialog 2020-11-21 19:15:21 +01:00
Ansgar Becker
c878311b8b Fix grid search/replace with scope=selection. Closes #1233 2020-11-21 14:16:47 +01:00
Ansgar Becker
2f9dc90b0e Add context menu item for renaming query tabs. Closes #1232 2020-11-21 13:08:46 +01:00
Ansgar Becker
b9b5976413 Fix slow data exports of large MS SQL tables, by introducing ORDER BY .. OFFSET .. FETCH clauses in SELECT's. Reduces the chunks to ~10000 rows. Larger results seem to take more time for iterating through rows. Closes #343 2020-11-20 14:51:25 +01:00
Ansgar Becker
8051d692cb Issue #1219: accept any whitespace after double-minus comment in MySQL/MariaDB mode 2020-11-17 20:13:27 +01:00
Ansgar Becker
fc9320b8cd Remove old workaround for exporting between MySQL 4 and 5, where the TYPE/ENGINE clause is incompatible between source and target server. This breaks exporting identifiers with these keywords in them. Closes #1222 2020-11-17 17:51:54 +01:00
Ansgar Becker
033041c2c5 Issue #1077: add UTF-8 BOM in Excel output only in file-mode, not in copy-mode. See https://www.heidisql.com/forum.php?t=37190 2020-11-15 12:16:52 +01:00
Ansgar Becker
c61b8968c9 Issue #1191: fix dynamically created export actions not visible in shortcut assigner 2020-11-14 17:54:35 +01:00
Ansgar Becker
ed7a8cd2c8 Restore main window if minimized to taskbar. IsWindowVisible is also true when window is minimized. Closes #1207 2020-11-14 17:36:43 +01:00
Ansgar Becker
95713939ca Set reasonable initial directory in session manager's file selectors 2020-11-14 17:19:24 +01:00
Ansgar Becker
57c12c2c6b Fix crash in file import, when file was deleted after adding it to the list 2020-11-14 16:10:34 +01:00
Ansgar Becker
8b58766831 Updated vcl style from Delphi 10.4.1 2020-11-14 16:04:42 +01:00
Ansgar Becker
787f33014a Issue #1191: convert "Copy rows" context menu item to a submenu, and provide all export formats, with icons 2020-11-14 13:54:58 +01:00
Ansgar Becker
e04d0ee783 Issue #1215: modify original url variable so error messages show the right one 2020-11-13 17:19:17 +01:00
Ansgar Becker
7fe1a58a8e Fix integer instead of string message part. Closes #1215 2020-11-11 22:28:45 +01:00
Ansgar Becker
bae514d147 Issue #1209: move https=>http fallback to THttpDownload.SendRequest(), so the update check benefits from that 2020-11-11 20:05:41 +01:00
Ansgar Becker
1f5f36f4e9 Tab restoring: simplify check for keyword in ProcessExists(), don't throw a regular expression at it 2020-11-10 07:19:53 +01:00
Ansgar Becker
66c50ce792 Tab restoring: avoid restoring tab file only if the owner is a *HeidiSQL* process. Fixes non-restored tabs when an old Heidi process id is re-assigned to another application. Happened here at least one time. 2020-11-09 18:08:06 +01:00
Ansgar Becker
13610e70f6 Bump version for v11.1 release 11.1 2020-11-02 18:28:35 +01:00
Ansgar Becker
5e30ed14af In the data sorting dialog, make sure we work on a copy of the currently used list with sorted columns, not on the original. Closes #849 2020-11-01 17:07:15 +01:00
Ansgar Becker
3e7ed86f9b Remove default text from column when changing data type to one that does not support a default text. See https://www.heidisql.com/forum.php?t=37142 2020-11-01 11:40:41 +01:00
Ansgar Becker
1585e0dfa3 Allow free typing in collation drop-down for collations in a column. Set to empty string if user typed a non existent item. See https://www.heidisql.com/forum.php?t=37117 2020-10-29 21:12:25 +01:00
Ansgar Becker
0b9facd7ec Make connection properties dialog available through a new context menu item in the database tree. The click event on the status bar panel can likely not be found by many users. 2020-10-28 17:46:03 +01:00
Ansgar Becker
d8cf039d98 Emergency fix: Turn asLibrary again into a session based setting. Broken in commit b22c3fd815. Closes #1199 2020-10-27 08:39:04 +01:00
Ansgar Becker
b22c3fd815 Dynamic default value for library session setting, depending on its network type. Closes #1010 2020-10-26 20:02:12 +01:00