db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2490) Clarify transaction management in LanguageConnectionContext.
Date Wed, 28 Mar 2007 17:50:25 GMT

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

Daniel John Debrunner commented on DERBY-2490:
----------------------------------------------

Thanks Mike, I think this info is essential to add to javadoc for startNestedUserTransaction:

"And Each user transaction can only nest a single readonly transaction and a single separate
read/write transaction. "

apart from that, the rest was clear.

I'll update the comments.

Oh, one more dumb question, does the store enforce the readOnly flag for these nested transactions?
I assume it does, but comments in the langage layer seem to indicate otherwise.

> Clarify transaction management in LanguageConnectionContext.
> ------------------------------------------------------------
>
>                 Key: DERBY-2490
>                 URL: https://issues.apache.org/jira/browse/DERBY-2490
>             Project: Derby
>          Issue Type: Sub-task
>          Components: SQL
>            Reporter: Daniel John Debrunner
>
> LanguageConnectionContext has these four methods (as well as other commit/rollback methods)
to manage transactions and specifically nested transactions.
> void beginNestedTransaction(boolean readOnly) throws StandardException;
> void commitNestedTransaction() throws StandardException;
> TransactionController getTransactionCompile();
> TransactionController getTransactionExecute();
> getTransactionCompile() returns the same as getTransactionExecute() if not in a nested
transaction.
> nested transactions started out as "compile time" transactions  but are now used at runtime,
for example in permission lookup and identity columns(?),
> thus the name getTransactionCompile() can confuse readers.
> A cleaner api might be to just have a single getTransaction() method that returns the
current transaction, which is main transaction (non-nested) except
> between calls to
>    beginNestedTransaction() 
>   commitNestedTransaction()
> I think that is the logic today, one one transaction is active, either the nested one
of the main one.

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