2761 Commits

Author SHA1 Message Date
2f10329e62 Implement an automatic, non-configurable keep-alive ping, to prevent SSH tunnels from disconnecting. Fixes issue #2935. 2012-10-12 15:01:34 +00:00
1855f6b57d Remove LIMIT 1 clause for safe grid queries. This prevents grid updates on simple tables from running into replication mode warning "Statement is not safe to log in statement format". See http://www.heidisql.com/forum.php?t=11304 2012-10-04 20:18:08 +00:00
c0610ef70d Add support for renaming tables in MS SQL. Fixes issue #2981. 2012-10-04 19:04:05 +00:00
2b0a31194d AUTO_INCREMENT attribute requires a primary key on the same column. So, in the copy table dialog, if the user unchecks the primary key, we need to auto-remove the AUTO_INCREMENT attribute as well. Otherwise the dialog runs into an error "there can be only one auto column and it must be defined as a key". See http://www.heidisql.com/forum.php?t=11238 2012-10-03 09:22:53 +00:00
4151f0d82a Text import: Uncheck critical "Truncate table" checkbox, to avoid accidental data removal. See http://www.heidisql.com/forum.php?t=11260 2012-09-30 12:20:19 +00:00
8b51f19ed0 Fix AV when displaying data of a table which has 0 rows. Mainly caused by range differences of VT.RootNodeCount (Cardinal) and TDBQuery.RecordCount (Int64). 2012-09-30 12:07:52 +00:00
d4f5a32fe8 Fix crash on exit when connected to pre-4.1 servers. See http://www.heidisql.com/forum.php?t=11116 2012-09-29 19:32:20 +00:00
cd3aad267a Get away from using "2008", "2000" version numbers for MSSQL, to add compatibility to old MS SQL servers, e.g. 7.0 had no year-styled version. Instead, use 700 for 7.0, 800 for 2000, and so on. Use these more exact version numbers to fix a 7.0 issue in TAdoDBConnection.GetAllDatabases. See http://www.heidisql.com/forum.php?t=11230. 2012-09-29 08:35:03 +00:00
3ff4bba55c Enhance MS SQL compatibility in table editor:
* Introduce specifities for ADD/CHANGE column clauses. Fixes issue #2532.
* Remove unsupported DROP DEFAULT for MS SQL
* Remove unsupported LENGTH/SET attribute for relevant data types
2012-09-29 07:43:00 +00:00
c728bb2631 Do not switch from "Query" to "Host" main tab when disconnecting. Hopefully does not break what I've done in r3868. 2012-09-28 18:04:30 +00:00
fea0e8e194 Code cosmetic in initialization code:
* Move TMainForm.ParseCommandLineParameters to helpers:ParseCommandLine
* Modify ParseCommandLine to work without private statics FCmdlineFilenames and FCmdlineConnectionParams
* Move code from helpers:setLocales to dpr file
* Rename TMainForm.Startup to TMainForm.AfterFormCreate
* Destroy AppSettings explicitly in single instance mode
2012-09-16 16:55:53 +00:00
3d0ad5cab9 Extend error message to help debugging issue #2960 2012-09-14 04:32:49 +00:00
9ccfa083cb Casting integers to TNetType does not throw any exception, so later calls to GetNetTypeGroup throws one when you have an invalid value stored in registry. See issue #2958. Handle such broken values at the time when they are read and popup a less crashy error dialog in that case. 2012-09-11 20:52:59 +00:00
0c42aa62f1 Read recent filters from registry following a numeric counter, instead of taking GetValueNames, which has a wrong sort order. See http://www.heidisql.com/forum.php?t=11161 2012-09-09 17:52:30 +00:00
f96f4de2b7 Prefer displaying checkboxes in a disabled style, over displaying no checkbox at all, for not applicable table attributes 2012-09-08 06:29:10 +00:00
04f65eea51 Do not allow NULL, and force NOT NULL, on primary key columns. See http://www.heidisql.com/forum.php?t=11156 2012-09-08 05:57:10 +00:00
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