X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FODBC%2FMicrosoft_SQL_Server.pm;h=b2db13f5facb085c6dfd56b1162718ca91de2d70;hb=6298a324307439b76419d0f5db453b0d10f10517;hp=7e495c989ecbd9c201e480cc0926ef8cd39d3077;hpb=5a77aa8ba52c50bdc4291ca22433f9c315234ad2;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/ODBC/Microsoft_SQL_Server.pm b/lib/DBIx/Class/Storage/DBI/ODBC/Microsoft_SQL_Server.pm index 7e495c9..b2db13f 100644 --- a/lib/DBIx/Class/Storage/DBI/ODBC/Microsoft_SQL_Server.pm +++ b/lib/DBIx/Class/Storage/DBI/ODBC/Microsoft_SQL_Server.pm @@ -4,10 +4,13 @@ use warnings; use base qw/DBIx::Class::Storage::DBI::MSSQL/; use mro 'c3'; +use Scalar::Util 'reftype'; +use Try::Tiny; +use namespace::clean; -1; - -__END__ +__PACKAGE__->mk_group_accessors(simple => qw/ + _using_dynamic_cursors +/); =head1 NAME @@ -23,6 +26,156 @@ MSSQL back-end. Most of the functionality is provided from the superclass L. +=head1 MULTIPLE ACTIVE STATEMENTS + +The following options are alternative ways to enable concurrent executing +statement support. Each has its own advantages and drawbacks. + +=head2 connect_call_use_dynamic_cursors + +Use as: + + on_connect_call => 'use_dynamic_cursors' + +in your L as one way to enable multiple +concurrent statements. + +Will add C<< odbc_cursortype => 2 >> to your DBI connection attributes. See +L for more information. + +Alternatively, you can add it yourself and dynamic cursor support will be +automatically enabled. + +If you're using FreeTDS, C must be set to at least C<8.0>. + +This will not work with CODE ref connect_info's. + +B this will break C, and C