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