169 Commits

Author SHA1 Message Date
72f71bd845 Add a usable error message to the EAccessViolation which pops up when no libmysql.dll is found in the current directory. 2011-02-15 23:37:34 +00:00
d5f47f4103 Downgrade priority of charset information in log panel, which is now a debug message. 2011-02-15 23:15:29 +00:00
2911e9802c Be more exact in regexp from within ParseTableStructure(), to avoid stack overflow in TRegExpr object. Fixes issue #2309. 2011-02-15 23:11:27 +00:00
4bef2d7412 Raise readable connection error when SSL settings are incomplete. Were silently ignored before, so the user didn't knew if SSL is being used. See http://www.heidisql.com/forum.php?t=7739 2011-02-09 23:51:41 +00:00
8d9539e10f Indicate SSL enabled connection, via lock icon in status bar, logging line at connection time, and line in connection info popup. See http://www.heidisql.com/forum.php?t=7739 2011-02-09 07:07:44 +00:00
ab21693b0d Support backticks in column names. Fixes issue #2292. 2011-02-02 20:30:24 +00:00
005856d9f0 Explicitly pass -ssh parameter to plink although that's assumed as default, but there seems to be some magic switch to some other protocol on certain servers. Fixes issue #2278. 2011-01-26 06:57:11 +00:00
82b45cf09e Can't recall why date/time columns in a VIEW did not get a default text for CREATE VIEW. Undo that and probably fix the issue described on http://www.heidisql.com/forum.php?t=7109 2011-01-17 20:58:56 +00:00
bb00b55798 Get collation table once, not in each loop when parsing table columns. Fixes issue #2266. 2011-01-16 16:41:29 +00:00
adb3a3aa74 Add more debug log lines, mostly to detect looped calls to Ping(). 2011-01-16 16:36:42 +00:00
56f3b8ff0b Add debug logging in TMySQLConnection.Ping(). See issue #2266 2011-01-16 16:22:56 +00:00
88d56668c8 Redo changes from r3630 2011-01-12 18:16:28 +00:00
6ffb0e360c Revert r3630 test wise, so the reporter of issue #2266 can see if that really caused the slowness. 2011-01-12 18:14:39 +00:00
eea43de0eb Force cache update of server stuff like table engines after reconnecting. Fixes issue #2258. 2010-12-21 22:43:14 +00:00
535e3d31bf Hide table engines marked as disabled. 2010-12-17 21:26:06 +00:00
c97f5295e0 5.0 and older servers show a "USING BTREE" before the column list, newer servers have them right after the list. Allow both places to fix compatibility to old servers. See http://www.heidisql.com/forum.php?t=7153 . 2010-12-06 23:21:58 +00:00
e23a16f9ae Allow dash in view names. Fixes issue #2243. 2010-12-06 22:59:41 +00:00
481b472c52 Try to fix detection of default-less fields in views. See http://www.heidisql.com/forum.php?t=7109 2010-12-03 21:38:05 +00:00
7770d186e5 Append -N option to plink command line. Avoids starting a shell on the remote system, and probably heals immediately exiting plink process in cases where the user is not allowed to start a shell. Discussed in issue #2236. 2010-11-28 17:22:50 +00:00
199d7c6e0f Make plink.exe wait timeout configurable in session manager. Fixes issue #2236. 2010-11-28 12:47:00 +00:00
6f95a796e1 Modify identifier quoting logic:
- Move QuoteIdent() and DeQuoteIdent() out of TMySQLConnection, make them classless
- Remove TMainForm.mask(), instead always use QuoteIdent()
- Introduce a third parameter to QuoteIdent(): "AlwaysQuote" - setting this to false will quote only if required
- Set AlwaysQuote to false for all stuff which drops some code into the query editor, see http://www.heidisql.com/forum.php?t=6986
2010-11-24 23:12:13 +00:00
fbefabe146 Fix stack overflow in object comparer when deleting triggers. See http://www.heidisql.com/forum.php?t=6915 2010-11-21 09:35:36 +00:00
b6f7c17ac1 Rewrite code behind user manager dialog:
- Use GRANT + REVOKE queries as recommended by MySQL.
- Fixes various wrong INSERTs/UPDATEs which were intended to normalize structure in mysql db.
- Remove features: max query count per hour/day/...
- Enables user to assign stored routine privileges now, see http://www.heidisql.com/forum.php?t=6684
- Add "Clone user" button, fixes issue #1316
- Add "Repeat password" edit box, fixes issue #1461
- Paint privilege text in different colors for read/write/admin commands.
2010-11-10 21:15:54 +00:00
a19e85a9e2 Implement TObjectList comparer which orders items in a way that dropping them does not trap in SQL errors. Also, avoid errors due to foreign key checks. Fixes issue #2193. See also http://www.heidisql.com/forum.php?t=6322 2010-10-31 14:32:06 +00:00
9b0995753b Revert r2975 - false detection of VARCHARs as BLOBs on 4.0 servers. Seems somehow elsewhere. Additionally, r2975 introduced a false detection of VARBINARY columns as VARCHARs. Fixes issue #2182 and hopefully does not break issue #1588 again. 2010-10-19 22:36:56 +00:00
6c2a100945 Implement combo box for definer in routine + view + trigger editor. Fixes issue #2189. Some related changes here:
- Remove ensureValidIdentifier() and its partly uncatched exceptions. Instead, disable "OK" buttons for empty table/view/proc name.
- QuoteIdent and DeQuoteIdent now take the glue char instead of a "HasMultiSegments" boolean param, so they're more exact when "user@host" or "db.name" come in.
2010-10-12 22:13:08 +00:00
62950faccc Fix wrongly quoted db and table name in SHOW COLUMNS FROM query - accident in previous commit. 2010-10-08 20:28:49 +00:00
5d13d0677b The 3 procedures Parse(Table|View|Routine)Structure() already do some connection specific stuff, and now even more, so they're moved to TMySQLConnection now. In order to display the right collation even if only the character set was found in a CREATE TABLE code, the default collation per charset is detected via CollationTable. See http://www.heidisql.com/forum.php?t=6348 . 2010-10-08 20:16:53 +00:00
0fa6c15c9d Implement multiple connections per window. DBtree and friends now have their nodes bound to TDBObject instances. Fixes issue #2144. 2010-10-05 23:06:29 +00:00
18f67ffdc3 Internally, always use binary strings, not hex strings, when inserting or updating grid rows. Fixes SQL errors when actBlobAsText is activated and UPDATE sends unquoted "_binary foobar" as value. Fixes issue #2166. Also, do not reload grid data when activating text display. 2010-09-19 23:04:56 +00:00
3865d383da Avoid running SHOW TABLE STATUS FROM '' and friends on an empty database name, when trying to determine a column's origin. 2010-09-14 23:24:32 +00:00
4eb4a68f05 Adjust TDBObjectEditor so it works on its own instance of a TDBObject. Otherwise the object gets freed in ApplyModifications -> RefreshActiveTreeDB -> ClearDbObjects. Afterwards you got unpredictable results with the pointer to the old TDBObject, e.g. the wrong tree node was selected after that refresh. 2010-09-08 22:49:16 +00:00
909080245a Remember if create code of a view was fetched, successful or not. Avoids duplicated error messages in SQL log. 2010-09-08 19:58:37 +00:00
6fa29605fd SHOW VIEW may be not allowed. Disable VIEW editor in that case, but do not run regular expression into a no-match AV. Fixes issue #2159. 2010-09-08 19:48:18 +00:00
bad9c2cec3 Attempt to fix nil pointer exception (issue #2157) 2010-09-08 17:12:04 +00:00
f323420ef1 Enable TDBObject instances to return and cache their own CREATE code, and replace various manual SHOW CREATE xyz occurrences with this new function call. Additionally, modify ParseViewStructure so it takes the CREATE code instead of just the VIEWs name, so it works similar to ParseTableStructure and ParseRoutineStructure. Finally, take this CREATE code to detect all settings for a VIEW, instead of taking them from information_schema.VIEWS. Fixes issue #2131. 2010-09-07 20:58:48 +00:00
461a50df40 Increase wait interval for externally run plink.exe from 1 to 4 seconds. Works around having the program left before it could establish a connection. See issue #1914. 2010-08-30 20:00:18 +00:00
36298ca567 Code cosmetic: Move code for initializing default properties of a TDBObject from TMySQLConnection.GetDBObjects (where this is done multiple times) to TDBObject.Create. 2010-08-28 15:22:40 +00:00
b87745d0d3 Implement fetching multiple results from one query, e.g. from a procedure call. Fixes remaining stuff in issue #1135. 2010-08-28 15:17:10 +00:00
dd051b95ac Internally cancel modification on running table editor when dropping its db object. Avoids asking for modifications after dropping, which then results in SQL errors. Fixes issue #1881. 2010-08-21 21:20:58 +00:00
455792dc3b Unescape escape sequences in table comment when loading a table into the table editor. Fixes issue #2118. 2010-08-14 15:36:56 +00:00
25fb0ed266 Refactor code in SQL help dialog, replace the TTreeView with a VirtualTree. 2010-07-31 17:16:08 +00:00
b3526fa9d1 If a session is configured to prompt for username + password, only prompt on the initial connect, not on each reconnection, which is annoying and superfluous. 2010-07-24 13:32:09 +00:00
f6e915b8d3 Table editor fails to detect the default collation on some tables. Fetch it from SHOW TABLE STATUS instead as fallback. See http://www.heidisql.com/forum.php?t=6202 2010-07-20 07:42:39 +00:00
8c34a9e15a Session manager: Add checkbox option for users who want to be prompted for username + password rather than saving that to registry. Prompt window itself is called from within TMySQLConnection.SetActive. 2010-07-19 20:06:09 +00:00
aad99190ae Table editor: Apply default length/set for new columns as long as user didn't touch it. Fixes issue #2084. 2010-07-14 10:52:34 +00:00
6b03976eb7 Attempt to fix some memory leaks in TMySQLQuery, when it gets destroyed. Should already be done by the compiler but who knows, probably this fixes issue #2063. 2010-07-13 17:59:00 +00:00
e7bfca41b4 Add LIMIT 1 clause to grid UPDATE queries, to make these safer on tables without sufficient unique key. Fixes issue #2079. 2010-07-11 18:56:19 +00:00
7cd1c7b0ab Add support for ZEROFILL flag in table editor. Introduces a new checkbox column in the columns list. Fixes issue #570. 2010-07-04 13:35:54 +00:00
33bf95ba12 Foreign key constraint symbol names must be unique in a database. To avoid violation errors the "Copy table" dialog should just leave the CONSTRAINT clause out from the CREATE TABLE code. In that case MySQL auto creates a valid name on demand. See http://www.heidisql.com/forum.php?t=6086 2010-06-30 23:37:23 +00:00