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=bf01131c6a9a14590fc6420a63cf71b4687fb3e9;hb=1a58752c42ba9acf33e2943b678de4948cf3ee3f;hp=028d9d6b4f963005041cffd30c9459a2a229f83a;hpb=18ac986d17b9f8f16d29d4a175867b6d8dde32b1;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 028d9d6..bf01131 100644 --- a/lib/DBIx/Class/Storage/DBI/ODBC/Microsoft_SQL_Server.pm +++ b/lib/DBIx/Class/Storage/DBI/ODBC/Microsoft_SQL_Server.pm @@ -4,11 +4,12 @@ use warnings; use base qw/DBIx::Class::Storage::DBI::MSSQL/; use mro 'c3'; -use Carp::Clan qw/^DBIx::Class/; + use List::Util(); +use Scalar::Util (); __PACKAGE__->mk_group_accessors(simple => qw/ - _scope_identity _using_dynamic_cursors + _using_dynamic_cursors /); =head1 NAME @@ -18,24 +19,12 @@ to Microsoft SQL Server over ODBC =head1 DESCRIPTION -This class implements support specific to Microsoft SQL Server over ODBC, -including auto-increment primary keys and SQL::Abstract::Limit dialect. It -is loaded automatically by by DBIx::Class::Storage::DBI::ODBC when it -detects a MSSQL back-end. - -=head1 IMPLEMENTATION NOTES - -Microsoft SQL Server supports three methods of retrieving the C -value for inserted row: C, C<@@IDENTITY>, and C. -C is used here because it is the safest. However, it must -be called is the same execute statement, not just the same connection. +This class implements support specific to Microsoft SQL Server over ODBC. It is +loaded automatically by by DBIx::Class::Storage::DBI::ODBC when it detects a +MSSQL back-end. -So, this implementation appends a C is used instead. +Most of the functionality is provided from the superclass +L. =head1 MULTIPLE ACTIVE STATEMENTS @@ -54,8 +43,12 @@ concurrent statements. Will add C<< odbc_cursortype => 2 >> to your DBI connection attributes. See L for more information. -This will not work with CODE ref connect_info's and will do nothing if you set -C yourself. +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