- better type info for Oracle
- preliminary Informix support
- unregister dropped sources on rescan
- - added 'preserve_case' option with support for SQLite, mysql, MSSQL and
- Firebird/InterBase; removed the MSSQL 'case_sensitive_collation' and
- the Firebird/InterBase 'unquoted_ddl' options in favor of it.
+ - added 'preserve_case' option with support for SQLite, mysql, MSSQL,
+ SQLAnywhere and Firebird/InterBase; removed the MSSQL
+ 'case_sensitive_collation' and the Firebird/InterBase 'unquoted_ddl'
+ options in favor of it.
- support CamelCase table names and column names (in case-preserving
mode) at the v7 naming level
- rewrite datetime default functions as \'CURRENT_TIMESTAMP' where
$info->{is_auto_increment} = 1;
}
- if (eval { lc ${ $info->{default_value} } }||'' eq 'current timestamp') {
+ if ((eval { lc ${ $info->{default_value} } }||'') eq 'current timestamp') {
${ $info->{default_value} } = 'current_timestamp';
delete $info->{size};
}
$default =~ /^['(] (.*) [)']\z/x ? $1 :
$default =~ /^\d/ ? $default : \$default;
- if (eval { lc ${ $info->{default_value} } }||'' eq 'getdate()') {
+ if ((eval { lc ${ $info->{default_value} } }||'') eq 'getdate()') {
${ $info->{default_value} } = 'current_timestamp';
}
}
$info->{original}{data_type} = 'binary_double';
}
- if (eval { lc(${ $info->{default_value} }) eq 'sysdate' }) {
+ if ((eval { lc(${ $info->{default_value} }) }||'') eq 'sysdate') {
$info->{original}{default_value} = $info->{default_value};
my $current_timestamp = 'current_timestamp';
}
# alias now() to current_timestamp for deploying to other DBs
- if (eval { lc ${ $info->{default_value} }||'' eq 'now()' }) {
+ if ((eval { lc ${ $info->{default_value} }||'') eq 'now()' }) {
# do not use a ref to a constant, that breaks Data::Dump output
${$info->{default_value}} = 'current_timestamp';
}
delete $info->{default_value} if ref($info->{default_value}) eq 'SCALAR' && ${ $info->{default_value} } eq 'NULL';
- if (eval { lc ${ $info->{default_value} } }||'' eq 'current timestamp') {
+ if ((eval { lc ${ $info->{default_value} } }||'') eq 'current timestamp') {
${ $info->{default_value} } = 'current_timestamp';
}
}
}
while (my ($col, $info) = each %$result) {
- if (eval { ${ $info->{default_value} } }||'' eq 'CURRENT_TIMESTAMP') {
+ if ((eval { ${ $info->{default_value} } }||'') eq 'CURRENT_TIMESTAMP') {
${ $info->{default_value} } = 'current_timestamp';
}
}