327 Commits

Author SHA1 Message Date
49a97584e6 Code preparation for non-MySQL connections: Extract abstract stuff into a new TDBConnection class, and let TMySQLConnection derive from that. Same with TDBQuery / TMySQLQuery. See issue #1008. 2011-03-17 23:03:54 +00:00
30e0a03c2d Wait for threaded user queries to finish before proceeding, in TMySQLConnection.Query(). Should fix the problem with parallel queries, described in issue #1509. 2011-03-02 07:54:42 +00:00
4d90a5901e Implement threaded execution of user queries, using a TThread descendant class. Fixes the most starred issue #1509. However, later clicks which fire some parallel query are a problem now, as the server kills the connection when you do that. In some cases there should popup the "Commands out of sync" error. 2011-03-01 22:32:55 +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
446eef2a40 Improve generated passwords by including numbers at a random position. 2011-02-05 06:45:38 +00:00
1f0ff39229 Set focus in name input box of object editors at start, so users can start typing immediately. Fixes issue #2289. 2011-02-03 22:23:54 +00:00
809236e534 Fix compiler warnings, newly deprecated stuff. 2011-02-01 23:05:46 +00:00
44bcd31635 Add a "Cancel" button to the main toolbar, so users are able to stop long running query grid sort operations. See http://www.heidisql.com/forum.php?t=7674 2011-01-29 06:45:49 +00:00
58a95bc978 Allow snippet files with more than one dot. Fixes issue #2264. Also, this removes GetFilesFromDir() and makes use of TDirectory.GetFiles instead. 2011-01-19 20:47:37 +00:00
c5ae894951 Use less indentation in db tree and less height per node in all trees. Fixes issue #2262. 2010-12-29 22:44:12 +00:00
ea4f87f4d0 Skip filtered nodes in various GUI actions, e.g. "drop objects" and "export as csv". Fixes issue #2255. 2010-12-20 22:00:46 +00:00
d60d3f3ea6 Focus next or previous grid node on Shift+MouseWheel, in all trees. See http://www.heidisql.com/forum.php?t=7269 2010-12-11 07:25:19 +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
08cdd86c9d Fetch real compile datetime for about box, by examining PE header, not last file modification. Code taken from http://www.michael-puff.de/Programmierung/Delphi/Code-Snippets/GetImageLinkTimeStamp.shtml 2010-11-20 09:05:46 +00:00
3339b641ff Specify utf-8 charset via meta tag. Although the file itself already has utf-8 encoding, some web browsers may not be able to detect this the right way. Fixes issue #2231. 2010-11-13 18:22:06 +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
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
61855c4e8b In ParseViewStructure(), the CREATE VIEW code can contain the database name which the regular expression did not expect. Fixes issue #2188. 2010-10-08 12:00:18 +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
a40c10b4c4 Return value of FUNCTIONs can contain UNSIGNED keyword, which the regular expression based parser did not expect. Fixes issue #2177. 2010-09-16 19:24:20 +00:00
f86a72dd36 Attempt to fix some weird effects on tree node selection and refreshing logic. Unhides "Data" tab after creating a new table. Fixes issue #2148. Details:
* Do process OnFocusChanged also while tree db refreshes, just avoid calling actEditObjectExecute.
* Make SelectedTable a property, rename to SelectedDbObj
* Remove calls to debug(), prefer LogSQL with lcDebug parameter
2010-09-15 23:09:43 +00:00
39edbd4deb Fix VIEW code parser for name length of only 1 character. 2010-09-10 21:30:09 +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
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
566fe3c149 Fix wrong logic in detection of unformatted number strings, in CleanupNumber(). Fixes issue #2155. 2010-09-08 18:58:06 +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
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
88e7f7aa05 Implement query profiling in helpers box. Enhance usability of turning the listbox + tabset into a tree, with 5 root nodes instead of 5 tabs. Fixes issue #902. 2010-08-13 19:42:54 +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
e3f7072df0 Fix query splitter: "DELIMITER xyz" must be followed by some space char, this is not optionally. Broken in r3432. Fixes issue #2092. 2010-07-16 17:17:49 +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
39843aabb7 Remove dead code 2010-07-13 16:55:20 +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
49d0bb3193 Remove Mince() function to shorten a file path - setting a label's EllipsisPosition to epPathEllipsis does the same. 2010-07-02 23:26:47 +00:00
ac571734f6 Add menu item for inserting UNIX timestamp into grid cells. Fixes issue #2060. 2010-07-02 22:58:12 +00:00
63a69de637 Adjust offset stuff in SQL splitter routine, DELIMITER department. Fixes issue #2053. 2010-07-01 19:45:23 +00:00
4fb7f4cdc5 When copying HTML from grid rows, StreamToClipboard needs its 3rd parameter set to true to create the required clipboard header for rich text editors. Also, calculate values for StartHTML and EndHTML - seems required by Mozilla based applications like Thunderbird. Fixes unformatted HTML pasted into rich text editors. 2010-07-01 18:58:00 +00:00
780cf0f19f Add support for exporting grids as Wiki table markup 2010-06-30 23:21:28 +00:00
f47eb39316 Merge 5 GridToXYZ export routines into one, so there is less code to maintain and to make it easier to add further export formats. 2010-06-30 22:34:42 +00:00
5d96ec07fc If a file does not contain a BOM, do not advance the stream position for later readers. Fixes issue #2035. 2010-06-21 18:30:18 +00:00
d436df314a Use TOpenTextFileDialog instead of TOpenDialog for two places where we load SQL and text cell contents. That dialog has an additional "Encoding" dropdown, where the user can select the file's encoding, which can be required if the auto detection did not succeed. Fixes issue #2025. 2010-06-20 10:05:37 +00:00
bd3c391b39 Remove remaining wrong \r\n text from LaTeX output. 2010-06-18 18:17:21 +00:00
1d9ae863b2 Tweak LaTeX export: Fix case in all occurrences of "LaTex" - must be "LaTeX" and remove trailing "\r\n" in output. 2010-06-18 17:00:12 +00:00
163a8c13d6 Implement LaTeX output for "Copy as" actions. Code parts from brampton. Fixes issue #2020. 2010-06-18 16:32:20 +00:00
c15baee972 Fix recently broken support for views in "Copy table" dialog. 2010-06-16 22:30:03 +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
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
51158e7700 Fix detected end offset of DELIMITER query. 2010-06-09 22:48:12 +00:00
203c6f214d SQL splitter: At char #1 there may start a comment. Fixes issue #1980. 2010-06-01 17:33:52 +00:00