New setting UpdateOverwriteMode : defines how UPDATE should handle the case when a record was updated by trigger.#8957
Open
hvlad wants to merge 1 commit intov5.0-releasefrom
Open
New setting UpdateOverwriteMode : defines how UPDATE should handle the case when a record was updated by trigger.#8957hvlad wants to merge 1 commit intov5.0-releasefrom
hvlad wants to merge 1 commit intov5.0-releasefrom
Conversation
…e case when a record was updated by trigger.
Member
|
On 3/26/26 12:04, Vlad Khorsun wrote:
After #8538 <#8538>
there was long private discussion with customer (big sponsor of Firebird).
The root of the issue is the way Firebird implements per-row triggers
- it is far from SQL standard in regards of consistency.
There is well-known historical reasons for it and I don't want to
repeat it here.
By my opinion, the best way to fix the issue would be to re-implement
per-row triggers according to SQL standard - to fire before and after
whole statement procesing. But this is not quick nor easy task.
Finally this patch was implemented and customer uses it to prepare own
migration to v5.
Vlad, am I missing something or this patch works only with system
triggers that implement cascade FK?
|
Member
Author
The routine, I modified in the patch, was initially used to workaroud issue with self-referenced FK's |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After #8538 there was long private discussion with customer (big sponsor of Firebird).
The root of the issue is the way Firebird implements per-row triggers - it is far from SQL standard in regards of consistency.
There is well-known historical reasons for it and I don't want to repeat it here.
By my opinion, the best way to fix the issue would be to re-implement per-row triggers according to SQL standard - to fire before and after whole statement processing. But this is not quick nor easy task.
Finally this patch was implemented and customer uses it to prepare own migration to v5.
Now it is time to decide if it could be accepted into codebase.