# Ruby DBI transaction support bug?

**URL:** <https://www.ruby-forum.com/t/ruby-dbi-transaction-support-bug/93112>\
**Category:** Ruby\
**Created:** [April 27, 2007, 5:38pm UTC](https://www.ruby-forum.com/t/ruby-dbi-transaction-support-bug/93112 "2007-04-27T17:38:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pascal\_Meunier](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/439d5e/32.png) [@Pascal\_Meunier](https://www.ruby-forum.com/u/Pascal_Meunier)\
**Post date:** [April 27, 2007, 5:38pm UTC](https://www.ruby-forum.com/t/ruby-dbi-transaction-support-bug/93112/1 "2007-04-27T17:38:23Z")

</div>

According to [http://www.kitebird.com/articles/ruby-dbi.html](http://www.kitebird.com/articles/ruby-dbi.html) “Using the  
Ruby DBI Module”, the following rollback should work but doesn’t:

$DBH[‘AutoCommit’] = false  
sth = $DBH.prepare(“SELECT \* FROM add\_user\_list(?)”)  
sth.execute(‘blahblah’)  
$DBH.rollback

where “add\_user\_list” is a stored procedure that inserts a row in a  
table. As a result, user “blahblah” is inserted in the table – the  
rollback didn’t work.

However, this works:

$DBH.do(“BEGIN”)  
sth = $DBH.prepare(“SELECT \* FROM add\_user\_list(?)”)  
sth.execute(‘blahblah’)  
$DBH.do(“ROLLBACK”)

and user “blahblah” does not get added to the table.

Fun. Should I report this somewhere in particular?

Thanks

---

<div class="post-metadata">

**Author:** ![Pascal\_Meunier](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/439d5e/32.png) [@Pascal\_Meunier](https://www.ruby-forum.com/u/Pascal_Meunier)\
**Post date:** [April 27, 2007, 5:54pm UTC](https://www.ruby-forum.com/t/ruby-dbi-transaction-support-bug/93112/2 "2007-04-27T17:54:05Z")

</div>

I forgot to mention, this is of course with the last version of DBI,  
0.1.1 on ruby 1.8.6 (2007-03-13 patchlevel 0) [x86\_64-linux] and  
Postgresql.
