X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FMSSQL.pm;h=5f17153fe5f566c6396998c388c31c7044bb5fe1;hb=ff153e241d4990c6332359d942385d11019f0018;hp=ce714d420c31c9bf38018a7b3983da4918257f4d;hpb=607b79a3e0bcb910e1d8634570c742f7b3438e78;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/MSSQL.pm b/lib/DBIx/Class/Storage/DBI/MSSQL.pm index ce714d4..5f17153 100644 --- a/lib/DBIx/Class/Storage/DBI/MSSQL.pm +++ b/lib/DBIx/Class/Storage/DBI/MSSQL.pm @@ -232,24 +232,14 @@ sub build_datetime_parser { sub sqlt_type { 'SQLServer' } -sub _get_mssql_version { - my $self = shift; - - my $data = $self->_get_dbh->selectrow_hashref('xp_msver ProductVersion'); - - if ($data->{Character_Value} =~ /^(\d+)\./) { - return $1; - } else { - $self->throw_exception(q{Your ProductVersion's Character_Value is missing or malformed!}); - } -} - sub sql_maker { my $self = shift; unless ($self->_sql_maker) { unless ($self->{_sql_maker_opts}{limit_dialect}) { - my $version = eval { $self->_get_mssql_version; } || 0; + + my ($version) = $self->_server_info->{dbms_ver} =~ /^(\d+)/; + $version ||= 0; $self->{_sql_maker_opts} = { limit_dialect => ($version >= 9 ? 'RowNumberOver' : 'Top'),