Commit Graph

146 Commits

Author SHA1 Message Date
Ansgar Becker
10c17f502d Do not store and restore old value of FOREIGN_KEY_CHECKS variable, just set it to 0 when beginning to export, and to 1 again at the end. Should prevent from running into "'foreign_key_checks' can't be set to the value of 'NULL'" error when disconnects happen within export process. Fixes issue #2500. 2011-12-17 14:33:44 +00:00
Ansgar Becker
1a15e89023 Use -- for line comments, not #, to support MS SQL also in export files. 2011-12-11 21:11:31 +00:00
Ansgar Becker
8ed065ea97 Do not modify SQL_MODE when exporting, just do that temporarily before creating triggers. Avoids running into errors when e.g. ANSI_QUOTES is turned on. Fixes issue #2619. 2011-12-04 11:11:48 +00:00
Ansgar Becker
a69041d17d Add support for Windows 7 task button progress. Unify all callers of ProgressBarStatus in a set of 5 functions in main unit instead of helpers, as this is where the progress bar is placed and also we need the handle of the main window. 2011-11-08 22:27:52 +00:00
Ansgar Becker
968efc99f3 Export VIEWs with alternative version of SELECT code. Follow up to r3941, see issue #2546. 2011-11-05 00:10:47 +00:00
Ansgar Becker
242b128885 Populate database pulldown with dbs from current connection in export window. Fixes issue #2572. 2011-11-05 00:07:23 +00:00
Ansgar Becker
783cbdbcc0 Save and restore settings in table tools dialog. Restore server selection only in export mode. Fixes issue #2520 and non-restored previous file settings. 2011-08-14 10:15:09 +00:00
Ansgar Becker
b169e57fe9 Paint green size bar in database trees 2011-07-03 21:49:26 +00:00
Ansgar Becker
133b2a265c Refactor code for Host subtabs: Remove TVTreeData structure, use TDBQueryList instead. Use same code for most grid events. 2011-07-03 08:44:20 +00:00
Ansgar Becker
3c725b3d76 Quote collation clause in all places. Fixes issue #2479. Related: issue #1852. 2011-06-27 19:44:07 +00:00
Ansgar Becker
e96fa77cbd Do not cache dialog instances any longer. OnCreate code is mostly very quick, and caching them adds quite some pitfalls into the code. Not to mention 30 lines less code in main.pas now :) 2011-06-26 20:01:42 +00:00
Ansgar Becker
b53e0c466e FindDBNode cannot find the right node if db tree is refreshing and has no focused node. Pass connection parameter to FindDBNode to fix that. Effect was that after a table structure change, the db tree was broken. Fixes issue #2471. 2011-06-23 10:44:30 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
64974c3118 Fix potential division by zero exception 2011-05-05 19:11:57 +00:00
Ansgar Becker
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
Ansgar Becker
f831bf3103 Display percent of processed objects on table tools dialog, and show progress bar. 2011-04-16 06:41:54 +00:00
Ansgar Becker
30498b99f0 Fix quoting for MS SQL mode. 2011-04-16 05:38:38 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
08e4e0666a Use unified method for getting database names. 2011-04-01 05:24:37 +00:00
Ansgar Becker
4142bed111 Quote identifiers with the right quote char when exporting to server. 2011-04-01 05:20:45 +00:00
Ansgar Becker
4fbf2c23dd Introduce experimental MS SQL support 2011-03-29 23:20:21 +00:00
Ansgar Becker
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
Ansgar Becker
6572de2f3b Display sum of all checked objects in lower left label of table tools dialog. 2011-03-10 20:13:58 +00:00
Ansgar Becker
34c1969f5f Fix wrong "0 %" display when table has 0 rows. 2011-03-03 19:44:28 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
be3e393534 Add "case sensitive" checkbox to "Find text on server" dialog. Fixes issue #2199. 2010-10-23 07:07:55 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
a08d0d9949 Remove feature: "Skip tables larger than X MB". Fixes issue #2153. 2010-09-08 18:16:30 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
5021ddaa2a Revert r3478 - throws the same SQL error, now on all exports. Reopens issue #2121. 2010-08-16 19:31:44 +00:00
Ansgar Becker
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
Ansgar Becker
b97c41bc6c Triggers need to be exported after tables, just like views. Fixes issue #2077. 2010-07-14 10:58:53 +00:00
Ansgar Becker
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
Ansgar Becker
2e301d1095 Code cosmetic: Do not pass default parameter in one zillion callers of ShowStatusMsg() 2010-05-28 23:09:38 +00:00