134 Commits

Author SHA1 Message Date
a329844e9f Use hex style in WHERE clause and column values of grid updates. Fixes issue #2183. Also, raise warning when 0 rows were affected by UPDATE, INSERT or DELETE action. 2011-05-28 21:20:19 +00:00
2d548b5ef6 Introduce some wrapper functions for message and error dialogs in order to have less code and to avoid hidden titles on Windows XP. Fixes issue #2425. 2011-05-27 04:48:21 +00:00
3b91279777 Introduce support for BIT fields in grids and export output. See issue #766 and http://www.heidisql.com/forum.php?t=8462 2011-05-10 05:15:59 +00:00
64974c3118 Fix potential division by zero exception 2011-05-05 19:11:57 +00:00
c8b25c75fa Bind session parameter object to session manager list nodes, to be able to show the right vendor icon in that list. 2011-04-17 23:21:05 +00:00
f831bf3103 Display percent of processed objects on table tools dialog, and show progress bar. 2011-04-16 06:41:54 +00:00
30498b99f0 Fix quoting for MS SQL mode. 2011-04-16 05:38:38 +00:00
bec6422d34 Turn close button into cancel button for processing time, and break loop in TfrmTableTools.Execute when clicked. See http://www.heidisql.com/forum.php?t=8238 2011-04-16 05:34:05 +00:00
2e44387eb2 Remove seconds from uptime and connected time in status bar. Should fix flickering finally. See http://www.heidisql.com/forum.php?t=7977 2011-04-06 19:59:36 +00:00
08e4e0666a Use unified method for getting database names. 2011-04-01 05:24:37 +00:00
4142bed111 Quote identifiers with the right quote char when exporting to server. 2011-04-01 05:20:45 +00:00
4fbf2c23dd Introduce experimental MS SQL support 2011-03-29 23:20:21 +00:00
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
6572de2f3b Display sum of all checked objects in lower left label of table tools dialog. 2011-03-10 20:13:58 +00:00
34c1969f5f Fix wrong "0 %" display when table has 0 rows. 2011-03-03 19:44:28 +00:00
afc9f490c1 Display nothing instead of "-1" for processed rows in case of non-tables. See http://www.heidisql.com/forum.php?t=7895 2011-03-03 19:40:31 +00:00
972aa9e4d2 Display the real row count at the end of exporting table data, using an internal counter, to enhance accuracy. See http://www.heidisql.com/forum.php?t=7895 2011-03-03 19:21:35 +00:00
3d677e963f Focus first prechecked table or db node in table tools dialog, to trigger a Tree.OnChange call, which again fixes the width of the size column. Fixes issue #2277. 2011-01-26 22:45:20 +00:00
0911c8edad Init all objects in active db before preselecting, so the tree does not just check the parent db node when we only want the first object in it. Fixes issue #2267. 2011-01-19 20:11:45 +00:00
e3ce880b69 Call Application.ProcessMessages in certain intervals while export runs, and disable most controls so nothing critical can break the export loop. See http://www.heidisql.com/forum.php?t=7174 . 2010-12-06 22:52:41 +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
a8ce8cd7fa Export output file may be in use by another application. Catch such exceptions and stop the whole export loop. See http://www.heidisql.com/forum.php?t=6850 2010-11-13 20:37:46 +00:00
910975aa40 Ensure SQL list has the same number of items as result list has, to avoid AVs when SELECT returned an error. See http://www.heidisql.com/forum.php?t=6824 2010-11-13 20:20:19 +00:00
be3e393534 Add "case sensitive" checkbox to "Find text on server" dialog. Fixes issue #2199. 2010-10-23 07:07:55 +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
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
82a6472896 Place a "See results" button to the "Find text on server" dialog, which creates a new query tab and executes a SELECT batch to see search results in grids + tabs. Fixes issue #2151. 2010-09-13 22:46:54 +00:00
a0c0bc1f4c Export VIEWs in two passes: First create tables with same columns, secondly remove that table and create the final view. This way errors caused by VIEW to VIEW dependencies are solved. Fixes issue #2161. 2010-09-10 21:45:23 +00:00
a08d0d9949 Remove feature: "Skip tables larger than X MB". Fixes issue #2153. 2010-09-08 18:16:30 +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
68ce02d3a9 Adjust loop over exported table rows in a way that we do not assume some average length for the next row. Avoids exceeding max_allowed_packet in any case (except for cases of tables with 1 gigantic row). Should fix disconnects and follow up errors like issue #2121 finally. 2010-08-17 17:29:36 +00:00
54d0d91a9c Decrease maximum exported SQL length per query, to satisfy users with large row sizes, avoiding a disconnect. Fixes issue #2121. 2010-08-17 07:47:28 +00:00
5021ddaa2a Revert r3478 - throws the same SQL error, now on all exports. Reopens issue #2121. 2010-08-16 19:31:44 +00:00
f97d1e636a When an export process implicitly reconnects at some point, an earlier set variable is lost and points to NULL, which results in an SQL error for "SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS". Try to fix that with an IFNULL conditional clause. Fixes issue #2121. 2010-08-15 18:39:39 +00:00
b97c41bc6c Triggers need to be exported after tables, just like views. Fixes issue #2077. 2010-07-14 10:58:53 +00:00
d7784a3a25 Don't know what I meant to fix by this split-and-combine-again code, as it only has the effect that lines get trimmed. Remove that code. Fixes issue #2002. 2010-06-09 22:42:54 +00:00
2e301d1095 Code cosmetic: Do not pass default parameter in one zillion callers of ShowStatusMsg() 2010-05-28 23:09: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
698f078773 When exporting tables with various ENUM columns, these can distort the max-rows-calculation, based on the table's avg_row_len. Instead, examine the current stream's size at the end of each exported data row. Fixes issue #1682 - this time more effectively. 2010-05-20 19:55:29 +00:00
ec16b98755 Cosmetic: Add "approximately" notice behind InnoDB row count, so noone takes the value for real. Fixes issue #1945. 2010-05-18 18:40:15 +00:00
4e49324d03 Exports to database + server were missing SET FOREIGN_KEY_CHECKS header + footer. Moving critical Output() procedure from local to private scope, so we can call it in Execute(). Fixes issue #1915. 2010-05-12 19:14:45 +00:00
8579ca2841 Avoid "No database selected" error when fetching trigger details in SQL export. Fixes issue #1883. 2010-04-27 19:47:20 +00:00
b3b1710c35 Introduce EDatabaseError exception class, so we're able to handle only those and let others raise the exception up to MadExcept. Helps finding non-database related AVs as users are able to get the callstack now. Similar to r3292 but more consistent all over the code now. 2010-04-24 13:56:57 +00:00
6bb8bb6875 Keep SQL errors quite but raise unnormal access violations, so the exception handler can catch them. 2010-04-23 20:51:36 +00:00
764388b89c Export views not at the *very* end of an SQL export, but at the end of one selected database. Important when user selects items from more than one database. Fixes issue #1887. 2010-04-23 20:38:41 +00:00
65bf7f09a1 Fix duplicated header (in multi-db mode) and missing footer (in no-data-mode) in SQL export 2010-04-23 20:29:34 +00:00
9cb913c87d Target connection was removed + added from target pulldown, but not reselected afterwards. Fixes issue #1890. 2010-04-23 19:01:17 +00:00
97f01a175b Move database filter again from mainform to session manager, so people without privilege to run SHOW DATABASE are not stuck. Fixes issue #1485. Also, allow to see available databases when user does a dropdown. Also, simplify logic for refreshing database list in mainform. 2010-04-22 15:16:27 +00:00
809291cf45 Add line break between each VALUES line of data. Fixes issue #1877. 2010-04-18 21:33:45 +00:00