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
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
a13493959e
Refresh column names in helper tree after altering a table. Fixes issue #2141 .
2010-09-05 22:23:52 +00:00
961f7f0f3f
Implement copy + paste menu items for duplicating columns across tables via SQL code. Fixes issue #1848 .
2010-08-24 20:33:01 +00:00
d15f4ca1a2
Reinitialize child node count in indexes tree after deleting one index. Fixes issue #2129 .
2010-08-23 20:19:59 +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
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
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
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
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
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
3c4beba2dd
Set and fetch default height of PageControl via constant rather than from the control itself, as that may not be created that early. A minimal chance that this fixes issue #1995 .
2010-06-11 16:56:12 +00:00
84c638f0de
Prefer VCL function StripHotkey() over StringReplace
2010-05-30 23:19:23 +00:00
1838a0eaa7
Use original name of a foreign key in DROP FOREIGN KEY query when renaming. Fixes issue #1930 .
2010-05-10 18:51:10 +00:00
2d8633ffcf
Enhance auto generation of foreign key names, after user selected the same reference table as in another key, a counter is appended (FK_tbl_rfr_2, FK_tbl_rfr_3, ...). Fixes issue #1894 .
2010-05-09 10:04:42 +00:00
7ce555ff1a
Straighten sort logic in lists and db tree:
...
* Let both header clicks and TDBObjectComparer consistently use the same compare callback function CompareAnyNode()
* When refreshing a list, VT.SortTree sorts nodes if toAutoSort is set. Then, selected nodes are mostly different ones than before refreshing. Also, what GetVTCaptions did was only looking after the first column caption which can exist besides duplicates. So, for now, do not restore selected nodes after refreshing a list, which is now more standard behavior.
Fixes issue #1911 .
2010-05-06 22:46:35 +00:00
05b07eb8f2
Implement editing capabilities into TMySQLQuery, and make query results editable by using all the same events as in DataGrid. Most probably some bugs to fix now.
...
* Fixes issue #723
* Fixes issue #873
2010-05-05 21:39:15 +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
604672f3d8
Attempt to slightly simplify logic for refreshing database tree node after adding/renaming a db object.
2010-04-18 23:15:20 +00:00
09e4fda755
Quote any COLLATE clause in CREATE + ALTER TABLE statement. Fixes issue #1852 .
2010-04-13 06:29:28 +00:00
5f9129bef2
Implement event editor for MySQL 5.1+ servers. Also, simplify some code around database objects and their editors. Fixes issue #1527
2010-04-08 23:16:40 +00:00
45ba97b13f
Add button and global action for executing selected functions and/or procedures by click. Fixes issue #1818 . This requires some parsing code to be moved to helpers unit so it's also available in ListTables' context menu. Also, to avoid new AVs, any db object editor now focuses the edited object in the tree, which is important for creating new ones which were neither existant nor focused.
2010-04-04 22:33:12 +00:00
638ac7689d
Reset old name of column when user clicks "Save". Also, update ALTER and CREATE code at that time. Fixes issue #1810 .
2010-03-27 13:54:34 +00:00
1ef9ebf07b
Fix wrong ALTER code when changing a column name more than one time. Fixes issue #1792 .
2010-03-24 17:18:48 +00:00
f411f36f32
Force repainting columns list after modifying some index. Ensures key icons on column nodes are displayed immediately.
2010-03-16 18:20:38 +00:00
fc31018600
Display key icons in data grid column headers
2010-03-14 12:22:05 +00:00
d35815de77
Code cosmetic: rename showstatus to ShowStatusMsg
2010-03-08 23:21:34 +00:00
bc487d089c
Avoid AVs when index lists are in editing mode and user clicks "Remove" or "Clear" button. Fixes issue #1733 .
2010-03-02 23:23:02 +00:00
243b9bbe17
Item caption for "Add to index" > [Primary Key] should always be "PRIMARY", not a custom name. Fixes issue #1726 .
2010-02-26 22:58:10 +00:00
14e03d9647
Also don't quote default values of a float type column, same as for integers.
2010-02-17 00:23:38 +00:00
e045cb3d76
Delphi 2010 has PNG + alpha channel support in TImageList, so we don't need PNGcomponents any longer.
2010-02-08 00:36:17 +00:00
17c27c8b58
Add pink icon for foreign key columns. Fixes issue #1669 .
2010-02-07 12:31:09 +00:00
9192543d8c
Auto create pretty foreign key name "FK_thistable_reftable" if it was not customized yet. Fixes issue #1671 .
2010-02-07 12:14:22 +00:00
3195b25e8f
Only display tables in reference table pulldown of foreign key editor. Stored procedures or triggers cannot be applied here. Fixes issue #1668 .
2010-02-07 11:37:01 +00:00
64d3d1447e
Foreign key editor needs to be repainted when selecting another table. Fixes issue #1667 .
2010-02-07 10:45:43 +00:00
fc6d4c2a48
Try to fix most DPI related glitches. Especially TFrames need a ScaleBy() call, which is done automatically on TForms. Fixes issue #1656 .
2010-02-04 23:50:47 +00:00
91d53bbbcc
Replace default value in object editors by ghosted hint text
2010-02-03 22:18:28 +00:00
81a7596bc1
When foreign key tab is active with a MyISAM table, switching to a InnoDB table did not activate the controls. Fixes issue #1642 .
2010-02-02 00:15:04 +00:00
97ce23ee1f
Add support for indexes using BTREE/RTREE/HASH algorithm. Make that visible in a new, 3rd column in the index tree. Fixes issue #1576 .
2010-01-22 10:21:27 +00:00
a0a1ed24c2
If the first column with the number of the column has too less width, sometimes it's not clear that the user can resize it to show its whole text. This change adds an auto-resize mechanism, which is fired after any node structure was changed. Fixes issue #1609 .
2010-01-18 08:22:18 +00:00
1f39e59940
Disable non working column default values for given data type. Fixes issue #1519 .
2010-01-17 16:12:35 +00:00
c85ed71ba0
If user disables "Allow NULL" for some column which has NULL as default value, silently change that default value to "No default", instead of "Custom text". Additionally, this fixes the default text "NULL" as literal in such cases.
2010-01-17 15:23:11 +00:00
8ba9fb7b77
Allow space bar to modify checkbox columns "Allow NULL" and "Unsigned". Fixes issue #1605
2010-01-17 10:20:08 +00:00
5c29403c7b
Auto-fix user selected, non working default value/type when data type has changed. Fixes issue #1411 .
2010-01-17 07:43:14 +00:00
9080ad7607
No need to use the Wide* version of string functions any longer.
2010-01-15 20:28:48 +00:00
d70ea85786
Ask user if in-memory modifications to table, view, trigger or routine should get saved, this time including a Cancel button, which cancels either
...
* focusing a different object in database tree and/or
* closing application
TODO: Internal switching to different connection probably needs that too?
2010-01-15 17:13:24 +00:00