if (not defined $self->preserve_case) {
$self->preserve_case(0);
}
+ elsif ($self->preserve_case) {
+ $self->schema->storage->sql_maker->quote_char('"');
+ $self->schema->storage->sql_maker->name_sep('.');
+ }
}
sub _tables_list {
$result->{$col}{data_type} = 'date';
}
elsif ($type == 10) {
- $result->{$col}{data_type} = 'datetime';
+ $result->{$col}{data_type} = 'datetime year to fraction(5)';
}
}
$result->{$col}{default_value} = \$today;
}
else {
- $default = (split ' ', $default)[-1];
+ $default = (split ' ', $default, 2)[-1];
+
+ $default =~ s/\s+\z// if looks_like_number $default;
# remove trailing 0s in floating point defaults
- if (looks_like_number $default && int $default != $default) {
- $default =~ s/0+\z//;
- }
+ # disabled, this is unsafe since it might be a varchar default
+ #$default =~ s/0+\z// if $default =~ /^\d+\.\d+\z/;
$result->{$col}{default_value} = $default;
}