You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Emily Gouge (Jira)" <ji...@apache.org> on 2024/09/05 16:29:00 UTC

[jira] [Created] (DERBY-7167) ERROR 54038: Maximum depth of nested triggers was exceeded

Emily Gouge created DERBY-7167:
----------------------------------

             Summary: ERROR 54038: Maximum depth of nested triggers was exceeded
                 Key: DERBY-7167
                 URL: https://issues.apache.org/jira/browse/DERBY-7167
             Project: Derby
          Issue Type: Bug
    Affects Versions: 10.17.1.0
         Environment: Windows 11
Java 21.0.2
            Reporter: Emily Gouge
         Attachments: derby_issue_sql.txt

I have a single table which is referenced by more than 16 other tables. 
These 16+ children tables all have "on delete set null" foreign key 
constraints and update triggers which log changes to a change log table. 
When I try to delete from the root table I am running into a "ERROR 
54038: Maximum depth of nested triggers was exceeded".

 

I've attached a script that reproduces the issue.

 

Response from posting the question on the Mailing List:

[https://lists.apache.org/thread/s4h5lvp9frmt48vwt4fvpn2wgczry3pr]

_At first glance, it does not appear that there is any recursion involved_ 
_here. However, as implemented, preceding triggers are still active when_ 
_later triggers begin executing. This causes the active trigger stack to_ 
_exceed its limited size. I am not an expert in this part of the code and_ 
_I don't know how well Derby's trigger stack models the behavior of the_ 
_SQL Standard's understanding of the trigger stack. Some of these_ 
_complexities are discussed at_ 
_https://issues.apache.org/jira/browse/DERBY-1261_

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)