1545 Commits

Author SHA1 Message Date
5152b38937 Implement a "Duplicate row" action for quicker grid editing. Fixes issue #533. 2009-12-23 00:03:48 +00:00
eb9915d5be Invalidate columns and keys of an edited table when pressing the "Save" button, to avoid SQL errors when switching to "Data" tab. Fixes issue #1556 2009-12-22 23:38:38 +00:00
c46a87338b Remove unused debug variable 2009-12-22 23:21:03 +00:00
e356cb7ed7 Sanitize all "uses" clauses from unneeded unit references. 2009-12-22 23:19:56 +00:00
e43535ee5b Make regular expression stable against commas in data types, such as DECIMAL(10,7). Keeping compatibility to spaces in data types, like INT UNSIGNED. Fixes issue #1554. 2009-12-22 18:57:20 +00:00
8d32a1fd0c Raise with a more detailed exception message, to debug issue #1540. 2009-12-22 14:16:54 +00:00
9d722e2f07 Don't auto-call database editor when focusing a table in dbtree. Fixes issue #1550. 2009-12-22 14:01:02 +00:00
1cfe855bae Fix uncheckable tree nodes when a database gets checked and tries to auto-check its children. Fixes issue #1552. 2009-12-22 13:31:50 +00:00
6ebdea449b Browse to previous cell when pressing Shift+Tab in editing mode. No need to post messages for this logic. Fixes issue #1407. 2009-12-21 20:05:32 +00:00
6fa9fdb397 Clear cached objects of modified databases after bulk editing, which can include a table moving. Fixes issue #1506. 2009-12-21 13:11:17 +00:00
d92a7d4394 Indicate ON UPDATE clause in table editor's column list. Fixes issue #1545. 2009-12-21 12:42:16 +00:00
45ea75752a Fix empty returning string, broken in r2890. Fixes issue #1549 and various other places where esc() is called. 2009-12-21 11:31:58 +00:00
18b7b8bb82 Only copy selected rows in "Copy as ..." actions. Fixes issue #789. 2009-12-21 11:24:19 +00:00
a9e404e181 Move string escaping methods from helpers to connection unit, replace code in TMySQLConnection.EscapeString(). So we don't use two different methods for the same task. Also, EscapeString() converted WideStrings into Strings using Utf8Encode, which was then displayed as broken text in SQL log. 2009-12-21 10:23:58 +00:00
f1d22faa6a Gracefully ignore non existent columns on older servers. Fixes issue #1547 2009-12-21 09:13:01 +00:00
4501f070a9 Wrap Connection.Database in try..except blocks, so they don't throw access violations when the selected db was deleted from outside. Fixes issue #1445 2009-12-21 09:07:21 +00:00
424ff3c8ab Add missing backticks to dropped database name 2009-12-21 06:36:26 +00:00
495ed3a689 After refreshing the tree, select the upper host node as fall back, if previously selected database was deleted from outside. Ensures there is at least one focused node and the unavailable database does not remain selected internally. 2009-12-21 06:34:18 +00:00
d14d8e01f7 Database node was not removed after DROP DATABASE action. Fixes issue #1474. Described access violation unreproducible here any longer, probably fixed earlier. 2009-12-20 09:37:36 +00:00
7272ba3bc3 Remove handling of crashed tables - there is no difference to normal tables in the way we handle them. 2009-12-19 21:25:59 +00:00
62764fa5e3 Fix access violation when trying to expand a trigger or routine in order to fetch its columns. 2009-12-19 21:18:57 +00:00
91063382b2 Use DBtree's events in a similar tree, to remove redundant code. Fixes wrong node icons for routines and triggers. 2009-12-19 21:13:56 +00:00
1bca351dd1 Performance: When editing a trigger, fetch its attributes from a SHOW TRIGGERS command rather than by SELECTing information_schema.TRIGGERS which is slow. Related to issue #1529. 2009-12-19 19:15:20 +00:00
6cbb6c6470 Move "Empty table(s)" items in popup menu up, it belongs to "Edit", "Drop" and "Create". 2009-12-19 19:04:18 +00:00
35e8bbb304 Do not fetch database objects from information_schema, which has gotten extremely slow on servers with many databases and triggers, since we support triggers.
* Instead, use separate SHOW commands for tables, functions, procedures and triggers
* Catch this chance to move these methods from main unit to mysql_connection, so they're accessible in a more generic way
* Additionally, introduce new classes TDBObject and TDBObjectList which provide a more generic way than TMySQLQuery to access these database objects.
Fixes issue #1529
2009-12-19 11:40:28 +00:00
dfa981232c Ensure to check/uncheck uninitialized nodes on check-click. Fixes issue #1542. 2009-12-17 23:59:41 +00:00
17e6438a70 Do not auto-size columns in data grid after editing. Not sure why that was done, can be annoying when you manually sized column(s). 2009-12-16 19:54:10 +00:00
a86052a91f Fix wrong data type logic for SET columns. Fixes issue #1538. 2009-12-16 07:10:01 +00:00
8b34098669 Fix a similar problem as in previous commit - db and table nodes were not properly removed on disconnect. Probably fixes issue #1491. 2009-12-16 01:00:12 +00:00
53c69a5f51 Add "cut" + "select all" menu items to query editor context menu. Fixes issue #1537. 2009-12-16 00:37:36 +00:00
e7bfd5d1ee Do not autofit "size" column in db tree while nodes get initialized. Implicitly calls OnGetText before text is available. Instead, resize that column only at OnChange time, without examining all possible widths. Just assume "1,023.0 KB" as the widest possible text. Should optimize performance for browsing in tree, and fixes issue #1503. 2009-12-16 00:30:47 +00:00
7b5e5e410a Add action and menu item for saving current query contents silently, without Save-As-dialog. Fixes issue #1419. 2009-12-15 23:28:20 +00:00
27ebadce95 Work around unassigned menu variable. Fixes issue #1536. 2009-12-15 23:02:46 +00:00
adad668c37 Indicate modified query contents by appending an asterisk to the tabsheet's caption. 2009-12-15 22:51:49 +00:00
59af5bf6ec Catch exception when user lacks privileges for SHOW VIEW or SHOW CREATE TABLE command. 2009-12-15 22:28:23 +00:00
d1cc99e29f Fix staying hourglass mouse cursor when editing a view, routine or trigger. 2009-12-15 22:22:36 +00:00
6f0a1b289b Apply the right datatype index to columns in datagrid. Fixes issue #1534. Obviously broken by r2821. 2009-12-15 20:19:15 +00:00
39a072ebc8 Remove unused variable 2009-12-15 20:03:28 +00:00
ddf6cf908d Show column comments as hints on data grid header. Fixes issue #1535. 2009-12-15 20:02:09 +00:00
d100a9f029 Add <Select All> and <Copy> menu items to SQL code memos. Fixes issue #1530. 2009-12-15 00:37:54 +00:00
03d7052d78 Fix ALTER code for modified index names, and added + deleted indexes. Fixes issue #1533. 2009-12-15 00:25:46 +00:00
0d81ddde51 Invalidate CREATE and ALTER code in table editor one more time. Fixes issue #1532. 2009-12-15 00:07:12 +00:00
dd398bb101 * Factor more code out of each database object editors into parent TDBObjectEditor.
* Use this chance to add a confirmation dialog when leaving the editors, to ask the user if he wants to save modifications. Fixes issue #1524.
* Also, enhance Mainform.RefreshTreeDB in a way that it does not trigger the OnFocusChange event. Important for the editors when saving changes.
2009-12-14 23:55:36 +00:00
cbedf0d163 Fix enabled save button in table editor before anything was changed. 2009-12-13 15:01:22 +00:00
8520f97fff Hack editor class descendants so that Delphi sees them as TFrame subclasses instead of TDBObjectEditor. Works around Delphi bug 73397 - see http://qc.embarcadero.com/wc/qcmain.aspx?d=73397 2009-12-13 14:29:18 +00:00
bd2f901e0b Fix wrong SQL for renaming a database with 0 tables. 2009-12-13 07:49:09 +00:00
8670cdba97 Consistently use "Enter xyz name" as default text for new database objects 2009-12-13 07:44:01 +00:00
3aef5bb5e5 Unify Init() method of database object editors. 2009-12-13 07:32:46 +00:00
2dcf02feb3 Implement a parent class for all database object editors (table, view, routine, trigger) and let these editors derive from this class. Could simplify code in the future. 2009-12-11 18:20:16 +00:00
68a1ae0416 Selecting information_schema.TRIGGERS.DATABASE_COLLATION results in "Unknown column 'DATABASE_COLLATION' in field list" on 5.0.? servers. We don't make use of this column, so select NULL instead. Fixes issue #1526 2009-12-11 17:13:03 +00:00