Details
Description
The batch of DDL run by the procedure which registers database metadata functions now dies with the following error:
ERROR 40XC0: Dead statement. This may be caused by catching a transaction severity error inside this statement.
A process of binary search shows that this problem was introduced by revision 1086920 as part of the work on DERBY-5161.
The bug can be reproduced by compiling the DBMDWrapper class attached to DERBY-3973 and then running the following script:
connect 'jdbc:derby:memory:db;create=true';
create procedure registerPublicStaticMethods( in connectionURL varchar( 200 ), in printSQL boolean )
language java parameter style java modifies sql data
external name 'DBMDWrapper.registerPublicStaticMethods';
call registerPublicStaticMethods( 'jdbc:default:connection', false );
If you change the second argument to registerPublicStaticMethods to true, then you will see all of the DDL being issued by the database procedure. The procedure runs fine in 10.7 but fails with this error in 10.8.
Attachments
Attachments
Issue Links
- is related to
-
DERBY-5161 Cannot rollback after syntax error in internal statement
- Closed