[Ironruby-core] ActiveRecord update

Shri Borde Shri.Borde at microsoft.com
Tue Aug 11 16:25:02 EDT 2009

I can try out ironruby-dbi later this week and let you know how things go…

From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero
Sent: Tuesday, August 11, 2009 1:09 PM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] ActiveRecord update

ironruby-dbi should be working but I made a change to how it deals with the params and I think that there are perhaps some changes required to the sqlserver-adapter.

I haven't had time to look into/test this stuff yet. But skimming the sqlserver adapter code on github makes me think that the only thing required would be to provide a different connection string to the sqlserver adapter.

They don't use parameters so the change I made to dbi doesn't make any difference to them.
ironruby-dbi is passing all the dbi baseline tests so I'm hoping that would be enough to get it to work.
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)

On Tue, Aug 11, 2009 at 9:30 PM, Shri Borde <Shri.Borde at microsoft.com<mailto:Shri.Borde at microsoft.com>> wrote:

Yup, moving over to sqlserver_adapter.rb+DBI+ADO sounds good. sqlserver_adapter.rb comes packaged as a gem, so its easy to get to. It does need the simple patch at http://gist.github.com/166062 to use Integrated security, and to get it ready for ironruby-dbi. Ray, has this patch been accepted?

Running tests using the instructions at http://github.com/rails-sqlserver/2000-2005-adapter/blob/f994f7d469ad0125533516fba4ba29a089e5de22/RUNNING_UNIT_TESTS give a pass rate of 75% with both IronRuby and MRI. The MRI pass rate is low presumably because the sqlserver_adapter project does their testing mainly using ODBC. Once Ivan’s ironruby-dbi is working, we can plugh that in, and try to pull up the pass rate even further.

From: ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org> [mailto:ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org>] On Behalf Of Jimmy Schementi
Sent: Tuesday, August 11, 2009 11:52 AM

To: ironruby-core at rubyforge.org<mailto:ironruby-core at rubyforge.org>
Subject: Re: [Ironruby-core] ActiveRecord update

Shri, the documentation for running Rails and running the tests still points to the mssql-adapter. Want me to move everything over the to the ADO driver for now, since that's got the best pass rate?


From: ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org> [ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org>] on behalf of Shri Borde [Shri.Borde at microsoft.com<mailto:Shri.Borde at microsoft.com>]
Sent: Thursday, July 16, 2009 12:45 PM
To: ironruby-core at rubyforge.org<mailto:ironruby-core at rubyforge.org>
Subject: [Ironruby-core] ActiveRecord update

I have been working on trying to improve the ActiveRecord test pass rate from the low 10% it was it. The summary is that the language support is solid so that we can get to within 99% of MRI behavior, but there are a number of caveats about the database support. Below I describe the various stacks possible for using ActiveRecord with IronRuby:

•         mssql_adapter.rb (http://github.com/jschementi/activerecord-mssql-adapter/) – This is the ActiveRecord adapter that has been used so far to demo IronRuby using Rails. It directly uses ADO.Net. The basics work but it has a pass rate of about 10% because it does not have all the fixes from sqlserver_adapter described below.

•         sqlserver_adapter (http://github.com/rails-sqlserver/2000-2005-adapter/) – This is the adapter that you would need for using SQL Server with MRI. It uses the DBI module (http://ruby-dbi.rubyforge.org/). The DBI module in turn depends on a lower level adapter, which can be one of three types:

o   ODBC – This is the preferred way for using MRI+Rails. There is no equivalent for IronRuby

o   ADO – There is a driver at http://www.koders.com/ruby/fid94AB2E1BC823281569CACF9FDAF4093C2ABC7EAA.aspx. This is the one I used. The good news is that IronRuby gets to within 99% of MRI pass rate! The bad news is that the MRI pass rate is only 66%. The could be my machine configuration, issues with the ADO driver, issues with the tests not being SQLServer-friendly, etc. It seems that the ADO driver is not supported. For example, it relies on an older version of DBI (that also ships with the MRI 1.8.7 installer) that you can get from http://rubyforge.org/frs/download.php/41304/dbi-0.2.2.zip. So it’s the best solution for now, but may not be in the future.

o   ADO.Net – Ivan has a driver at http://github.com/casualjim/ironruby-dbi/ which also gives a pass rate of about 10%. This could potentially be a good story in the future since Ivan is looking to improve it.

•         IRDb (http://github.com/rvernagus/activerecord-irdb-adapter) – This uses ADO.Net I believe. I don’t think Ray has tried running tests with this.

Ray and Ivan have helped me a lot over the past few weeks. Thanks guys! I have documented most of the steps to running the tests using mssql_adapter at the bottom of http://ironruby.net/Documentation/Real_Ruby_Applications/Rails#framework-tests. If anyone is interested in pushing on any of the approaches above, let me know and I can help you get setup up. Also, I am sure that Ray and Ivan would appreciate any help with http://github.com/rvernagus/activerecord-irdb-adapter and http://github.com/casualjim/ironruby-dbi/.



Ironruby-core mailing list
Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090811/32292784/attachment.html>

More information about the Ironruby-core mailing list