add a line to Changes and add a CAVEAT
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Sybase.pm
CommitLineData
f68f4d44 1package DBIx::Class::Storage::DBI::Sybase;
2
3use strict;
4use warnings;
5
6use base qw/DBIx::Class::Storage::DBI::NoBindVars/;
7
47d9646a 8sub _rebless {
9 my $self = shift;
10
98464041 11 my $dbtype = eval { @{$self->_dbh->selectrow_arrayref(qq{sp_server_info \@attribute_id=1})}[2] };
12 unless ( $@ ) {
13 $dbtype =~ s/\W/_/gi;
14 my $subclass = "DBIx::Class::Storage::DBI::Sybase::${dbtype}";
47d9646a 15 if ($self->load_optional_class($subclass) && !$self->isa($subclass)) {
16 bless $self, $subclass;
17 $self->_rebless;
18 }
19 }
20}
21
f68f4d44 221;
23
24=head1 NAME
25
26DBIx::Class::Storage::DBI::Sybase - Storage::DBI subclass for Sybase
27
28=head1 SYNOPSIS
29
30This subclass supports L<DBD::Sybase> for real Sybase databases. If
31you are using an MSSQL database via L<DBD::Sybase>, see
32L<DBIx::Class::Storage::DBI::Sybase::MSSQL>.
33
d4483998 34=head1 CAVEATS
35
36This storage driver uses L<DBIx::Class::Storage::DBI::NoBindVars> as a base.
37This means that bind variables will be interpolated (properly quoted of course)
38into the SQL query itself, without using bind placeholders.
39
40More importantly this means that caching of prepared statements is explicitly
41disabled, as the interpolation renders it useless.
42
f68f4d44 43=head1 AUTHORS
44
45Brandon L Black <blblack@gmail.com>
46
47d9646a 47Justin Hunter <justin.d.hunter@gmail.com>
48
f68f4d44 49=head1 LICENSE
50
51You may distribute this code under the same terms as Perl itself.
52
53=cut