| version 1.27, 2008/08/23 14:32:02 |
version 1.28, 2008/08/23 14:35:06 |
|
|
| #!/usr/bin/perl |
#!/usr/bin/perl |
| |
|
| # $Platon: scripts/perl/oracle/oracledump.pl,v 1.26 2008-08-23 14:22:41 nepto Exp $ |
# $Platon: scripts/perl/oracle/oracledump.pl,v 1.27 2008-08-23 14:32:02 nepto Exp $ |
| |
|
| use strict; |
use strict; |
| |
|
|
|
| |
|
| if ( !defined $opt_no_create_info ) { |
if ( !defined $opt_no_create_info ) { |
| if ($opt_mysql_compliant_dump) { |
if ($opt_mysql_compliant_dump) { |
| if ($row[5] =~ /\((.*)\)/) { |
if ($row[5] =~ /^to_date/i or $row[5] =~ /^USER/i or $row[5] =~ /\(\)/) { |
| |
undef $row[5]; |
| |
} elsif ($row[5] =~ /\((.*)\)/) { |
| $row[5] = $1; |
$row[5] = $1; |
| } elsif ($row[5] == 'NULL' and $row[6] ne 'Y') { |
} elsif ($row[5] == 'NULL' and $row[6] ne 'Y') { |
| # default NULL for NOT NULL column |
# default NULL for NOT NULL column |
|
|
| : ( int( $row[3] ) <= 11 |
: ( int( $row[3] ) <= 11 |
| ? 'INT' : 'INT(' . $row[3] . ')' ) |
? 'INT' : 'INT(' . $row[3] . ')' ) |
| ) |
) |
| : ( $row[1] eq 'VARCHAR2' |
: ( (($row[1] eq 'VARCHAR2') or ($row[1] eq 'NVARCHAR2') or ($row[1] eq 'ROWID')) |
| ? ( $row[2] > 255 |
? ( $row[2] > 255 |
| ? 'TEXT' : 'VARCHAR(' . $row[2] . ')' ) |
? 'TEXT' : 'VARCHAR(' . $row[2] . ')' ) |
| : ( $row[1] eq 'DATE' |
: ( $row[1] eq 'DATE' |
| ? 'DATETIME' |
? 'DATETIME' |
| : ( $row[1] eq 'CLOB' |
: ( (($row[1] eq 'CLOB') or ($row[1] =~ /RAW/) or ($row[1] eq 'PRACFOND')) |
| ? 'BLOB' : $row[1] ) ) ) ), |
? 'BLOB' : $row[1] ) ) ) ), |
| ( defined $row[5] |
( defined $row[5] |
| ? ($row[5] =~ /^SYSDATE/i ? '' : 'DEFAULT ' . $row[5]) |
? ($row[5] =~ /^SYSDATE/i ? '' : 'DEFAULT ' . $row[5]) |