On Thursday, April 26, 2012 7:20:49 AM UTC-7, Rodrigo Rosenfeld Rosas wrote:
>
> I've just remembered another use case for this requested feature. 
>
> In Rails you can start the console inside a transaction with 
>
> rails console --sandbox 
>
> This is how it is implemented in Rails: 
>
> activerecord/lib/active_record/railties/console_sandbox.rb: 
>
> ActiveRecord::Base.connection.increment_open_transactions 
> ActiveRecord::Base.connection.begin_db_transaction 
> at_exit do 
>    ActiveRecord::Base.connection.rollback_db_transaction 
>    ActiveRecord::Base.connection.decrement_open_transactions 
> end 
>
> See how limited Sequel is by not allowing the start-finish of 
> transactions in separate pieces of code? 
>
> Although this practice shouldn't be recommended, developers should be 
> allowed to do this if they wanted to. 
>
> There are some situations, like the sandbox above and the RSpec 
> before(:all), where this is very handy. 
>
> Sorry, I haven't tested your workaround over this limitation yet because 
> I still couldn't find free time, but I thought I should mention this 
> other use case now that I've remembered about it. 
>
>
 This is trivially handled by starting the IRB shell inside a transaction 
block.  For the same reason, your RSpec case could be trivially handled by 
if they implemented around(:all).

I don't believe Sequel should expose a public API for open ended 
transactions, for the same reasons that Sequel doesn't provide a public API 
for open ended access to the connection-pool.

Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sequel-talk/-/I9XH5gG2PAwJ.
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/sequel-talk?hl=en.

Reply via email to