99 Commits

Author SHA1 Message Date
b97c41bc6c Triggers need to be exported after tables, just like views. Fixes issue #2077. 2010-07-14 10:58:53 +00:00
d7784a3a25 Don't know what I meant to fix by this split-and-combine-again code, as it only has the effect that lines get trimmed. Remove that code. Fixes issue #2002. 2010-06-09 22:42:54 +00:00
2e301d1095 Code cosmetic: Do not pass default parameter in one zillion callers of ShowStatusMsg() 2010-05-28 23:09:38 +00:00
5351f8df23 New feature: When mouse hovers over status bar panel holding the server version, display various connection related details in a hint. 2010-05-28 19:41:17 +00:00
698f078773 When exporting tables with various ENUM columns, these can distort the max-rows-calculation, based on the table's avg_row_len. Instead, examine the current stream's size at the end of each exported data row. Fixes issue #1682 - this time more effectively. 2010-05-20 19:55:29 +00:00
ec16b98755 Cosmetic: Add "approximately" notice behind InnoDB row count, so noone takes the value for real. Fixes issue #1945. 2010-05-18 18:40:15 +00:00
4e49324d03 Exports to database + server were missing SET FOREIGN_KEY_CHECKS header + footer. Moving critical Output() procedure from local to private scope, so we can call it in Execute(). Fixes issue #1915. 2010-05-12 19:14:45 +00:00
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