X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FData%2FQuery%2FRenderer%2FSQL%2FMySQL.pm;fp=lib%2FData%2FQuery%2FRenderer%2FSQL%2FMySQL.pm;h=fe447edb85136c11c209a91360d8205f351e19c5;hb=9ee59b74604a36e63fed2056db7770342aa0a478;hp=25a4929c433a245158302902fa0ce35decfbe25a;hpb=fd6e1f4c94fdfd83ea55b28e9289d5fb14fdb149;p=dbsrgits%2FData-Query.git diff --git a/lib/Data/Query/Renderer/SQL/MySQL.pm b/lib/Data/Query/Renderer/SQL/MySQL.pm index 25a4929..fe447ed 100644 --- a/lib/Data/Query/Renderer/SQL/MySQL.pm +++ b/lib/Data/Query/Renderer/SQL/MySQL.pm @@ -8,6 +8,17 @@ extends 'Data::Query::Renderer::SQL::Naive'; with 'Data::Query::Renderer::SQL::Slice::LimitXY'; +has needs_inner_join => (is => 'ro', default => sub { 0 }); + +around _format_join_keyword => sub { + my ($orig, $self) = (shift, shift); + my ($dq) = @_; + if ($self->needs_inner_join and $dq->{on} and !$dq->{outer}) { + return $self->_format_keyword('INNER JOIN'); + } + return $self->$orig(@_); +}; + sub _insert_default_values { my ($self) = @_; $self->_format_keyword('VALUES'), qw( ( ) );