more tweaks
[dbsrgits/SQL-Abstract.git] / test.pl
1 use SQL::Abstract2;
2
3 my $bind_vars = [];
4 my $q = SQL::Abstract2->new;
5
6 my $test_struct =
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     ],
48   ];
49 #    [-'limit' => [-value => 30],  [-value => 100]],
50 print $q->handle_op($test_struct);