Ansgar Becker
b78b4feb8e
feat: recreate previous state of trigger after realizing the user edited code has errors
...
Refs #2348 and #1788
2026-02-10 16:37:25 +01:00
Alexander Glück
e7571e3b86
fix: prevent triggers without quoted trigger name or table name from failing to be parsed
2025-12-23 12:55:10 +01:00
Ansgar Becker
be7e4daedd
Issue #2254 : fix parsing existing trigger definition on SQLite, keeping compatibility to MariaDB and MySQL
2025-10-05 12:06:46 +02:00
Ansgar Becker
f9297d4c7d
Use the same hotkey (Ctrl+S) for saving a table/trigger/... as for saving a query file. Closes #1619
2023-11-03 12:43:07 +01:00
Ansgar Becker
d28d03b6dd
Highlight active tab of most page controls, by adding greyscale icons to image list and using these for all inactive tabs. See https://www.heidisql.com/forum.php?t=41323
2023-10-03 13:34:28 +02:00
Ansgar Becker
f2cc5124d3
Restore previous scroll position after saving routine, trigger, event or view. See https://www.heidisql.com/forum.php?t=40291
2023-01-26 09:57:42 +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
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
e27d9c1b96
Refactor: create and use self explanatory TDBObjectEditor.ObjectExists method
2022-04-22 12:42:37 +02:00
Ansgar Becker
2036f15263
Issue #1503 : Fix too small font and height of items in completion proposal dialog. See https://www.heidisql.com/forum.php?t=38782
2022-02-04 19:58:49 +01:00
Ansgar Becker
82488373b0
Fix non working inheritance of font for completion proposal in trigger editor
2020-12-28 17:33:38 +01:00
Ansgar Becker
54166561d8
Apply data type colors to column names in completion proposal, and move formatting code to new apphelpers.SynCompletionProposalPrettyText()
2020-12-28 13:18:26 +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
db9e76bd78
Move code from TDBObjectEditor.GetDefiners to new TDBConnection.AllUserHostCombinations
2019-07-22 07:44:19 +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
7093bf2322
Fix wrong width/height of trigger body editor in high-dpi mode. Closes #420
2018-12-24 14:14:35 +01:00
Ansgar Becker
2a10422373
Issue #8 : provide two color presets for SQL editors in preferences dialog per dropdown, one for dark themes and one for light ones
2018-11-05 20:53:43 +01:00
Ansgar Becker
8202e76b92
Distinguish between multiple stored procedures with different argument list, on PostgreSQL. Closes #58 .
2018-04-09 22:17:04 +02:00
Ansgar Becker
5a8a4af29a
Rename helpers unit to apphelpers, to overcome a naming conflict with the FireMonkey unit FMX.Canvas.GPU.Helpers. Closes #102 .
2018-01-22 19:48:17 +01:00
Ansgar Becker
e6e9560cf8
Open new help page on "Help" buttons of the various object editors.
2014-11-09 12:00:41 +00:00
Ansgar Becker
92543c3098
Keep compatibility with older MySQL servers when getting a trigger's CREATE CODE. See here: http://www.heidisql.com/forum.php?t=16662
2014-10-19 10:07:20 +00:00
Ansgar Becker
a36c92d2f2
Get trigger code from SHOW CREATE TRIGGER instead of using SHOW TRIGGERS, to fix a single quote escaping bug. See http://www.heidisql.com/forum.php?t=16501
2014-10-03 12:22:38 +00:00
Ansgar Becker
fd63e5e840
Roll back parts of r4681 for getting the selected table into the trigger name, as this broke keeping the data tab active when switching tables. See http://www.heidisql.com/forum.php?t=14399 . Instead, introduce and make use of MainForm.FocusedTables. Fixes issue #3477 .
2013-12-26 05:38:27 +00:00
Ansgar Becker
1d39a95bfc
Auto generate trigger name as long as it was not user-edited. Fixes issue #3477 .
2013-12-21 08:49:48 +00:00
Ansgar Becker
2269d67fbb
Prefill table combobox in trigger editor with currently selected table name. See issue #3477 .
2013-12-20 05:36:37 +00:00
Ansgar Becker
ef761a897f
Append parameter names for procedures and functions in completion proposal
2013-11-20 05:14:34 +00:00
Ansgar Becker
17e4db7829
* Automatic additions by new SynEdit properties.
...
* Overtake renamed SynEdit properties
2013-10-16 18:24:01 +00:00
Ansgar Becker
51c27f7a27
* Silence various compiler warnings about non initialized variables.
...
* Globally turn off platform warnings
2013-07-16 04:45:28 +00:00
Ansgar Becker
9a7a66d13c
Add page control to trigger editor, and show CREATE code of triggers in separate tab. Fixes issue #3240 .
2013-07-07 06:35:30 +00:00
Ansgar Becker
f96288fce9
Translate string variables and literals in .pas files. TODO: translate constants.
2012-11-26 05:44:01 +00:00
Ansgar Becker
ca1d94c87b
Issue #557 : Include gnugettext.pas from https://dxgettext.svn.sourceforge.net/svnroot/dxgettext/trunk/dxgettext/sample/ . And add basic code to all FormCreate events to translate their components in the future.
2012-11-10 14:28:44 +00:00
Ansgar Becker
5e8bf8306a
Remove unused unit inclusions, detected by CNPack/Uses cleaner
2012-05-01 08:34:12 +00:00
Ansgar Becker
bd8cc387ca
Add context menu with copy, cut, paste and select all items to all db object editors which have a TSynMemo. Fixes issue #2765 .
2012-03-24 22:20:09 +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
b4a5a91572
Definer column not available in 5.0.16 and earlier. Fixes issue #2394 .
2011-04-28 18:09:33 +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
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
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
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
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
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
Ansgar Becker
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
Ansgar Becker
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
Ansgar Becker
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