-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Jack Klebanoff wrote:
| I would like to submit a fix for a bug in triggers.
|
| The bug is that a trigger of the form:
| create trigger ... values myFunction();
| has no effect. MyFunction is not called even if the trigger is fired.
| Side effects of myFunction do not happen. Derby does not allow a "CALL"
| statement inside a trigger action so a values statement is the only way
| to call a function/procedure in a trigger action.
|
| The cause of the bug is that since the values are not actually used by
| the trigger, the trigger code does not fetch the row(s) returned by the
| trigger action. The fix is simple: change class
| org.apache.derby.impl.sql.execute.GenericTriggerExecutor to fetch (and
| discard) the rows returned by a trigger action.
|
| Please review the change. The diff file is attached.
I think you need to close the ResultSet (rs). Other locations in the
code where a ResultSet is processed terminate with an rs.close(). Eg.
see DeleteCascadeResultSet, ConstraintConstantAction.
Dan.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFBLmPOIv0S4qsbfuQRAhEkAKC2yVq7Xpudm1B70axhgDkGDa8kIACeLCCi
jMHNZz2txjVdprSTfcO6tPA=
=Dprm
-----END PGP SIGNATURE-----
|