use INNER for old mysqls
[dbsrgits/Data-Query.git] / lib / Data / Query / Renderer / SQL / MySQL.pm
index 25a4929..fe447ed 100644 (file)
@@ -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( ( ) );