push @view_defs, create_view($view);
}
- return wantarray ? (defined $create ? $create : (), @table_defs, @view_defs, @fk_defs, @trigger_defs, @index_defs, @constraint_defs) : $create . join ('', map { $_ ? "$_;\n\n" : () } @table_defs, @view_defs, @fk_defs, @trigger_defs, @index_defs, @constraint_defs);
+ if (wantarray) {
+ return defined $create ? $create : (), @table_defs, @view_defs, @fk_defs, @trigger_defs, @index_defs, @constraint_defs;
+ }
+ else {
+ $create .= join ('', map { $_ ? "$_;\n\n" : () } @table_defs, @view_defs, @fk_defs, @index_defs, @constraint_defs);
+ # triggers may NOT end with a semicolon
+ $create .= join "\n\n", @trigger_defs;
+ return $create;
+ }
}
sub create_table {
push @constraint_defs, "CONSTRAINT $name CHECK ($expression)";
}
elsif ( $c->type eq FOREIGN_KEY ) {
- $name = mk_name( join('_', $table_name, $c->fields). '_fk' );
+ $name = mk_name( join('_', $table_name, $c->fields). '_fk' );
my $def = "CONSTRAINT $name FOREIGN KEY ";
if ( @fields ) {
$def .= ' ON DELETE '.join( ' ', $c->on_delete );
}
- # disabled by plu 2007-12-29 - doesn't exist for oracle
- #if ( $c->on_update ) {
- # $def .= ' ON UPDATE '.join( ' ', $c->on_update );
- #}
+ # disabled by plu 2007-12-29 - doesn't exist for oracle
+ #if ( $c->on_update ) {
+ # $def .= ' ON UPDATE '.join( ' ', $c->on_update );
+ #}
- push @fk_defs, sprintf("ALTER TABLE %s ADD %s", $table, $def);
+ push @fk_defs, sprintf("ALTER TABLE %s ADD %s", $table_name_ur, $def);
}
}