Commit Graph

303 Commits

Author SHA1 Message Date
Ansgar Becker
142e26ec22 Issue #1503: move SaveListSetup and RestoreListSetup to extra_controls unit, and handle column widths DPI independently 2021-12-26 13:58:25 +01:00
Ansgar Becker
9baeb9f018 Outsource large list of MySQL functions into separate .ini files, one per server type. Todo: definitions for SQLite and Interbase. 2021-10-11 21:32:55 +02:00
Ansgar Becker
a469d89227 Issue #1169: give items in TDBDatatypeIndex a different prefix (dt => dbdt), to fix a conflict with those from Delphi's database components 2021-06-26 17:44:50 +02:00
Ansgar Becker
dd38ba4f6f Code cosmetic: rename implodestr() to Implode() 2021-06-03 08:32:06 +02:00
Ansgar Becker
07e1786d46 * fix wrong substring offset in TForeignKey.SQLCode
* fix TForeignKey.ReferenceTableObj with dots in database name
* use the fixed TForeignKey.ReferenceTableObj instead of .ReferenceTable in two places
Closes #1364
2021-05-23 09:25:08 +02:00
Ansgar Becker
5204ac54fa Set explicit default value "NO ACTION" for ON UPDATE/DELETE clauses when creating a foreign key. Closes #1320 2021-02-27 11:08:57 +01:00
Ansgar Becker
1a7cc67e37 Simplify more code using the new PopupComponent() function 2021-01-16 18:36:01 +01:00
Ansgar Becker
e7baba4776 Issue #75: pimp up context menu for indexes tab, and assign to foreign keys tab and check constraints tab as well 2021-01-16 17:19:35 +01:00
Ansgar Becker
461c7343f8 Issue #75: get "Add constraint" and "Delete constraint" buttons working, provide function list when editing check clause, and fix some more issues 2021-01-16 16:29:44 +01:00
Ansgar Becker
958d62c9b1 Issue #75: create editable list for check constraints in table editor 2021-01-12 21:41:20 +01:00
Ansgar Becker
6fd54fb9d4 Display number of indexes and foreign keys in caption of their tabs within the table editor. Helpful for knowing the number without having to activate their tab. 2021-01-04 16:44:50 +01:00
Ansgar Becker
34db4c7abd Rename TTableColumn.Expression field to the more unique and clear .GenerationExpression, also for distinction from the upcoming CHECK expression. 2021-01-03 15:05:23 +01:00
Ansgar Becker
ea944b85fe Fix scope for FStatus symbol of TTableColumn 2021-01-03 14:57:08 +01:00
Ansgar Becker
5e675a51d8 Code cleanup: move some node index constants to TQueryTab, and probably prevent AV in treeQueryHelpersInitChildren 2020-12-16 18:15:52 +01:00
Ansgar Becker
3e7ed86f9b Remove default text from column when changing data type to one that does not support a default text. See https://www.heidisql.com/forum.php?t=37142 2020-11-01 11:40:41 +01:00
Ansgar Becker
1585e0dfa3 Allow free typing in collation drop-down for collations in a column. Set to empty string if user typed a non existent item. See https://www.heidisql.com/forum.php?t=37117 2020-10-29 21:12:25 +01:00
Ansgar Becker
d970b2e809 Sort collations alphabetically, in drop-down of column editor in table designer. Closes #828 2020-10-22 12:06:48 +02:00
Ansgar Becker
c113ff6ec7 Use ValidateNode to initialize all column nodes early, so they keep their FColumn data after click on Remove button. Closes #245 2020-06-25 23:22:35 +02:00
Ansgar Becker
3eb3480e1c Get rid of global esc() function (which always refers to MainForm.ActiveConnection) and prefer the method's or unit's connection object instead 2020-05-10 13:41:15 +02:00
Ansgar Becker
7c15ede023 Fix crash by click on "Add column" in table editor, when columns list has a minimum height. See https://www.heidisql.com/forum.php?t=35766 2020-03-09 21:05:40 +01:00
Ansgar Becker
f6c7c0a6af Support dropping schema on PostgreSQL. Closes #76 2020-03-03 17:36:55 +01:00
Ansgar Becker
05d02627f3 Make TConnectionParameters.IsMySQL specific to MySQL only, and rename the grouped type checks to IsAnyMySQL, IsAnyMSSQL etc. This way the status bar now shows "MySQL", not "MySQL or MariaDB" 2020-02-22 09:06:37 +01:00
Ansgar Becker
40908f1bef Issue #885: Move types of table keys from global scope constants to class constants in TTableKey definition, to make them stable against mix-ups 2020-02-15 12:51:08 +01:00
Ansgar Becker
ad024cb74b Reference table of a foreign key is prefixed with its database, which causes the table editor to display no columns in the dropdown editor. Fix that by outsourcing some logic from main unit into TForeignKey.ReferenceTableObj. Closes #158 2020-02-11 16:56:41 +01:00
Ansgar Becker
56e541a478 Introduce read-only mode for grid editors. Closes #631 2020-02-06 12:29:35 +01:00
Ansgar Becker
7ab47a3143 Detect foreign keys in MS SQL, and provide foreign values drop down in data grid. Closes #150 2020-01-26 22:23:12 +01:00
Ansgar Becker
3697a5b655 Issue #12: fix empty "ALTER code" tab on table editor for SQLite 2020-01-22 15:20:21 +01:00
Ansgar Becker
8517ff2ec7 Finally, remove ParseTableStructure method, and use a text format of TTableColumn in the remaining caller "Paste columns" 2020-01-19 13:25:49 +01:00
Ansgar Becker
1c39075d7c Issue #852: Implement Assign method on TTableColumnList and friends, TDBObject.LoadDetails and .UnloadDetails, and cross fingers that assigning details to Mainform.FActiveDbObj reduces the number of internal queries 2020-01-16 07:40:30 +01:00
Ansgar Becker
058143e6af Issue #852: Return copy of once queried columns, keys and foreign keys object lists in TDBObject, instead of re-querying from database each time. 2020-01-15 21:17:51 +01:00
Ansgar Becker
b45a0d57c7 Issue #12: Implement TDBConnection.GetTableColumns and .GetTableKeys (todo: .GetTableForeignKeys), as a replacement for the error prone ParseTableStructure. SQLite columns and keys should be parsed correctly now, MS SQL and PostgreSQL may now have some glitches to fix. 2020-01-08 15:28:36 +01:00
Ansgar Becker
ef50035e33 Table editor: support moving down or up more than one column. See https://www.heidisql.com/forum.php?t=17765 2019-12-10 21:08:18 +01:00
Ansgar Becker
f37cfbddce Support modifying columns per table designer in PostgreSQL mode, including rename. Closes #595 2019-11-24 15:47:53 +01:00
Ansgar Becker
219b417910 After pressing save button on table editor, use the fresh DBObject from SHOW TABLE STATUS row, not the old one. This fresh one also has the new table comment. Closes #683 2019-10-27 11:46:51 +01:00
Ansgar Becker
b2a3551704 Replace remaining SHOW VARIABLES queries with GetSessionVariable 2019-07-29 12:41:55 +02:00
Ansgar Becker
53b8f544c2 Remove useless DPI helper panel from tabs in routine editor, table editor and table tools dialog 2019-07-25 07:44:04 +02:00
Ansgar Becker
71d9ef9011 Same as for TExtForm: translate in TDBObjectEditor.OnCreate, not in all derived editor classed 2019-07-22 07:28:07 +02:00
Ansgar Becker
c31cae2060 Giving up on high DPI readiness - remove tweaks which mostly don't work as expected, and even differently on various computers. Instead, let Windows blur fonts. 2019-07-18 20:53:53 +02:00
Ansgar Becker
2ebbdc6ba3 Issue #718: Fonts may still be too large because the monitor on which a form is created has DPI > 100%. Calculate DpiScaleFactor based on that first monitor. See https://www.heidisql.com/forum.php?t=34230 2019-07-18 19:08:32 +02:00
Ansgar Becker
2a91a13b42 Issue #677:
* drop workaround for application crash on WinXP, when loading newer libmariadb (see #79)
* raise TDbLib's own exception instead of baking an own one with less details. Probably helps in debugging: https://www.heidisql.com/forum.php?t=34044
* rename EDatabaseError to EDbError, to overcome naming conflict in DB unit
* load libpq.dll always with path, which should anyway work better than without it. See http://www.heidisql.com/forum.php?t=22514
2019-07-08 20:23:05 +02:00
Ansgar Becker
1d6a415f5f Refactor: rename mysql_structures unit neutrally to dbstructures 2019-06-22 14:26:41 +02:00
Ansgar Becker
6641b82a43 Issue #578: prefer Invalidate over Repaint, as the lists may not be displayed at all and may crash when forcing a repaint 2019-06-11 07:16:45 +02:00
Ansgar Becker
f349ed9583 Table editor: root nodes in indexes and foreign key list are defined in BeforePaint event, so repaint these explicitly when table properties have been read. Closes #578. 2019-06-11 07:11:11 +02:00
Ansgar Becker
ad0975eab8 Fix wrong position of dropped column on index tab. Closes #385. 2019-06-08 08:48:14 +02:00
Ansgar Becker
59ea094c25 Remove incomplete detection of foreign key support in table engine. Closes #375 2019-05-28 21:13:04 +02:00
Ansgar Becker
8073fc6114 Fix broken drop target index for a dragged column in the index tree. Now taking into account whether the dropped column comes from above or from below. Closes #385 2019-05-20 10:14:26 +02:00
Ansgar Becker
ce29d1b39b Fix crash when drag'n dropping indexed column in table designer. Closes #385 2019-05-19 12:26:01 +02:00
Ansgar Becker
9fc7150a9f Issue #74: attempt to support all kinds of expressions in column DEFAULT + ON UPDATE clauses 2019-04-21 15:40:18 +02:00
Ansgar Becker
6107bc973c Fix still disabled union text input on table designer, when engine MRG_MyISAM is selected 2019-03-14 07:50:32 +01:00
Ansgar Becker
7ae15992f9 Issue #196: Prefer to take comment from SHOW TABLE STATUS result, to support single quotes without including some "compression" option on TokuDB 2019-03-10 08:08:51 +01:00