You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What problem would you like to solve? Please describe:
A lot of rotation code (particularly around editing) depends on a complex set of DB triggers that cause various issues around lock contention, races, etc...
Describe the solution you'd like:
Move the logic out of DB triggers and into the application.
Describe alternatives you've considered:
Continue to use exclusive locks everywhere we touch rotations.
As the current/older application code will still depend on these, we can't remove them completely (yet). Each trigger should be replaced with identical code, but with a short-circuit check of a local variable at the beginning. If the variable is set, the trigger function should return with no action taken. New code can set the local variable to disable the triggers in a tx, without affecting actions from older versions of GoAlert.
The text was updated successfully, but these errors were encountered:
What problem would you like to solve? Please describe:
A lot of rotation code (particularly around editing) depends on a complex set of DB triggers that cause various issues around lock contention, races, etc...
Describe the solution you'd like:
Move the logic out of DB triggers and into the application.
Describe alternatives you've considered:
Continue to use exclusive locks everywhere we touch rotations.
Additional context:
Current list of triggers:
As the current/older application code will still depend on these, we can't remove them completely (yet). Each trigger should be replaced with identical code, but with a short-circuit check of a local variable at the beginning. If the variable is set, the trigger function should return with no action taken. New code can set the local variable to disable the triggers in a tx, without affecting actions from older versions of GoAlert.
The text was updated successfully, but these errors were encountered: