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