Commit | Line | Data |
fd0d9ec8 |
1 | use SQL::Abstract2; |
2 | |
3 | my $bind_vars = []; |
4 | my $q = SQL::Abstract2->new; |
5 | |
6 | my $test_struct = |
2d381aa9 |
7 | [ -order_by => |
8 | [-asc => [-name => 'field3']], |
9 | [ -group_by => |
10 | [ -name => 'field4' ], |
11 | [-select => |
12 | [-list => |
13 | [-name => qw/table1 field1/], |
14 | [-name => qw/table1 field2/], |
15 | [-name => qw/table2 field3/], |
16 | ], |
17 | [ -where => [-and => [-and => ( ['<' => ( [-name => qw/table1 field1/], |
18 | [-date_sub => ['-curr_date'], qw/15 DAY/] |
19 | ), |
20 | ], |
21 | ['!=' => [-name => 'field3'], [-value => undef] ], |
22 | ['=' => [-name => 'field4'], [-value => 500] ], |
23 | ), |
24 | ], |
25 | [-or => ( [-in => [-name => 'field5'], [-value => 100], [-value => 100]], |
26 | [-between => [-name => 'field6'], [-value => 12], [-value => 26]] |
27 | ), |
28 | ], |
29 | ], |
30 | [-from => ( [-name => 'schema', 'table1'], |
31 | [-alias => [-name => 'schema', 'table1'], 'table2'] , |
32 | ['-left join' => |
33 | [-alias => [-name => 'schema', 'table2',], 'table3'], |
34 | [-on => [ -and => ( ['=', ( [-name => 'table1', 'fielda'], |
35 | [-name => 'table2', 'fielda'] ) ], |
36 | ['=', ( [-name => 'table1', 'fielda'], |
37 | [-name => 'table2', 'fielda'] ) ], |
38 | ), |
39 | ], |
40 | ], |
41 | ], |
42 | ) |
43 | ], |
44 | |
45 | ], |
46 | ], |
47 | ], |
fd0d9ec8 |
48 | ]; |
2d381aa9 |
49 | # [-'limit' => [-value => 30], [-value => 100]], |
fd0d9ec8 |
50 | print $q->handle_op($test_struct); |