X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FProducer%2FMySQL.pm;h=ff756060f0303e199f4e1bccb1e102aebaea6d0e;hb=c0ec0e22d3f0e3852c00daac5ef5763010b410c3;hp=86d23c3b3040f6ba5a963afbf4a0d1be4852bb18;hpb=237e4855d512ffd8877490dc986fe1385087ad27;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Producer/MySQL.pm b/lib/SQL/Translator/Producer/MySQL.pm index 86d23c3..ff75606 100644 --- a/lib/SQL/Translator/Producer/MySQL.pm +++ b/lib/SQL/Translator/Producer/MySQL.pm @@ -356,11 +356,14 @@ sub create_trigger { } my $action = $trigger->action; - $action .= ";" unless $action =~ /;\s*\z/; + if($action !~ /^ \s* BEGIN [\s\;] .*? [\s\;] END [\s\;]* $/six) { + $action .= ";" unless $action =~ /;\s*\z/; + $action = "BEGIN $action END"; + } push @statements, "DROP TRIGGER IF EXISTS " . $generator->quote($name) if $options->{add_drop_trigger}; push @statements, sprintf( - "CREATE TRIGGER %s %s %s ON %s\n FOR EACH ROW BEGIN %s END", + "CREATE TRIGGER %s %s %s ON %s\n FOR EACH ROW %s", $generator->quote($name), $trigger->perform_action_when, $event, $generator->quote($trigger->on_table), $action, );