db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5280) Large batch of DDL in a database procedure dies on a transaction severity error.
Date Thu, 16 Jun 2011 14:53:47 GMT

    [ https://issues.apache.org/jira/browse/DERBY-5280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13050469#comment-13050469
] 

Knut Anders Hatlen commented on DERBY-5280:
-------------------------------------------

If we don't find a better solution, it would probably not do much harm to back out the fix
for DERBY-5161. The problem it's supposed to fix shouldn't happen after DERBY-5157.

The stored procedure that gets called in the repro ignores many SQLExceptions that happen
during normal operation (typically DROP FUNCTION statements that fail because the function
doesn't exist). It looks like the extra cleanup on error that was added in DERBY-5161 somehow
kills the parent statement and not only the statement running inside the stored procedure.

> Large batch of DDL in a database procedure dies on a transaction severity error.
> --------------------------------------------------------------------------------
>
>                 Key: DERBY-5280
>                 URL: https://issues.apache.org/jira/browse/DERBY-5280
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.8.1.2, 10.9.0.0
>            Reporter: Rick Hillegas
>
> 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.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message