On 9/8/06, Daniel John Debrunner (JIRA) <[email protected]> wrote:
[ http://issues.apache.org/jira/browse/DERBY-1585?page=comments#action_12433524 ]Daniel John Debrunner commented on DERBY-1585: ---------------------------------------------- Does this mean that there is a bug?
Thanks Dan for looking at this one. I think this could be a bug.
Either: When a procedure is called from a trigger any ResultSet's returned are not explictly closed by the trigger calling mechanism?
We do not explicitly close the result set returned by procedure called from a trigger. The user application cannot access the result set too. So the result set get closed only when it is garbage-collected. This may lead to unpredictable behaviour which was the cause of the intermittent failures. I hadn't thought this was a bug. I thought there is no point for an user application to create a trigger that calls a procedure that returns result sets because the application cannot access the returned result sets. But we do not disallow this. I myself did this (unintentionally) when I first wrote the test and it is possible for users to do it which can lead to unpredictable behaviour.
or procedures that return result sers should not be allowed in triggers. Might need to look at the standard to see what is expected here.
I have not seen anything in the spec which disallows this.
For the first case the question would be should the returned dynamic result sets simply be closed, or should each row be fetched and then closed. The fetching of rows could have functions that produce side effects the application is expecting to occur.
I am thinking what the correct behaviour should be. Any thoughts/pointers would be helpful. Thanks, Deepa
