Ansgar Becker
0bc9030acd
Allow NULL when selecting NULL as default value. See http://www.heidisql.com/forum.php?t=8790
2011-06-27 21:34:53 +00:00
Ansgar Becker
98c872909c
Support virtual columns in MariaDB 5.2. Fixes issue #2451 .
2011-06-10 23:36:38 +00:00
Ansgar Becker
c8cfc39c99
Avoid AVs by referring to DBObject.Connection instead of MainForm.ActiveConnection, which is nil for milliseconds when the tree focused node changes. Fixes issue #2418 .
2011-05-30 17:21:25 +00:00
Ansgar Becker
2e3c71e443
Disable "Remove index" button after click on "clear". See http://www.heidisql.com/forum.php?t=8610
2011-05-29 15:26:58 +00:00
Ansgar Becker
80634bd952
Avoid calling Mainform.ActiveDatabase when we have TDBObject.Connection.Database. Probably fixes issue #2418 .
2011-05-27 17:37:18 +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
478c0306c7
Use modern TaskMessageDlg as a replacement for MessageDlg where appropriate.
2011-05-26 06:08:19 +00:00
Ansgar Becker
592b2d98b0
Disable save button if 0 columns. Fixes issue #2411 .
2011-05-14 13:55:27 +00:00
Ansgar Becker
52c57c84e3
Fix follow up problems introduced in r3795: DROP DEFAULT on renamed column took the old column name, and the old table name is used also when it was renamed. Revert r3795, move DROP DEFAULT clauses before the main ALTER query, and introduce a .OldDataType property on TTableColumn to check if that can have a default value.
2011-04-30 05:07:50 +00:00
Ansgar Becker
90a7cd1941
Drop default value *after* data type was altered, to avoid "can't have a default value". Fixes issue #2361 .
2011-04-23 08:05:14 +00:00
Ansgar Becker
cb0e54068c
Remove redundant functions IsMSSQL and IsMySQL.
2011-04-19 23:07:52 +00:00
Ansgar Becker
14d21a9925
Exclude text and blob columns for ALTER col DROP DEFAULT query. Fixes issue #2361 .
2011-04-17 08:50:31 +00:00
Ansgar Becker
9bb2df8d80
Rename columns occurrences in indexes when user renames a column, so the GUI shows the column still as indexed. Fixes issue #2347 .
2011-04-07 22:21:56 +00:00
Ansgar Becker
bef2d5278d
Support long table comments on newer servers. http://www.heidisql.com/forum.php?t=8105
2011-04-02 06:00:58 +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
06d7a97798
Handle multiple queries in table editor's apply action. This way, special queries for edited foreign keys and dropping defaults are revealed in the "ALTER code" tab. Moved from ApplyModifications.
2011-02-19 08:22:17 +00:00
Ansgar Becker
b50659135c
Again, move code for loading libmysql.dll - the right place is now the connection object itself, which loads the library on demand, in SetActive(). This enables the application to start independently of an existent library, raising an error when pressing the connect button. Also, this is a first step towards multi-dbms.
2011-02-17 00:26:53 +00:00
Ansgar Becker
06ae6b9c8c
Drop default column value if user selects "No default". Fixes issue #2311 .
2011-02-16 19:46:03 +00:00
Ansgar Becker
b0362f3ec0
Only pass ROW_FORMAT clause into CREATE TABLE query if explicitly set.
2011-02-03 22:29:02 +00:00
Ansgar Becker
0ecbae3342
Cell editor is not repositioned when moving field up or down. Force editor to exit in these cases. Fixes issue #2287 .
2011-02-01 21:59:51 +00:00
Ansgar Becker
65148c596d
Redo r3571 - seems that was not the cause of slowness.
2011-01-11 07:01:58 +00:00
Ansgar Becker
d2fdeef0fb
Revert r3571, to test if that caused slowness described in issue #2266 - of which I am unsure.
2011-01-10 22:57:49 +00:00
Ansgar Becker
40791c52a9
Do what's needs to be done to tell a node it has children now.
2011-01-10 20:42:45 +00:00
Ansgar Becker
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
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
32c63790c3
Increase minimum width of icon column so upper numbers are not cut away.
2010-10-26 18:34:08 +00:00
Ansgar Becker
e2cc3482c0
Paint one icon per index in a column editor row, not only for the first key. Fixes issue #2211 .
2010-10-25 23:29:17 +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
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
a13493959e
Refresh column names in helper tree after altering a table. Fixes issue #2141 .
2010-09-05 22:23:52 +00:00
Ansgar Becker
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
Ansgar Becker
d15f4ca1a2
Reinitialize child node count in indexes tree after deleting one index. Fixes issue #2129 .
2010-08-23 20:19:59 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
84c638f0de
Prefer VCL function StripHotkey() over StringReplace
2010-05-30 23:19:23 +00:00
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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