You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kim Haase (JIRA)" <ji...@apache.org> on 2008/05/23 20:57:56 UTC

[jira] Updated: (DERBY-3579) The Developer's Guide incorrectly describes the behavior of transactions inside procedures and functions

     [ https://issues.apache.org/jira/browse/DERBY-3579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim Haase updated DERBY-3579:
-----------------------------

    Attachment: DERBY-3579.zip
                DERBY-3579.diff

I'm attaching DERBY-3579.diff and DERBY-3579.zip as a start on this fix. I believe more is needed.

In "Invoking a procedure using the CALL command" (cdevspecial847513.dita) I removed the false statement "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."

In "Requirements for database-side JDBC procedures using nested connections" (cdevspecial28907.dita) I made the changes Dan suggested in the Nabble thread -- changing the intro text to say "routine" instead of "procedure", and editing the first two bullet items. I believe the other bullet items that mention procedures do in fact apply to procedures and not functions, so I left them as is. (I also corrected a minor formatting glitch.) 

I didn't change the title of the second topic to say "routines" rather than "procedures", though. I think that is the next step, but it requires changing the titles and modifying the language, where appropriate, for most of the topics in this section: 

Programming database-side JDBC procedures
  Database-side JDBC procedures and nested connections
    Requirements for database-side JDBC procedures using nested connections
  Database-side JDBC procedures using non-nested connections
  Database-side JDBC procedures and SQLExceptions

Of course the title "Invoking a procedure using the CALL command" really does apply only to procedures and shouldn't be changed.

I would appreciate knowing if this seems the right thing to do before I start making all these additional changes. Thanks very much.


> 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.