Changeset 68
- Timestamp:
- 05/04/06 00:05:02 (4 years ago)
- Location:
- trunk
- Files:
-
- 2 modified
-
lib/Data/ObjectDriver/SQL.pm (modified) (1 diff)
-
t/11-sql.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Data/ObjectDriver/SQL.pm
r20 r68 31 31 $sql .= $stmt->as_sql_where; 32 32 if (my $order = $stmt->order) { 33 $sql .= 'ORDER BY ' . $order->{column} . ' ' . $order->{desc} . "\n"; 33 my $orders = (ref($order) eq 'ARRAY') ? $order : [ $order ]; 34 $sql .= 'ORDER BY ' 35 . join(', ', map { $_->{column} . ' ' . $_->{desc} } @$orders) 36 . "\n"; 34 37 } 35 38 if (my $n = $stmt->limit) { -
trunk/t/11-sql.t
r54 r68 28 28 $stmt->from([ 'foo' ]); 29 29 $stmt->order({ column => 'baz', desc => 'DESC' }); 30 is($stmt->as_sql, "FROM foo\nORDER BY baz DESC\n"); 30 is($stmt->as_sql, "FROM foo\nORDER BY baz DESC\n", 'single order by'); 31 32 $stmt = ns(); 33 $stmt->from([ 'foo' ]); 34 $stmt->order([ { column => 'baz', desc => 'DESC' }, 35 { column => 'quux', desc => 'ASC' }, ]); 36 is($stmt->as_sql, "FROM foo\nORDER BY baz DESC, quux ASC\n", 'multiple order by'); 31 37 32 38 ## Testing LIMIT and OFFSET
