2745 Commits

Author SHA1 Message Date
458b10dbc6 Move some code to TDBConnection.ExplainAnalyzer(), and introduce new query context menu items "Explain current query" and "Explain analyzer for current query". See http://www.heidisql.com/forum.php?t=11036 2012-09-07 15:39:23 +00:00
2963bff020 Turn asRecentFilter into a session setting and define its value so it can handle the FormatName parameter. See http://www.heidisql.com/forum.php?t=11096 2012-09-02 08:46:30 +00:00
39d16d283c Focus new node in parameters list after clicking "Add". Also, add new parameters at the focused tree position. See http://www.heidisql.com/forum.php?t=11132. 2012-09-02 08:23:36 +00:00
4eb450ce69 Fix confusion in save-as-dialog. Fixes issue #2921. 2012-08-31 13:51:13 +00:00
694a99f13a Tweak grid export dialog with some minor enhancements:
- Auto select ANSI encoding for Excel output, see http://en.wikipedia.org/wiki/Comma-separated_values#Application_support
- Auto modify file extension when selecting format
- Support "Include query" checkbox in XML format, see http://www.heidisql.com/forum.php?t=10853#p11082
- Imitate mysqldump's XML style, see http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html#option_mysqldump_xml
2012-08-31 09:54:01 +00:00
17600be9c1 FHostListResults needs its own copy of a SHOW VARIABLES result, to overcome invalid pointer operations when freeing the result within TMySQLConnection.GetServerVariables. Fixes issue #2943. 2012-08-30 21:43:52 +00:00
225dba02d7 Assume user wants default length/set for columns of an existing table, until he enters some new value. Fixes issue #2942. 2012-08-28 17:44:55 +00:00
8d73413de8 Fix and enhance handling of multiple statements and multiple results:
* TMySQLConnection.Query did not process further results if the first one is a non-result. Instead, it disconnected you as the required mysql_store_result() was never called. Fixed now. Should fix the error described here: http://www.heidisql.com/forum.php?t=11049
* Cache result of SHOW VARIABLES, and introduce a MaxAllowedPacket function, which benefits from that cache
* Do not limit the number of statements in "batch in one go" mode, only limit its size. This is to minimize the number of sent packets for a huge numbers of very small queries.
2012-08-27 22:56:12 +00:00
e686ea171b Silence conversion errors while reading query history from registry. See pm from Thomas Hauck. 2012-08-27 15:33:18 +00:00
e492421153 Use "\N" without enclosing chars for NULL values in CSV export, not an empty string. Just like MySQL does in a SELECT .. INTO OUTFILE. 2012-08-26 22:06:30 +00:00
9de0a2fc0f Add "Include query" checkbox option onto grid export dialog. See http://www.heidisql.com/forum.php?t=10853 2012-08-26 12:47:05 +00:00
9d5c5b061f Detect auto increment column id once after querying and use a simple variable AutoIncrementColumn, not via function ColIsAutoIncrement. Simplifies previous commit. 2012-08-26 09:49:48 +00:00
2ffedb7721 Add "Include auto increment column" checkbox option onto grid export dialog. Fixes issue #2864. 2012-08-25 13:38:04 +00:00
491a6298d1 Introduce property LogToFile in TMainForm, which is synced with the registry setting asLogToFile. Fixes issue #2936. 2012-08-23 23:16:36 +00:00
65a9011206 Give both dropdown and edit box the same width. See http://www.heidisql.com/forum.php?t=11039 2012-08-22 16:50:26 +00:00
675530ca74 TAppSettings.ValueExists respects SessionPath, which is not used in GetSessionNames, so prefer FRegistry.ValueExists here. See http://www.heidisql.com/forum.php?t=11020 2012-08-21 20:51:43 +00:00
c7ffeba600 Add a second label to below the processlist, called "EXPLAIN Analyzer on MariaDB.org", which passes the EXPLAIN output to http://mariadb.org/explain_analyzer/api/1/ . Thanks to Bryan Alsdorf for support. 2012-08-20 06:15:49 +00:00
5cb8df0a78 Use j, not i, for a check whether a recent filter item has a numeric name. Fixes issue #2932. 2012-08-20 06:07:14 +00:00
dcb3c5e6b4 Pass missing plink executable setting. Fixes issue #2931. 2012-08-19 13:44:45 +00:00
90ab0b6cf1 Refactor logic for reading and writing application and session settings:
* Introduce TAppSettings, created in dpr file
* Implement read and write methods, and replace callers of GetRegValue and MainReg.WriteInt/... with these
* Optimize read and write methods for avoiding redundant accesses to registry
* Auto-remove stored default settings from registry to avoid registry spam
* Replace synced MainForm.pref* variables with TAppSettings.Read* calls
* Move SetLocales call to dpr file
* Move MainForm.FDirname* variables to appropriate methods in helpers.pas
* Implement TQueryHistory.Create(SessionPath), reading its items within constructor
2012-08-19 10:55:08 +00:00
bab15cf16b Fix compiler error due to errors in previous commit caused by half undone modifications. 2012-08-02 22:24:57 +00:00
525b0b4edc Code maintenance: Remove unused control tags, turn check menu items into TAction's, and refactor some code parts. 2012-08-02 22:15:35 +00:00
44782e5129 Avoid usage of ExtractFilename for session registry keys, as this cuts strings at characters which are not allowed in filenames, but allowed in registry keys. Fixes issue #2909. 2012-07-31 07:39:27 +00:00
56e0d8b445 Implement session folders. Fixes issue #1228. 2012-07-27 06:54:56 +00:00
1d6bc760c8 Restrict HTML formatter for SQL INSERT/REPLACE output in grid export dialog to 100kb, as SynEdit is just too slow when exporting larger strings. Fixes issue #2903. 2012-07-26 17:02:28 +00:00
98028e8344 Issue #1031: Fix non processed table nodes in table tools dialog, due to activated grouping in tree. See http://www.heidisql.com/forum.php?t=10883 2012-07-20 08:52:53 +00:00
69d4cdd2c1 Issue #1228: Auto-sort session list. Important when restoring tree state. 2012-07-20 06:02:14 +00:00
82668cca67 Issue #1228: Introduce new columns in session managers list of sessions: "Last connect" and "Counter". 2012-07-19 09:08:42 +00:00
796dbb1a05 Issue #1031: Include group name in window caption breadcrumb trail. 2012-07-19 08:44:22 +00:00
08ec09c3dd Fix issue #1031: Have folders for tables, views, routines in database tree. 2012-07-19 07:07:50 +00:00
87ce4d99c7 Turn off any SQL_MODE locally, before running "SHOW CREATE db/table" queries, so there results do not use ansi quotes. Fixes issue #2619, finally. 2012-06-17 11:34:18 +00:00
59e6e7710d Fix memory leak: ExportStream was recreated for each table in export loop 2012-06-17 11:31:33 +00:00
f31867bd5c Revert r3976 (removal of SQL_MODE handling in export), and revert r3988. Use a IF(@OLD_XYZ IS NULL, 0, @OLD_XYZ) approach instead. This way we fix unwanted auto_increment values for "0", and foreign_key_checks are restored to its previous value instead of 0. Fixes issue #2870 and might also be related to issue #2619. 2012-06-17 10:43:26 +00:00
8af6d3c900 TDBQuery.GetWhereClause uses an empty string on a not yet fetched, inserted row. So a numerical cell which is part of a primary/unique key gets into the WHERE clause without any value. Fix that by using "0" as a default if it's an empty string. Avoid usage of UnformatNumber(), which I removed in r4047. Fixes issue #2867. 2012-06-12 19:50:48 +00:00
3ead3f8ef6 Fix broken loop variable in batch SQL counting. Fixes issue #2860 2012-05-31 16:56:29 +00:00
c489504bc8 Fix non-stored checkbox state for local timezone feature, missing in r4152 2012-05-31 15:18:22 +00:00
3dffe2880e Use InputQuery instead of InputBox, so we can use the focused cell content as default value and check if user clicked ok or cancel. See http://www.heidisql.com/forum.php?t=10729 2012-05-30 17:41:38 +00:00
7537d848bc Rethink r4111: Recalculate height of query editors and SQL log if the space for the query grid between them gets too small so the grid gets overlapped. This time without making the SQL log too small so it does not snap and keep having a zero height. Fixes issue #2855. 2012-05-28 09:08:20 +00:00
e2f09b0d8d Make local timezone feature a per session option. See http://www.heidisql.com/forum.php?t=10635 2012-05-25 17:46:57 +00:00
764e87b98b Fix misplaced destruction of column list which gets used a line later 2012-05-23 09:47:59 +00:00
2d8d8e9f36 Get additional column names into SELECT query and ListProcesses tree. See http://www.heidisql.com/forum.php?t=10687 2012-05-22 22:32:05 +00:00
6d34e81f15 Escape joker chars in automated LIKE filter for data tab. Fixes issue #2852. 2012-05-22 17:09:42 +00:00
05b832a9bb Use the right color for inactive nodes. 2012-05-21 17:14:03 +00:00
1f313df20e Remove TServerVariable.VarType property, and detect that by only examining the value. Fetch list of variables from a more complete documentation table which also reveals their read/write state. Also, paint variable values in data type colors. 2012-05-20 22:17:57 +00:00
548eb4003f Catch EInvalidOp exceptions from calls to Trunc(), caused by unsigned Int64 values in string parameters of MakeInt(). 2012-05-20 12:25:44 +00:00
aaf80e7d93 Limit SET time_zone query to 4.1.3+ servers, to fix "Unknown system variable time_zone" error on old servers. 2012-05-20 12:10:41 +00:00
2ef9f4e288 Implement server variable mapping table, and extend the variable editor to explicitly modify strings, numbers, booleans or enumerations, as described on http://dev.mysql.com/doc/refman/5.6/en/dynamic-system-variables.html . Fixes issue #2614. 2012-05-20 08:34:13 +00:00
0f4ec0b3e9 Fix wrong spelled character sets in HTML files, exported from grids. Fixes issue #2825 2012-05-19 10:25:04 +00:00
18bcbd8235 Support insertion of SQL function calls in grid cells, via context menu and shortcut Ctrl+F2. Also, reload full row data after INSERT and UPDATE. 2012-05-18 17:01:59 +00:00
de504e4a18 Detect client timezone in TMySQLConnection.DoAfterConnect and send SET time_zone to the server, so that NOW() and friends return UTC-fixed values. See http://www.heidisql.com/forum.php?t=10635 . Breaks grid editing of date/time values, issue #1835, while timestamp columns use server magic. 2012-05-17 06:18:23 +00:00