converted replicant to a role so that we can apply it after ensure_connected properly...
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / mysql.pm
1 package DBIx::Class::Storage::DBI::mysql;
2
3 use strict;
4 use warnings;
5
6 use base qw/DBIx::Class::Storage::DBI/;
7
8 # __PACKAGE__->load_components(qw/PK::Auto/);
9
10 sub _dbh_last_insert_id {
11   my ($self, $dbh, $source, $col) = @_;
12   $dbh->{mysql_insertid};
13 }
14
15 sub sqlt_type {
16   return 'MySQL';
17 }
18
19 sub _svp_begin {
20     my ($self, $name) = @_;
21
22     $self->dbh->do("SAVEPOINT $name");
23 }
24
25 sub _svp_release {
26     my ($self, $name) = @_;
27
28     $self->dbh->do("RELEASE SAVEPOINT $name");
29 }
30
31 sub _svp_rollback {
32     my ($self, $name) = @_;
33
34     $self->dbh->do("ROLLBACK TO SAVEPOINT $name")
35 }
36
37 sub is_replicating {
38     my $self = shift @_;
39 }
40
41 sub lag_behind_master {
42     my $self = shift @_;
43     return $self->dbh->selectrow_hashref('show slave status');
44 }
45
46 1;
47
48 =head1 NAME
49
50 DBIx::Class::Storage::DBI::mysql - Automatic primary key class for MySQL
51
52 =head1 SYNOPSIS
53
54   # In your table classes
55   __PACKAGE__->load_components(qw/PK::Auto Core/);
56   __PACKAGE__->set_primary_key('id');
57
58 =head1 DESCRIPTION
59
60 This class implements autoincrements for MySQL.
61
62 =head1 AUTHORS
63
64 Matt S. Trout <mst@shadowcatsystems.co.uk>
65
66 =head1 LICENSE
67
68 You may distribute this code under the same terms as Perl itself.
69
70 =cut