[Catalyst] MSSQL and Catalyst

Brandon Black blblack at gmail.com
Mon Aug 14 18:24:43 CEST 2006


On 8/14/06, Alan Humphrey <alan.humphrey at comcast.net> wrote:
>
>
> Anyone here using M$$QL as their backend?
>
> I'm using it as one part of an app.  The app is very lightly used so I
> can't
> give you any performance information, but here's what I've done.
>
> 1) Running NetBSD, using DBD::Sybase and FreeTDS.
> 2) FreeTDS has a limitation in that it doesn't support bind
> variables.  I'm
> using DBIx::Class, so I ended up subclassing DBIx::Class::Storage::DBI and
> overriding _execute to manually swap in the bind variables.
> 3) That, in turn, caused memory problems because D::C:S::D uses
> prepare_cached for the statement handle.  With the bind variables swapped
> out the cache rapidly filled memory.  The answer was to override sth to
> use
> prepare instead of prepare_cached.
>
> That's about it.  Once I got past the bind variables it all worked fine.
>
> My understanding is that the next release of DBIx::Class (5.7) addresses
> the
> bind variables issue, but I haven't been able to test it.


In DBIx::Class 0.07+, you can do:
$schema->storage_type('::DBI::Sybase::MSSQL');
$schema->connection(....);

or probably better for most cases, would be to put:
__PACKAGE__->storage_type('::DBI::Sybase::MSSQL');

... in your schema class, and then do:
my $schema 
This solves both the bind variable issue and the prepare_cached issue for
DBD::Sybase+FreeTDS+MSSQL.

-- Brandon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rawmode.org/pipermail/catalyst/attachments/20060814/b9707fa3/attachment.htm 


More information about the Catalyst mailing list