1 package # Hide from PAUSE
2 DBIx::Class::SQLMaker::MySQL;
4 use base qw( DBIx::Class::SQLMaker );
5 use Carp::Clan qw/^DBIx::Class|^SQL::Abstract/;
9 # MySQL does not understand the standard INSERT INTO $table DEFAULT VALUES
10 # Adjust SQL here instead
16 $table = $self->_quote($table);
18 if (! $_[1] or (ref $_[1] eq 'HASH' and !keys %{$_[1]} ) ) {
19 return "INSERT INTO ${table} () VALUES ()"
22 return $self->SUPER::insert (@_);
25 # Allow STRAIGHT_JOIN's
26 sub _generate_join_clause {
27 my ($self, $join_type) = @_;
29 if( $join_type && $join_type =~ /^STRAIGHT\z/i ) {
30 return ' STRAIGHT_JOIN '
33 return $self->SUPER::_generate_join_clause( $join_type );
38 update => 'FOR UPDATE',
39 shared => 'LOCK IN SHARE MODE'
43 my ($self, $type) = @_;
45 my $sql = $for_syntax->{$type} || croak "Unknown SELECT .. FOR type '$type' requested";