X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2Fmysql.pm;h=dc7ff907fe289154037cff921b96bc3f1aa9ac59;hb=e8c31aecd4b3c6bc4686885c4474c96dd7524716;hp=962f6bdfec63a6e81cb644f858db764805d7fe6e;hpb=90d7422fc60a3bad71cc67dc20106ef68046664e;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI/mysql.pm b/lib/DBIx/Class/Storage/DBI/mysql.pm index 962f6bd..dc7ff90 100644 --- a/lib/DBIx/Class/Storage/DBI/mysql.pm +++ b/lib/DBIx/Class/Storage/DBI/mysql.pm @@ -3,16 +3,14 @@ package DBIx::Class::Storage::DBI::mysql; use strict; use warnings; -use base qw/ - DBIx::Class::Storage::DBI::MultiColumnIn - DBIx::Class::Storage::DBI -/; -use mro 'c3'; +use base qw/DBIx::Class::Storage::DBI/; __PACKAGE__->sql_maker_class('DBIx::Class::SQLMaker::MySQL'); __PACKAGE__->sql_limit_dialect ('LimitXY'); __PACKAGE__->sql_quote_char ('`'); +__PACKAGE__->_use_multicolumn_in (1); + sub with_deferred_fk_checks { my ($self, $sub) = @_; @@ -60,7 +58,7 @@ sub sql_maker { my $maker = $self->next::method (@_); # mysql 3 does not understand a bare JOIN - my $mysql_ver = $self->_dbh_get_info(18); + my $mysql_ver = $self->_dbh_get_info('SQL_DBMS_VER'); $maker->{_default_jointype} = 'INNER' if $mysql_ver =~ /^3/; } @@ -79,7 +77,7 @@ sub deployment_statements { if ( ! exists $sqltargs->{producer_args}{mysql_version} - and + and my $dver = $self->_server_info->{normalized_dbms_version} ) { $sqltargs->{producer_args}{mysql_version} = $dver; @@ -115,12 +113,6 @@ sub lag_behind_master { return shift->_get_dbh->selectrow_hashref('show slave status')->{Seconds_Behind_Master}; } -# MySql can not do subquery update/deletes, only way is slow per-row operations. -# This assumes you have set proper transaction isolation and use innodb. -sub _subq_update_delete { - return shift->_per_row_update_delete (@_); -} - 1; =head1 NAME