84499ed3832645bb05714de58729f21381d0d94e
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Sybase.pm
1 package DBIx::Class::Storage::DBI::Sybase;
2
3 use strict;
4 use warnings;
5
6 use base qw/DBIx::Class::Storage::DBI::NoBindVars/;
7
8 sub _rebless {
9     my $self = shift;
10
11     my $dbh = $self->schema->storage->dbh;
12     my $DBMS_VERSION = @{$dbh->selectrow_arrayref(qq{sp_server_info \@attribute_id=1})}[2];
13     if ($DBMS_VERSION =~ /^Microsoft /i) {
14         my $subclass = 'DBIx::Class::Storage::DBI::Sybase::MSSQL'; 
15         if ($self->load_optional_class($subclass) && !$self->isa($subclass)) {
16             bless $self, $subclass;
17             $self->_rebless;
18         }
19     }
20 }
21
22 1;
23
24 =head1 NAME
25
26 DBIx::Class::Storage::DBI::Sybase - Storage::DBI subclass for Sybase
27
28 =head1 SYNOPSIS
29
30 This subclass supports L<DBD::Sybase> for real Sybase databases.  If
31 you are using an MSSQL database via L<DBD::Sybase>, see
32 L<DBIx::Class::Storage::DBI::Sybase::MSSQL>.
33
34 =head1 AUTHORS
35
36 Brandon L Black <blblack@gmail.com>
37
38 Justin Hunter <justin.d.hunter@gmail.com>
39
40 =head1 LICENSE
41
42 You may distribute this code under the same terms as Perl itself.
43
44 =cut