[svn:p5ee] r12477 - p5ee/trunk/App-Repository/lib/App/Repository
[email protected] Fri, 6 Feb 2009 09:42:14 -0800 (PST)
| Newsgroups | perl.cvs.p5ee |
|---|---|
| Message-ID | <[email protected]> |
Author: spadkins
Date: Fri Feb 6 09:42:13 2009
New Revision: 12477
Modified:
p5ee/trunk/App-Repository/lib/App/Repository/Oracle.pm
Log:
Changes to _load_table_metadata_from_source2, dbexpr_update and dbexpr
Modified: p5ee/trunk/App-Repository/lib/App/Repository/Oracle.pm
==============================================================================
--- p5ee/trunk/App-Repository/lib/App/Repository/Oracle.pm (original)
+++ p5ee/trunk/App-Repository/lib/App/Repository/Oracle.pm Fri Feb 6 09:42:13 2009
@@ -202,7 +202,7 @@
my ($self, $table) = @_;
my $column_defs = $self->{table}{$table}{column};
my @columns = (keys %$column_defs);
- my ($column_def, $type, $dbexpr);
+ my ($column_def, $type, $dbexpr, $column_dbexpr);
my $table_alias = $self->{table}{$table}{alias};
my $default_date_format = $self->{default_date_format};
my $default_datetime_format = $self->{default_datetime_format} || $default_date_format;
@@ -212,17 +212,20 @@
#if ($column_def->{phys_column}) { # ??? #SEB
$type = $column_def->{type};
$dbexpr = "$table_alias.$column";
+ $column_dbexpr = $column_def->{dbexpr} || "";
if ($type eq "date") {
#print STDERR "_load_table_metadata_from_source2($table): date : ($column_def->{dbexpr} eq $dbexpr && !$default_date_format)\n";
- if ($column_def->{dbexpr} eq $dbexpr && $default_date_format ne "YYYY-MM-DD") {
+ if ($column_dbexpr =~ /^\w+\.\w+$/ || $column_dbexpr =~ /^\w+\(\w+\.\w+\)$/ && $default_date_format ne "YYYY-MM-DD") { # SEB min(hiop.latest_eff_dt)
$column_def->{dbexpr_update} = "to_date(%s,'YYYY-MM-DD')";
- $column_def->{dbexpr} = "to_char($dbexpr,'YYYY-MM-DD')";
+ $column_def->{dbexpr_raw} = $column_def->{dbexpr} || $dbexpr;
+ $column_def->{dbexpr} = "to_char($column_def->{dbexpr_raw},'YYYY-MM-DD')"; #SEB was $dbexpr
}
}
elsif ($type eq "datetime") {
- if ($column_def->{dbexpr} eq $dbexpr && $default_datetime_format ne "YYYY-MM-DD HH24:MI:SS") {
- $column_def->{dbexpr} = "to_char($dbexpr,'YYYY-MM-DD HH24:MI:SS')";
+ if ($column_dbexpr =~ /^\w+\.\w+$/ || $column_dbexpr =~ /^\w+\(\w+\.\w+\)$/ && $default_datetime_format ne "YYYY-MM-DD HH24:MI:SS") { # SEB min(hiop.latest_eff_dt)
$column_def->{dbexpr_update} = "to_date(%s,'YYYY-MM-DD HH24:MI:SS')";
+ $column_def->{dbexpr_raw} = $column_def->{dbexpr} || $dbexpr;
+ $column_def->{dbexpr} = "to_char($column_def->{dbexpr_raw},'YYYY-MM-DD HH24:MI:SS')"; #SEB was $dbexpr
}
}
elsif ($type eq "binary") {