154 Commits

Author SHA1 Message Date
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
346e4698eb Be sure later calls to SetRecNo are executed after discarding a new grid row. Fixes issue #2031. 2010-06-22 05:39:45 +00:00
3ddf240983 Trim db names to ignore such minor typos. Fixes issue #2036. 2010-06-21 10:00:15 +00:00
35ea591027 Do not overtake empty strings in semicolon separated list of databases. Fixes issue #2032. 2010-06-21 06:03:13 +00:00
b215089ada Make data in VIEWs editable again by fetching table name and column names in a slightly different way. Fixes issue #1999. 2010-06-20 16:45:17 +00:00
edb9ce1487 Split identifiers with dot only in explicit cases, so column names containing a dot can be loaded and created. Fixes issue #2026. 2010-06-18 16:52:41 +00:00
e16d1bcc59 Fix wrong "DROP [index name]" clause when turning a normal key into a primary key. Fixes issue #2011. 2010-06-16 18:55:33 +00:00
e359ad2f98 Reset FRecNo after executing a new query, otherwise SetRecNo does nothing if FRecNo was already 0. Fixes issue #2009. 2010-06-14 21:50:27 +00:00
c0da6e5a21 Refactor "Copy table" dialog:
* Replace checkboxes, radio buttons and checklistbox by a VirtualTree using checkbox support
* Support selecting/deselecting single indexes
* Support foreign keys
* Place a SynMemo at the bottom in which the user can type an optional WHERE clause to filter incoming data. Fixes issue #2000.
* Move code for SQL generation into TTableColumn etc.
2010-06-14 00:21:33 +00:00
5bc81b96d2 Make grid scrolling incredibly much faster, by exiting early in SetRecNo if current row is already the right one. See http://www.heidisql.com/forum.php?t=5890 2010-06-11 21:04:52 +00:00
24295f111e Immediately prepare editing when data grid fetches rows, as that implicitly fixes BLOBs detection and enables "Image preview" action. Fixes issue #1948. 2010-06-11 19:52:42 +00:00
d81cc6cd7b Treat BLOBs like required in grid INSERTs and UPDATEs. Bug report: http://www.heidisql.com/forum.php?t=5883 2010-06-04 18:19:30 +00:00
f01823fb56 Fix AV when checking if "Image view" shall be enabled or disabled. Fixes issue #1974. 2010-05-31 22:18:05 +00:00
7c83d1a01e mysql_data_seek() is required for cumulated results (datagrid) on the very first row of an added result, to avoid AVs when that result has its cursor at the end or somewhere in the middle. Fixes an AV when exporting grid data. 2010-05-29 00:21: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
9984bf0236 Issue #1135: Implement tabs for multiple batch results in a query tab. Does not yet show multi results of stored procedures. Maximum number of tabs is customizable in Preferences > Data. 2010-05-26 23:11:08 +00:00