Commit Graph

318 Commits

Author SHA1 Message Date
Ansgar Becker
7d9f59381f Support serial columns in Posgres, which is different from auto_increment on MySQL. Affects grid editing and table designer. Closes #279 2023-05-13 10:03:07 +02:00
Ansgar Becker
82b1a0fe8f Support ON UPDATE SET DEFAULT and the same for ON DELETE in PostgreSQL foreign keys. See https://www.heidisql.com/forum.php?t=40413 2023-03-06 20:12:13 +01:00
Ansgar Becker
0d9de512cd Remove unit scopes from project settings, prefer fully qualified unit names in uses clauses. Enhance readability and compiler performance. 2022-12-26 17:59:19 +01:00
Ansgar Becker
c7dc63706d Support comments on table indexes via table designer. Closes #128 2022-07-18 17:02:36 +02:00
Ansgar Becker
965e88b579 Delphi 11.1: fix VirtualTree package files, fix missing uses clauses, and some newly required type casts 2022-06-18 18:08:00 +02:00
Ansgar Becker
c4085bed4e Refactor: move structures for specific network types out of dbstructures, into their own dbstructures.xxx.pas, and include const.inc in project sources 2022-04-23 11:38:26 +02:00
Ansgar Becker
63a229e35a Issue #1256: restrict altering existing SQLite tables, apart from a few things 2022-04-22 13:08:34 +02:00
Ansgar Becker
e27d9c1b96 Refactor: create and use self explanatory TDBObjectEditor.ObjectExists method 2022-04-22 12:42:37 +02:00
Ansgar Becker
3d55507881 Table editor: force repaint of column list after click on "delete column", which otherwise still displays the deleted columns until the user hovers over it 2022-04-22 12:20:28 +02:00
Ansgar Becker
e48fcf2d0c Issue #945: give id column in table editor slightly more width to let the text fit in 2022-04-22 10:10:11 +02:00
Ansgar Becker
0c3b6f9deb Issue #1256: create spRenameColumn template and prefer that in SQLite and Postgres 2022-04-22 09:09:44 +02:00
Ansgar Becker
1e78543931 Issue #1521: get back partition clause into table editor by fixing the detection for CREATE code without a closing comment at the end 2022-04-22 09:07:09 +02:00
Ansgar Becker
f48f8445ca Limit icons on column in table editor to show only one per key type. Closes #945 2022-04-21 17:54:02 +02:00
Ansgar Becker
89f034cc8e Support renaming columns in SQLite, and generate separate ALTER TABLE queries for each change. Closes #1256 2022-04-21 09:20:33 +02:00
Ansgar Becker
e505b54bdd Issue #1503: fix unsaved setup of columns in lists on object editors (table + routine editors effectively are the only ones with lists) 2022-02-21 17:35:25 +01:00
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