Commit | Line | Data |
d16df239 |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More; |
5 | |
6 | use lib qw(t/lib); |
7 | use DBICTest ':DiffSQL'; |
8 | |
9 | my $schema = DBICTest->init_schema(); |
10 | |
11 | my $rs = $schema->resultset('Artist')->search( |
12 | [ -and => [ {}, [] ], -or => [ {}, [] ] ], |
13 | { |
14 | select => [], |
15 | columns => {}, |
16 | '+columns' => 'artistid', |
17 | join => [ {}, [ [ {}, {} ] ], {} ], |
18 | prefetch => [ [ [ {}, [] ], {} ], {}, [ {} ] ], |
19 | order_by => [], |
20 | group_by => [], |
21 | offset => 0, |
22 | } |
23 | ); |
24 | |
25 | is_same_sql_bind( |
26 | $rs->as_query, |
27 | '(SELECT me.artistid FROM artist me)', |
28 | [], |
29 | ); |
30 | |
31 | is_same_sql_bind( |
32 | $rs->count_rs->as_query, |
33 | '(SELECT COUNT(*) FROM artist me)', |
34 | [], |
35 | ); |
36 | |
37 | is_same_sql_bind( |
38 | $rs->as_subselect_rs->search({}, { columns => 'artistid' })->as_query, |
39 | '(SELECT me.artistid FROM (SELECT me.artistid FROM artist me) me)', |
40 | [], |
41 | ); |
42 | |
43 | { |
44 | local $TODO = 'Stupid misdesigned as_subselect_rs'; |
45 | is_same_sql_bind( |
46 | $rs->as_subselect_rs->as_query, |
47 | $rs->as_subselect_rs->search({}, { columns => 'artistid' })->as_query, |
48 | ); |
49 | } |
50 | |
51 | done_testing; |