Hi All,

in respect to the new JPA and container managed transactions, I wonder,
if we could revamp trac so that the user would not have to worry about

  a) closing cursors
  b) committing or rolling back

I reckon that a fail on commit would require the user to implement some
fallback code, basically displaying an error message to the user.

And, if it all boils down to this, then why not have trac handle the
transaction stuff by itself?

That way, and also in respect to the single issue still being open,
preventing 0.12 from being released, I would postpone the issue to a minor
future release, that then will introduce said container managed
transactions.

The container provided transaction manager would be required to record
all active cursors, that have not been closed, and also all active
transactions not manually committed by the user.

Upon post_process_request then, if it were to be implemented as a
IRequestHandler, the transaction manager would begin collecting all
unclosed cursors and running transactions, try committing and, in case of
error, rolling back. It could then, also redirect to a common error page,
or a custom page that was defined for/by the currently serviced realm.

This however, would required the transaction manager to be run last in the
chain of available request handlers.

The with_transaction decorator could then be redefined so that it will
record the ongoing transactions with the transaction manager.
In addition, it should be made mandatory for plugin authors to be used
when accessing the database.

How about it?

Regards

Carsten

--

Carsten Klein
Mobil +491 577 666 256 5
[email protected]

axn software UG (haftungsbeschränkt)
Wipperfürther Str. 278, 51515 Kürten

Geschäftsführung Carsten Klein
HRB 66732, Gerichtsstand Amtsgericht Bergisch Gladbach
Steuernr. 204/5740/0835, USt-IdNr. DE 266 540 939

Telefon +492 268 801 285, Telefax +492 268 801 285
www.axn-software.de, [email protected]


-- 
You received this message because you are subscribed to the Google Groups "Trac 
Development" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/trac-dev?hl=en.

Reply via email to