Commit | Line | Data |
---|---|---|
98464041 | 1 | package DBIx::Class::Storage::DBI::Sybase::Microsoft_SQL_Server; |
2 | ||
3 | use strict; | |
4 | use warnings; | |
2ad62d97 | 5 | |
528accab | 6 | use base qw/ |
d867eeda | 7 | DBIx::Class::Storage::DBI::Sybase::Common |
5a77aa8b | 8 | DBIx::Class::Storage::DBI::MSSQL |
528accab | 9 | /; |
2ad62d97 | 10 | use mro 'c3'; |
98464041 | 11 | |
9b3dabe0 | 12 | sub _rebless { |
13 | my $self = shift; | |
9ae966b9 | 14 | my $dbh = $self->_get_dbh; |
7379eb67 | 15 | |
e33b954c | 16 | if (not $self->_typeless_placeholders_supported) { |
7379eb67 | 17 | bless $self, |
18 | 'DBIx::Class::Storage::DBI::Sybase::Microsoft_SQL_Server::NoBindVars'; | |
19 | $self->_rebless; | |
20 | } | |
d867eeda | 21 | } |
4966150b | 22 | |
d867eeda | 23 | sub _init { |
24 | my $self = shift; | |
4966150b | 25 | |
d867eeda | 26 | # LongReadLen doesn't work with MSSQL through DBD::Sybase, and the default is |
27 | # huge on some versions of SQL server and can cause memory problems, so we | |
28 | # fix it up here (see Sybase/Common.pm) | |
29 | $self->set_textsize; | |
37b17a93 | 30 | } |
31 | ||
b90d7eba | 32 | sub _dbh_begin_work { |
33 | my $self = shift; | |
34 | ||
35 | $self->_get_dbh->do('BEGIN TRAN'); | |
36 | } | |
37 | ||
38 | sub _dbh_commit { | |
39 | my $self = shift; | |
40 | ||
41 | $self->_dbh->do('COMMIT'); | |
42 | } | |
43 | ||
44 | sub _dbh_rollback { | |
45 | my $self = shift; | |
46 | ||
47 | $self->_dbh->do('ROLLBACK'); | |
48 | } | |
49 | ||
98464041 | 50 | 1; |
51 | ||
52 | =head1 NAME | |
53 | ||
5a77aa8b | 54 | DBIx::Class::Storage::DBI::Sybase::Microsoft_SQL_Server - Support for Microsoft |
55 | SQL Server via DBD::Sybase | |
98464041 | 56 | |
57 | =head1 SYNOPSIS | |
58 | ||
5608593e | 59 | This subclass supports MSSQL server connections via L<DBD::Sybase>. |
98464041 | 60 | |
7379eb67 | 61 | =head1 DESCRIPTION |
d4483998 | 62 | |
7379eb67 | 63 | This driver tries to determine whether your version of L<DBD::Sybase> and |
64 | supporting libraries (usually FreeTDS) support using placeholders, if not the | |
65 | storage will be reblessed to | |
66 | L<DBIx::Class::Storage::DBI::Sybase::Microsoft_SQL_Server::NoBindVars>. | |
98464041 | 67 | |
7379eb67 | 68 | The MSSQL specific functionality is provided by |
69 | L<DBIx::Class::Storage::DBI::MSSQL>. | |
7e8cecc1 | 70 | |
5a77aa8b | 71 | =head1 AUTHOR |
98464041 | 72 | |
b7505130 | 73 | See L<DBIx::Class/CONTRIBUTORS>. |
98464041 | 74 | |
75 | =head1 LICENSE | |
76 | ||
77 | You may distribute this code under the same terms as Perl itself. | |
78 | ||
79 | =cut |