db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3579) The Developer's Guide incorrectly describes the behavior of transactions inside procedures and functions
Date Thu, 12 Jun 2008 20:08:45 GMT

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

Rick Hillegas commented on DERBY-3579:
--------------------------------------

Hi Kim,

Thanks for the patch. It looks good. However, I think that there is still a statement in cdevspecial847513
which could be misleading:

"Note: You cannot roll back this statement, because commits occur within the procedure itself."

This suggests to me that a procedure always either commits or rolls back its work. This is
not the case. It all depends on how the procedure is coded. If the procedure does not explicitly
call commit() or rollback() and no errors occur while the procedure executes, then the calling
code can roll back the work done by the procedure.

> The Developer's Guide incorrectly describes the behavior of transactions inside procedures
and functions
> --------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3579
>                 URL: https://issues.apache.org/jira/browse/DERBY-3579
>             Project: Derby
>          Issue Type: Bug
>          Components: Documentation
>    Affects Versions: 10.3.2.1
>            Reporter: Rick Hillegas
>            Assignee: Kim Haase
>         Attachments: DERBY-3579.diff, DERBY-3579.zip, z.java
>
>
> The "Programming database-side JDBC procedures" section of the Developer's Guide misleads
users about how transactions can be managed inside database procedures. For instance, the
section titled "Invoking a procedure using the CALL command" says the following: "Procedures
that use nested connections, on the other hand, are not permitted to commit or roll back and
can therefore be rolled back after the calling statement." This is not true. User-coded procedures
can issue both commit() and rollback() on the nested connection bound to the "jdbc:default:connection"
URL and those methods have the desired behavior. The whole "Programming database-side JDBC
procedures" section could use an overhaul since it appears to make other misleading statements
about the behavior of transactions inside routines. Thanks to Dag for pointing out the following
email thread: http://www.nabble.com/Transaction-Problems-of-a-Derby-Stored-Procedure-td15494178.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message