4494 Commits

Author SHA1 Message Date
e180f6ce6f Issue #744: Suspend action list on mainform while preferences dialog is open, so changes on the Shortcuts tab do not trigger some action, probably even with a crash 2020-12-22 08:46:18 +01:00
172c9aeec8 Issue #744: Shortcut settings: Let user know whether a wanted shortcut is assigned to another action, and prompt for confirmation in such cases. 2020-12-21 21:12:04 +01:00
12d8418856 Move upper controls on view editor into a first tab of a new page control, and show CREATE code on a second tab. Closes #1135 2020-12-19 10:26:04 +01:00
0c6b609cf2 Add support for JSONB column types in PostgreSQL. Closes #606 2020-12-19 08:59:27 +01:00
8ab0fa1fa0 Auto-create directory path specified in SQL export target filename. Closes #1086 2020-12-19 08:48:33 +01:00
8e9d4dd4a1 Catch file creation errors in TQueryTab.SaveContents, when an opened file was removed with its directory, from outside. And auto-create missing folder when user presses Ctrl+S then. Also, if tabs.ini has a tab entry with a no longer existing file, don't watch that non-existent file for changes, which fixes RestoreTabs showing an error on startup. 2020-12-18 08:28:40 +01:00
148b04e2d4 Try to prevent inner exception at the end of TMySQLQuery.Col. Hopefully reveals a more meaningful error message for issue #904 2020-12-17 12:46:26 +01:00
ca2433b0cd Enable cancel button after setting grid cell to NULL. Closes #1146 2020-12-17 12:20:04 +01:00
281a53b88a Limit rows per exported INSERT to 1000 for MSSQL. Introduced MaxRowsPerInsert property per connection type. 10000 for all other types. Closes #1189 2020-12-17 11:43:29 +01:00
5e675a51d8 Code cleanup: move some node index constants to TQueryTab, and probably prevent AV in treeQueryHelpersInitChildren 2020-12-16 18:15:52 +01:00
57cc332b1e Support binary values in "More values" quick filter menu 2020-12-16 17:24:30 +01:00
1aa8605d21 Support regproc and regprocedure types on PostgreSQL, so these don't use SUBSTR() in data grid 2020-12-15 17:57:50 +01:00
1da0ad2092 Prefer SUBSTR() over LEFT() function in PostgreSQL data grid. Closes #1259 2020-12-15 17:56:41 +01:00
990c630341 Get rid of hardcoded string default date 2000-01-01 in various places. Introduce apphelpers.DateTimeNever field instead. 2020-12-15 07:36:16 +01:00
1f82efa02c Fix sporadic crash in Tconnform.TimerStatisticsTimer due to empty session path 2020-12-15 07:21:15 +01:00
1733156502 Fix sporadic EInvalidOp crash when displaying invalid uptime from server's ConnectionInfo 2020-12-14 22:26:56 +01:00
a9039e08f1 Fix crash when table has an invalid/negative create or update date/time 2020-12-14 22:16:49 +01:00
cb85ad596d Silence crash in TMainForm.AnyGridGetText, when trying to calculate Unix timestamp from an too large or too low number 2020-12-14 19:56:55 +01:00
85dcfc7108 Fix crash in TMainForm.treeQueryHelpersGetText 2020-12-14 19:39:27 +01:00
f95fa2759a Attempt to fix out-of-range error in TMainForm.tabsetQueryMouseMove 2020-12-14 18:24:30 +01:00
8f826e814d Attempt to fix a crash in TMainForm.DBtreeInitNode, probably accessing ParentNode when it's nil 2020-12-14 17:28:13 +01:00
6475b1e098 Update VCL Styles Utils code, and dependent Delphi Detours Library 2020-12-14 17:26:44 +01:00
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
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
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
37cd83410b Prefer hardcoded width of button toolbar on CSV import dialog. Closes #1258 2020-12-13 13:35:59 +01:00
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
6563274006 Found in crash reports, and related to issue #615: ensure DataGridTable object is compared correctly 2020-12-13 09:24:21 +01:00
04a32cb035 Issue #1243: fix crash in reconnect, due to free'd list of IS objects 2020-12-13 08:17:49 +01:00
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
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
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
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
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
ad91f12e62 Issue #1250: prevent clearing highlighter's TableNames list in irrelevant events. 2020-12-08 19:26:47 +01:00
2dc7f934f0 Issue #477: support DATE and DATETIME column types in CSV layout detection 2020-12-08 08:06:30 +01:00
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
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
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
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
5edcb39453 Fix invalid enabled state of "Explain current query" action. Closes #1239 2020-12-01 16:41:43 +01:00
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
2012896714 Support shortcut Ctrl+F for focus on filter edit. Closes #1027 2020-11-27 20:14:16 +01:00
bb8b11fc55 Issue #1232: fix wrong tab caption used when rename-tab action triggered through its shortcut 2020-11-24 18:28:19 +01:00
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
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
bcd2f4d8c8 Issue #1232: suggest query tab caption as default filename in save-dialog 2020-11-21 19:15:21 +01:00
c878311b8b Fix grid search/replace with scope=selection. Closes #1233 2020-11-21 14:16:47 +01:00
2f9dc90b0e Add context menu item for renaming query tabs. Closes #1232 2020-11-21 13:08:46 +01:00
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