I am trying to port all of the plugins I maintain to trac 12 (Timing and Estimation and Estimator primarily).
The issue I am having is this: When I was managing transactions myself a single sql statement throwing an exception was not an issue. As such I could take certain actions that were valid for a specific backend and invalid for other backends, and by handling this error, the upgrade process would still go through. An example: updating the sequences in postgresql to contain the new correct value (after manually inserting rows with new ids). This is not necessary and invalid in sqllite but seemed necessary in Postgresql, so that there would not be duplicate ids. Another example is checking for table existence. Given there is not cross platform way to do this, the easiest I had been able to come up with was to select a row from it, and if that succeeds the table exists, otherwise it is false. Is there anyway to get a second, out of transaction connection (yes I know all the inherent dangers of this)? Are there better backend methods to be using? Is there a way to not have a single exception on a connection invalidate the entire transaction? Do I just need to write special cased update code based on the database backend type I am connecting to? Thanks for the advice, Russ -- You received this message because you are subscribed to the Google Groups "Trac Users" 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-users?hl=en.
