3930 Commits

Author SHA1 Message Date
1fe201a172 Restore data grid's horizontal scroll offset after refresh, so the just clicked column header stays at the same position. Closes #451 2019-05-12 20:21:44 +02:00
4119d69fca When creating a query result tab, let the grid be visible until it's aligned correctly. Potentially fixes artefacts at the top left of the query memo. Closes #410. 2019-05-07 20:17:30 +02:00
8ac1c745b1 Issue #640: prevent crashes when future versions of the server return key clauses unsupported by HeidiSQL 2019-05-06 20:33:07 +02:00
3a4578e67b Issue #640: fix crash in table editor with DESC/ASC in a key 2019-05-06 20:24:00 +02:00
97043d368b Issue #74: remove no longer used hackish helper function GetColumnDefaultType() 2019-05-06 06:36:12 +02:00
2f77c9ea8c Issue #637: No need to upper-case when calling StartsWith() with ignore case flag. Also, prefer StartsWith() over various ugly calls to UpperCase(Copy()). 2019-05-06 06:32:09 +02:00
54c6d9123f Detect ON UPDATE clause's content with a two-step approach, so it does not eat a potentially existing COMMENT clause after it. Closes #637. Broken in 9fc7150a9fc15d400a836df8b20765a1864a9c80 for #74. 2019-05-05 20:01:46 +02:00
fb02867059 Search on server: Lower-case columns after casting to text, to prevent data type error: "function lower(integer) does not exist". Closes #235 2019-05-03 07:59:47 +02:00
32b0dfceb2 Fix emergency exception when trying to call DeleteCurrentKey without session path, which is reset by MessageDialog() in some cases. Closes #168. 2019-05-03 07:45:59 +02:00
0c35a27fec Issue #411: append search engine's hostname to "Find help" link in error dialogs, now that it's customizable 2019-04-30 12:32:35 +02:00
c3da5956e7 Ensure "Delete row" button state is valid while navigating in a grid by keyboard. Closes #624. 2019-04-30 08:18:35 +02:00
d039aad9be Issue #74: turn expression + on update edit boxes into drop down boxes, with known MySQL functions in them 2019-04-29 14:30:15 +02:00
155cedace9 Revert a part of 406ab56060f370c2414c5041d766203cd3b75c32: Prefer TEncoding.UTF8 again over the TUTF8NoBomEncoding with an overridden .GetPreamble(). The grid export crashed when used a second time, probably because the TStringStream overtakes ownership of the encoding. Also, I see no BOM in files encoded via TEncoding.UTF8, so this was probably a fix for nothing anyway. 2019-04-28 12:42:44 +02:00
591507cf15 Detect MS SQL data type DATETIMEOFFSET as such, not as UNKNOWN. Closes #496 and closes #98 2019-04-22 13:59:46 +02:00
5c2263b294 Fix crash while casting Sender to TAction for debugging purposes 2019-04-22 13:57:08 +02:00
fad93ace54 Issue #496: show UNKNOWN data type in table editor for MSSQL and MySQL, as already for PG. Avoids casting its values to int for the data grid, and at least does not show the data type from the prior column in the table editor. 2019-04-22 13:47:41 +02:00
8f94ece971 Find and replace dialogs in grid popup text editor:
* Cancel dialog when user presses Cancel, regardless of which dialog has focus.
* Show selection when dialog found some text, without having to focus the memo.
2019-04-22 10:03:03 +02:00
4fd77f4fad Issue #140: Flag query editor as modified after pasting text 2019-04-21 20:27:26 +02:00
9fc7150a9f Issue #74: attempt to support all kinds of expressions in column DEFAULT + ON UPDATE clauses 2019-04-21 15:40:18 +02:00
f23e8884a1 Fix TDBConnection.ParseViewStructure so it orders the result from IS.COLUMNS by their ordinal/natural position. Closes #617. 2019-04-19 12:08:23 +02:00
4608390b96 Add preference option for custom web search url, used in error dialogs. Closes #411 2019-04-17 21:29:34 +02:00
2a37a94358 Add new menu item "Duplicate row with keys" to grid context menu, and rename "Duplicate row" to "Duplicate row without keys". Closes #396 2019-04-17 08:24:22 +02:00
91c8ff13f0 Cheat when calculating percentage of done work, when exporting tables and data, so we never get more than 100%. Closes #180 2019-04-17 07:57:35 +02:00
b64b8bf3cf Exchange icon index of "Check all" button on CSV import dialog, to make it more intuitive (?). Closes #612 2019-04-16 19:50:53 +02:00
d735d0088c Don't prompt to save an empty query tab. Closes #614. 2019-04-16 19:36:56 +02:00
85a8355e1d Add new log category lcScript, for queries from large scripts and import operations. By default disabled, which should speed up importing large files. 2019-04-16 07:19:47 +02:00
975e1528e8 Issue #521: make debug output more readable 2019-04-16 06:38:06 +02:00
f870c81770 Issue #521: increase waiting time after PLink output, from 1s to 2s, for slow connections. 2019-04-16 06:32:27 +02:00
9ea65d4ef2 Issue #521: disable verbosity of plink again, due to weird extra dialogs appearing now 2019-04-15 20:15:48 +02:00
63212600ed Issue #515: Handle encoding errors in apphelpers.ReadTextfileChunk according to how Delphi 10.3 raises exceptions. And probably fix the issue by increasing the new chunk size by 1M instead of only 4B. 2019-04-14 19:44:59 +02:00
141c348a5d Issue #521: add -ssh and -v arguments again to plink.exe command, as proposed in https://github.com/HeidiSQL/HeidiSQL/issues/521#issuecomment-482897896 2019-04-14 14:05:21 +02:00
406ab56060 Attempt to fully support UTF8 encoding without BOM, as TEncoding.UTF8 has a non-empty preamble/bom. See https://forums.embarcadero.com/thread.jspa?threadID=112112 . Probably related to encoding issue #515 2019-04-13 10:52:41 +02:00
a2ef1aeccd Issue #140: Store application process id in each tabs.ini section, and don't restore tabs from other running processes. If the process no longer runs, restore such tab sections again, so nothing gets lost with multiple running application instances. 2019-04-13 10:43:52 +02:00
e9cc528632 Issue #140:
* store tab setup when application exits, as the TimerStoreTabs interval may not yet be reached
* remember startup value of asRestoreTabs option, which may change while the application runs, which in turn may cause problems when RestoreTabs wasn't called
2019-04-13 09:32:58 +02:00
f5734fece1 Issue #521: use -batch instead of -ssh parameter for plink, to prevent creating a shell and to reduce interactive prompts 2019-04-13 08:38:35 +02:00
e40210b1b5 Issue #140: Move code for all remaining common directory paths settings to TAppSettings (UserAppData, UserDocuments, Snippets) 2019-04-11 21:47:54 +02:00
32845094d9 Issue #140: Use local tabs.ini and Backups directory in portable mode 2019-04-11 21:21:47 +02:00
a6d372cd38 Issue #140: Avoid writing the tabs.ini file through WriteString if nothing was effectively changed 2019-04-10 16:51:45 +02:00
f4c1503051 Issue #140: remove a tab section from tabs.ini within RestoreTabs(), if its file does not exist 2019-04-10 12:41:16 +02:00
430ea3bde6 Issue #140: make auto-backup/restore feature stable against running multiple application instances:
* use unique date/time with milliseconds as ini sections
* open ini file for each read + write, separately, don't keep it open all the time
2019-04-10 12:19:40 +02:00
f43c37a65f Issue #140:
* fix: very last tab backup was not yet done
* tell user about activated auto-restore feature in very last question dialog for saving tab
* add missing translation strings
2019-04-08 20:51:27 +02:00
561a0edc7f Issue #140: Do not auto backup unsaved tab contents if it's larger than 10MB 2019-04-07 13:47:37 +02:00
30694567e5 Issue #140: Auto-backup unsaved query tab contents to C:\Users\<username>\AppData\Roaming\HeidiSQL\Backups\*.sql, and tab setup in C:\Users\<username>\AppData\Roaming\HeidiSQL\tabs.ini 2019-04-07 13:14:33 +02:00
e56371e9a8 Put a new filter box above query helpers tree, for quickly finding snippet or function 2019-04-07 11:13:47 +02:00
2db3fffa71 Support selecting wrong cased columns in MariaDB 10.4, so the user manager shows up. Closes #599. 2019-04-04 20:35:44 +02:00
07afefc726 Move tree background color setting from File menu to the Advanced tab of the session manager. Closes #360 2019-03-30 09:52:08 +01:00
1f30684745 Silence EAccessViolation in PQfinish() of 32bit libpq.dll . Closes #37 2019-03-30 09:26:28 +01:00
dacc1d7c99 Issue #577: skip informational error output from new plink version 2019-03-28 20:04:59 +01:00
aa649af23a Show full filter in data tab's recent filter drop down, make it higher to show more items, plus optimize incremental searching when it has focus. See https://stackoverflow.com/questions/37477244/tcombobox-autocloseup-property-what-does-it-do 2019-03-28 17:06:08 +01:00
5aafc46fca Sort encoding names in CSV import dialog alphabetically. Closes #579. 2019-03-18 20:22:52 +01:00