db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel John Debrunner <...@debrunners.com>
Subject Re: Trigger Bug Fix
Date Thu, 26 Aug 2004 22:27:45 GMT
-----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-----


Mime
View raw message