Commit Graph

6139 Commits

Author SHA1 Message Date
Ansgar Becker
facfcc88eb Code cosmetic: Move public AppVer* variables to private scope and introduce public properties for the both which are read publicly. 2013-09-05 08:29:15 +00:00
Ansgar Becker
9fd63ce0c1 Edit raw numbers, not their formatted version which is used for displaying. See issue #653. 2013-09-04 15:38:38 +00:00
Ansgar Becker
a38c70b99e * Try a new approach in helpers.OpenTextFile(), helpers.ReadTextfile() and helpers.ReadTextfileChunk(): Based on TStreamReader instead of TFileStream now, so we can finally rely on Delphi internals for detecting a file's encoding. Also, this should fix read errors in some UTF-8 files, e.g. mentioned on http://www.heidisql.com/forum.php?t=13044
* Remove helpers.DetectEncoding(). Use a separate TStreamReader in the only caller to detect the encoding of a selected file
* Remove helpers.ScanNulChar()
* Remove helpers.RemoveNulChars()
2013-09-04 07:53:44 +00:00
Ansgar Becker
ca8a8f87cc Add missing translation strings for preferences dialog 2013-09-03 18:01:40 +00:00
Ansgar Becker
22cd9dd920 Issue #3324:
* Merge "Highlighter" tab into "SQL" tab again, to keep a low number of tabs
* Divide "Data" options tab into "Data appearance" and "Data editing" tabs, to make room for the new checkbox option "Local number format"
* Introduce the new data option "Local number format"
2013-09-03 17:54:03 +00:00
Ansgar Becker
ad93dcebb2 Issue #3324: When copying from a numeric grid cell, use raw numbers, not the formatted version. 2013-09-02 18:20:19 +00:00
Ansgar Becker
38216627fd Use internal flag to remember whether new grid text was pasted from clipboard. This way we can again use "Grid.Text[] := xyz", which triggers AnyGridNewText(), which again is able to pass the right "Null" parameter to TDBQuery.SetCol(). This fixes issue #3325 (invalidated controls, especially "cancel changes" action after pasting). Also, this fixes pasted formatted numbers not being unformatted internally. Finally, we have 5 lines of code less than before :) 2013-08-31 05:47:03 +00:00
Ansgar Becker
92a460030d Show thousand separator in data grids. Fixes issue #3324. 2013-08-31 05:07:20 +00:00
Ansgar Becker
25c71448b2 Introduce TMainForm.FGridCopying flag, and use that to temporarily disable integer to datetime conversion in AnyGridGetText(). Fixes issue #3322. 2013-08-29 04:54:47 +00:00
Ansgar Becker
0759ea2f8c Code cosmetic for getting server version:
* Remove properties ServerVersionInt and ServerVersionStr from TDBConnection
* Instead, move private GetServerVersionInt() and GetServerVersionStr() to public scope, named like the previously used properties now
* Remove overridden methods in descendants of TDBConnection, do it with a version conditional in the upper class
* Finally, remove ConvertServerVersion() and merge code into ServerVersionStr()
* We have 7 declarations and 3 implementations less than before
2013-08-28 04:41:58 +00:00
Ansgar Becker
fddad4669f TOP(x) clause for UPDATES + DELETES introduced in MSSQL 2005. Do not use that on older servers. See http://www.heidisql.com/forum.php?t=13289 2013-08-28 03:52:34 +00:00
Ansgar Becker
110d9c585c Fix reading chunks from SQL file with a multiplier of the encoding's maximum character length. Broken in r4470. 2013-08-27 05:10:34 +00:00
Ansgar Becker
1347a3a368 Fix usage of wrong TDBObject caused by using wrong offset from TDBObjectList. 2013-08-24 18:11:43 +00:00
Ansgar Becker
5e83eaab1b * Move code from FillPopupQueryLoad into automatically triggered FillPopupQuery.OnPopup event.
* Make getting system imagelist and imageindex shared code in Helpers.GetSystemImageList and Helpers.GetSystemImageIndex
* Remove call to TranslateComponent, accidentally committed in r4490
* Draw system icons with transparency
2013-08-24 05:28:39 +00:00
Ansgar Becker
90c708fc74 Fix crash caused by freeing main image list, see previous commit. Fixes issue #3316. 2013-08-22 15:55:53 +00:00
Ansgar Becker
b7a1daa88a Display system known icons in recent SQL files list. 2013-08-22 05:17:30 +00:00
Ansgar Becker
c7373e92db Don't know when exactly but in some cases VirtualTree.FocusedColumn seems to have the InvalidColumn (-2) index. Do not pass such negative indexes to a TStringList in TDBQuery.ColAttributes. See http://www.heidisql.com/forum.php?t=13245 2013-08-22 04:34:30 +00:00
Ansgar Becker
8274df6eb8 Add caption of column selector, forgotten in previous commit. 2013-08-21 05:05:54 +00:00
Ansgar Becker
e8adf2095f Turn column selection form into a tool window, so I can apply a size-grip at the lower right edge of the form. Remember form dimensions. Fixes issue #3299. 2013-08-21 05:01:28 +00:00
Ansgar Becker
3d2f56fe1a Add CHECK option "FOR UPGRADE" to maintenance dialog. Fixes issue #3279. 2013-08-21 04:22:20 +00:00
Ansgar Becker
44cf6618aa * Remove "Run file" dialog, and use a standard Windows IProgressDialog instead when executing a SQL file. Learned from http://users.skynet.be/oleole/ProgressDialog.htm
* Enhance error handling when "Stop on errors" is activated, by showing an error summary at the end of script execution.
2013-08-21 04:14:37 +00:00
Ansgar Becker
a4b6855420 Fix regex in TDBConnection.ParseViewStructure which matches on IS.COLUMNS.COLUMN_TYPE but just finds empty matches, because all expression groups are optionally. Also, ZEROFILL attribute for numeric columns never gets detected. Fixes issue #3311. 2013-08-17 05:25:51 +00:00
Ansgar Becker
721df2da37 Make regex in ParseViewStructure even more loose, this time due to dots in the view's name. See http://www.heidisql.com/forum.php?t=13191 2013-08-16 04:37:00 +00:00
Ansgar Becker
5520e84fc2 Issue #3304: Escape column names for PHP 2013-08-07 04:39:42 +00:00
Ansgar Becker
4628fac73d Fetch column names from IS.COLUMNS only, without joining IS.VIEWS from which we anyway don't read something. Fixes issue #3305. 2013-08-06 18:15:58 +00:00
Ansgar Becker
34fa56ab51 Escape exported PHP strings using some extra logic, instead of using incompatible TDBConnection.EscapeString. Fixes issue #3304. 2013-08-06 03:58:56 +00:00
Ansgar Becker
58b2a66800 Get column names from VIEW per IS.COLUMNS, not per SHOW COLUMNS, to support MSSQL here. Fixes empty grid results for MSSQL VIEWs. See comment #46 of issue #3212. 2013-08-05 04:15:01 +00:00
Ansgar Becker
572d336d8b Translate new menu item "Generate SELECT", missing in r4477. 2013-08-03 05:25:09 +00:00
Ansgar Becker
d00adaf484 Add "Generate SELECT..." menu item to query helpers context menu. See http://www.heidisql.com/forum.php?t=13108 2013-08-01 13:04:06 +00:00
Ansgar Becker
d0afa94cfb Move file related actions to "File" menu, as suggested here: http://www.heidisql.com/forum.php?t=13097 2013-08-01 04:20:56 +00:00
Ansgar Becker
7b50c2b68b Handle ERegistryException's in TMainForm.FinishedQueryExecution by writing them to the SQL log. These seem to happen sporadically in a broken registry, or due to going from a query thread to the main thread again. Guess there is no real fix to that issue. See http://www.heidisql.com/forum.php?t=13088 2013-07-30 16:23:59 +00:00
Ansgar Becker
7de712b741 Fix unused FCSVNull value in efExcel grid export. 2013-07-30 05:30:23 +00:00
Ansgar Becker
8d191ef773 Provide edit box for custom NULL value, in grid export dialog. See http://www.heidisql.com/forum.php?t=13075 2013-07-30 05:21:36 +00:00
Ansgar Becker
de2cb3bcea Increase size of chunk to read from SQL dump from 5M to 20M, so we catch at least the file problems mentioned on http://www.heidisql.com/forum.php?t=13044 . 2013-07-28 05:45:02 +00:00
Ansgar Becker
c47796e4e1 Process messages in loop of query batch on run sql file dialog. Helps making this dialog responsive. 2013-07-28 05:15:08 +00:00
Ansgar Becker
70e79f51dc * Ensure ReadTextfileChunk reads a multiplier of the encoding's maximum byte count per char. See http://www.heidisql.com/forum.php?t=13044
* Log error message when TEncoding.Convert returns an empty TByte array.
* Documentation
2013-07-27 08:06:40 +00:00
Ansgar Becker
62927723d5 Turn unhandled exception in case of SQL errors into a popup dialog when running SQL files. See http://www.heidisql.com/forum.php?t=13044 2013-07-27 05:30:58 +00:00
Ansgar Becker
e81ded8238 editDatabaseTableFilter.OnChange is triggered in DBtree.AfterPaint, which is implicitly called a million times, when mouse hovers over the tree.
* Move that call from DBtree.AfterPaint to RefreshTree, and call it only when it required. Removes a big bunch of useless magic code execution.
* This way, I can wrap the code in editDatabaseTableFilter.OnChange in a BeginUpdate/EndUpdate block to postpone painting while looping over the nodes.
* Set focus to dbtree in FormShow, to prevent editDatabaseFilter from catching it
* Fixes issue #3293
2013-07-25 04:45:07 +00:00
Ansgar Becker
e509ea5437 Include application name in login prompt. Fixes issue #3180. 2013-07-25 03:59:42 +00:00
Ansgar Becker
5b3c8b92c7 Include schema name in ALTER TABLE query on table editor. 2013-07-24 04:18:49 +00:00
Ansgar Becker
ccc6e0b26a Use table name from helper TDBObject in TDBQuery.PrepareEditing, as TMySQLQuery.TableName does not return the VIEW's name when the VIEW contains aggregated columns. Fixes issue #3284. 2013-07-22 04:36:17 +00:00
Ansgar Becker
36e5018587 Try to disable platform warnings on command line also 2013-07-16 04:58:26 +00:00
Ansgar Becker
51c27f7a27 * Silence various compiler warnings about non initialized variables.
* Globally turn off platform warnings
2013-07-16 04:45:28 +00:00
Ansgar Becker
77df51ae5f Avoid using Format() on event body, as this causes AVs when it contains some % sign. See http://www.heidisql.com/forum.php?t=13010 2013-07-16 04:16:29 +00:00
Ansgar Becker
3007a5e860 Send column default value through UnescapeString and then to EscapeString, and let UnescapeString remove double backslashes. Fixes issue #3283. 2013-07-15 05:00:07 +00:00
Ansgar Becker
595bebb0e1 Use the right binary instead of decimal prefixes for bytes: KiB, MiB etc. And introduce unit for 2^60 bytes: Exbibyte. See http://de.wikipedia.org/wiki/Byte . 2013-07-15 03:49:49 +00:00
Ansgar Becker
344acd8d20 Limit test query to return one single row, not all rows. Fixes issue #3271. 2013-07-08 16:24:40 +00:00
Ansgar Becker
199228f5eb Issue #3240: Set focus on first "Options" tab by default. 2013-07-07 13:09:36 +00:00
Ansgar Becker
9a7a66d13c Add page control to trigger editor, and show CREATE code of triggers in separate tab. Fixes issue #3240. 2013-07-07 06:35:30 +00:00
Ansgar Becker
2d27ac46f7 Make charset query compatible to MSSQL 2000. Fixes issue #3269. 2013-07-07 05:51:49 +00:00