Changeset 2625

Show
Ignore:
Timestamp:
06/20/08 09:02:09 (20 months ago)
Author:
fumiakiy
Message:

Removed hard-coded SQL statement and pass select list to SQL class. This is mainly for enterprise database drivers to generate SQL statements correctly. BugId:79817

Location:
branches/release-40/lib/MT/ObjectDriver
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/release-40/lib/MT/ObjectDriver/Driver/DBI.pm

    r2548 r2625  
    257257    } 
    258258    $stmt->select([]); 
    259     my $sql = "SELECT $select\n" . $stmt->as_sql; 
     259    $stmt->select_map({}); 
     260    $stmt->select_map_reverse({}); 
     261    $stmt->add_select($select => $select); 
     262    my $sql = $stmt->as_sql; 
    260263    $driver->select_one($sql, $stmt->bind); 
    261264} 
  • branches/release-40/lib/MT/ObjectDriver/SQL/SQLite.pm

    r1174 r2625  
    3030    my $cd  = delete $stmt->{count_distinct}; 
    3131    my ($col) = each %$cd; 
     32    my @select = @{$stmt->select}; 
    3233    $stmt->select([$col]); 
    3334    my $class = ref $stmt; 
    3435    my $main_stmt = $class->new; 
     36    $main_stmt->select(\@select); 
    3537    $main_stmt->from_stmt($stmt); 
    3638    $main_stmt->as_sql(@_);