92 Commits

Author SHA1 Message Date
8579ca2841 Avoid "No database selected" error when fetching trigger details in SQL export. Fixes issue #1883. 2010-04-27 19:47:20 +00:00
b3b1710c35 Introduce EDatabaseError exception class, so we're able to handle only those and let others raise the exception up to MadExcept. Helps finding non-database related AVs as users are able to get the callstack now. Similar to r3292 but more consistent all over the code now. 2010-04-24 13:56:57 +00:00
6bb8bb6875 Keep SQL errors quite but raise unnormal access violations, so the exception handler can catch them. 2010-04-23 20:51:36 +00:00
764388b89c Export views not at the *very* end of an SQL export, but at the end of one selected database. Important when user selects items from more than one database. Fixes issue #1887. 2010-04-23 20:38:41 +00:00
65bf7f09a1 Fix duplicated header (in multi-db mode) and missing footer (in no-data-mode) in SQL export 2010-04-23 20:29:34 +00:00
9cb913c87d Target connection was removed + added from target pulldown, but not reselected afterwards. Fixes issue #1890. 2010-04-23 19:01:17 +00:00
97f01a175b Move database filter again from mainform to session manager, so people without privilege to run SHOW DATABASE are not stuck. Fixes issue #1485. Also, allow to see available databases when user does a dropdown. Also, simplify logic for refreshing database list in mainform. 2010-04-22 15:16:27 +00:00
809291cf45 Add line break between each VALUES line of data. Fixes issue #1877. 2010-04-18 21:33:45 +00:00
46fd8f5e99 Handle geo spatial values like we handle binary data. Use hex editor, and fetch contents using BinColAsHex(). Fixes issue #1855. 2010-04-14 21:35:04 +00:00
f7abafca8f Include events in SQL export 2010-04-11 23:22:50 +00:00
f451d061eb Introduce 2 new columns in Host > Databases: "Last modification" and "Events". Plus:
* enhance db object lists for storing additional details like last modification and data size
* remove home brown Min() and Max() functions and use those from Math unit which are not restricted to Integers.
2010-04-11 12:03:07 +00:00
ddf3b16fd9 Move code which lists session names in pulldown from FormCreate to FormShow, so the current session is excluded, not the previous one. Fixes issue #1841. 2010-04-08 23:48:01 +00:00
5f9129bef2 Implement event editor for MySQL 5.1+ servers. Also, simplify some code around database objects and their editors. Fixes issue #1527 2010-04-08 23:16:40 +00:00
0970f5c2bd Implement SSH tunnel with plink.exe on session manager. Fixes issue #401 Plus:
* Simplify code for getting connection parameters from registry by implementing helpers:LoadConnectionParams()
* Use combobox for network type instead of radio buttons, now that 3 options would need more horizontal space than we have
* Hide tabs on session manager which are irrelevant for the selected network type (e.g. no SSL options for named pipe)
* Some minor code simplifications
2010-03-30 23:22:08 +00:00
11523c3bc2 SQL exporter: Don't trust a cached TDBObject if a table says it has 0 rows. There may be rows inserted from outside since the database cache was filled. See http://www.heidisql.com/forum.php?t=5367 2010-03-26 20:15:10 +00:00
61ad785e6b Enable "Export" button after selecting "Clipboard" target. Fixes issue #1804. 2010-03-26 14:50:02 +00:00
e47a7c6158 Fix unsaved output setting when "Database" was selected. Also, fix disabled pulldown holding databases in such cases. 2010-03-25 06:48:03 +00:00
61e4ff0603 Add option to export SQL to clipboard. Fixes issue #1798 and issue #506. 2010-03-24 22:22:21 +00:00
ed5ec1e122 Rethink portable releases:
* Remove complicated and unreadable NSIS stuff. No need to have a installer for a developer application. ZIP file is fine.
* On startup, if a portable_settings.txt exists in the application folder, heidisql.exe will read its contents into a unique registry key.
* In MainForm.OnDestroy, settings are written to that file again, and the reg key gets deleted.
* Avoid using Microsoft's .reg file syntax, as you need admin privileges to store and restore such files, even when using the appropriate Windows API functions.
2010-03-22 21:10:38 +00:00
2159472f93 Avoid AV when registry value for connection port is fucked up. Fixes issue #1700. 2010-02-17 18:25:31 +00:00
b8477602fd Seems ForceDirectories does not create all subdirectories if we have two slashes between dirnames. Happens when the user appends a slash to the end of the output directory. 2010-02-13 07:23:30 +00:00
b642194ada Create subdirectories for each involved database in SQL export. Fixes issue #1690. 2010-02-13 07:09:47 +00:00
0e77bba9e4 Decrease pre calculated number of rows per INSERT, to make that safer against exceeding the popular 1MB max_allowed_packet default setting. Fixes issue #1682. 2010-02-12 00:25:01 +00:00
f22fa996ba Bulk table editor: No comma between charset + collation clause. Fixes issue #1685 2010-02-11 23:26:37 +00:00
e045cb3d76 Delphi 2010 has PNG + alpha channel support in TImageList, so we don't need PNGcomponents any longer. 2010-02-08 00:36:17 +00:00
3c34bc5e29 Surround TRIGGER creation export with custom DELIMITER, so readers (including HeidiSQL itself) are able to detect query end positions. Fixes issue #1672. 2010-02-07 16:59:03 +00:00
7629b132cf Do not reset remove AUTO_INCREMENT clause from CREATE TABLE when no data gets exported. Fixes issue #1110. 2010-02-04 18:56:30 +00:00
ea7b9f0132 Cosmetic: Avoid jumping column headers when many notices go into the result log. 2010-02-02 19:23:51 +00:00
478b6fdc4f Fix broken r3034: "100%" was displayed in between on large tables, after each loop of 100MB loading. Fixes issue #1628. 2010-02-02 19:13:55 +00:00
3088490954 After selecting a valid export filename, the export button should be active. Fixes issue #1641. 2010-02-02 00:18:36 +00:00
ec6f467a18 Don't use the calculated percentage of processed row count after exporting each table. Just display a hard coded "100%" so InnoDB tables display the right percentage (at least when table data is at eof). Fixes issue #1628. 2010-01-30 18:00:01 +00:00
fda4aa631f If the specified filename in SQL export dialog is empty, disable the execute button. If the file cannot be created for some reason, do not pop up a message dialog. Instead, log the error message into the result list. Fixes issue #1627. 2010-01-30 17:50:26 +00:00
49b9d9014b Minor code simplification, old TNT StringList workaround. 2010-01-27 23:45:55 +00:00
9f139029b7 Enhance command line processing:
* Rewrite parameter parser
* Remove support for "-C" option (compressed). Anyway switched on by default.
* Add support for loading multiple SQL files at once instead of only one: "fileA.sql fileB.sql ..."
* Also process connection parameters when "Allow multiple application instances" is disabled
* If a session name is specified with -dXYZ, load params from registry, but allow the user to override these by passing e.g. a different user name "-uOtherUser"
Fixes issue #1332.
2010-01-27 23:39:34 +00:00
9f3ad6640c Wording: Users know the differences between INSERT/REPLACE/DELETE+INSERT . Say it more clearly in the selection box what gets generated. 2010-01-19 00:58:07 +00:00
4b91154d6e Do not generate "_binary 0x" for empty blobs. Fixes issue #1610. 2010-01-19 00:55:04 +00:00
9080ad7607 No need to use the Wide* version of string functions any longer. 2010-01-15 20:28:48 +00:00
492f7d04eb Fix injection of database name for direct SQL export to database. Also, do not surround procedure+function creation with DELIMITERs when exporting to database or server. See http://www.heidisql.com/forum.php?t=4803 2010-01-15 19:44:44 +00:00
52ea8f410a Use Unicode enabled TStringList instead of TWideStringList in all places. Should have no visible effect, apart from a very minor performance optimization, as String reference pointers are handled by Delphi, WideString by Windows. 2010-01-14 19:41:58 +00:00
7aaa5af2c2 Avoid accessing non existent dropdown item. Fixes issue #1597. 2010-01-12 18:36:29 +00:00
aad22b923c Fix incorrect base SQL for large SQL dumps which need more than 100MB loop. Reported via forum: http://www.heidisql.com/forum.php?t=4769 2010-01-12 06:33:02 +00:00
4d47af1e9e Code cosmetic:
* Sanitize main unit from unused variables
* Move global variables to public scope
* Bring public vars into some reasonable order
* Move constants to const.inc, unless dependent from some used VCL unit
2010-01-10 17:11:42 +00:00
43b010d227 Inject SVN revision into executable's version infos last segment (4.0.0.[r]). Don't modify main.pas any longer, just version.rc by a new console app. 2010-01-10 13:53:52 +00:00
f65e5bbc68 Don't double check if a column is binary, just trust in the caller doing the right thing. Fixes cut binary values in data grid. Additionally, return hex code right away, so we don't convert the hex value to UnicodeString and back to AnsiString. Consistently rename ColAsAnsi() to BinColAsHex(). 2010-01-07 21:52:35 +00:00
a4652d39a4 * Fix compiler warnings due to implicit AnsiString to (Unicode)String or vice versa
* Remove workaround for Unicode text to and from clipboard
* Fix writing/reading wrong encoded text into/from registry - no need to use Utf8Encode() any longer
* Implement TMySQLQuery.ColAsAnsi() for cases in which we read binary data.
2010-01-07 00:00:56 +00:00
7d401ffde8 Upgrade to Delphi 2010:
* Removes TNT Unicode controls, which are no longer required. All VCL controls now have native Unicode support.
* Remove Delphi 11 packages, otherwise we would either need to keep TNT or break Unicode
* PngComponents update from Uwe Raabe on http://cc.embarcadero.com/Item/26127
* Adjust auto build process
* Since Delphi 2009, Strings are now UnicodeStrings, not AnsiStrings any longer. Fix a bunch of compiler errors which came along with this change.
TODO: Project should compile but give tons of compiler warnings.
2010-01-05 23:14:33 +00:00
98e75ceaea ParentFont=False is not needed when changing Font.Style (only for Font.Name + .Size I think) 2010-01-02 17:09:34 +00:00
811f3df7c6 Emphasize label of checked "Drop" checkboxes, so the user is warned. Fixes issue #1493. 2010-01-02 13:32:10 +00:00
d9254728a8 Ignore triggers and routines in "Find text" and "Maintenance" operations. TODO: Bulk moving routines and triggers should be possible. 2009-12-27 15:08:42 +00:00
12f984b4c4 Add columns to result grid also if AddNotes() is the first or only one to fill it. Fixes issue #1562. 2009-12-27 15:01:58 +00:00