use_ok('SQL::Abstract') or BAIL_OUT( "$@" );
-my $sqla = SQL::Abstract->new;
-is $sqla->generate( [ -name => qw/me id/]), "me.id",
+my $sqla = SQL::Abstract->new(ast_version => 1);
+is $sqla->dispatch( [ -name => qw/me id/]), "me.id",
"Simple name generator";
-is $sqla->generate(
+is $sqla->dispatch(
[ -list =>
[ -name => qw/me id/],
[ -name => qw/me foo bar/],
), "me.id, me.foo.bar, bar",
"List generator";
-is $sqla->generate(
+is $sqla->dispatch(
[ -alias => [ -name => qw/me id/], "foobar", ]
), "me.id AS foobar",
"Alias generator";
-is $sqla->generate(
+is $sqla->dispatch(
[ -order_by => [ -name => qw/me date/ ] ]
), "ORDER BY me.date";
-is $sqla->generate(
+is $sqla->dispatch(
[ -order_by =>
[ -name => qw/me date/ ],
[ -name => qw/me foobar/ ],
]
), "ORDER BY me.date, me.foobar";
-is $sqla->generate(
+is $sqla->dispatch(
[ -order_by => [ -desc => [ -name => qw/me date/ ] ] ]
), "ORDER BY me.date DESC";
-is $sqla->generate(
+is $sqla->dispatch(
[ -where =>
[ '>', [-name => qw/me id/], [-value => 500 ] ]
]
), "WHERE me.id > ?", "where clause";
eq_or_diff( [ SQL::Abstract->generate(
- [ -where =>
+ [ -ast_version => 1,
+ -where =>
[ '>', [-name => qw/me id/], [-value => 500 ] ],
[ '==', [-name => qw/me name/], [-value => '200' ] ]
]
);
-is $sqla->generate(
+is $sqla->dispatch(
[ -where => -or =>
[ '>', [-name => qw/me id/], [-value => 500 ] ],
[ '==', [-name => qw/me name/], [-value => '200' ] ],
), "WHERE me.id > ? OR me.name = ?", "where clause";
-is $sqla->generate(
+is $sqla->dispatch(
[ -where => -or =>
[ '>', [-name => qw/me id/], [-value => 500 ] ],
[ -or =>
]
), "WHERE me.id > ? OR me.name = ? OR me.name = ?", "where clause";
-is $sqla->generate(
+is $sqla->dispatch(
[ -where => -or =>
[ '==', [-name => qw/me id/], [-value => 500 ] ],
[ -and =>
]
), "WHERE me.id = ? OR me.name > ? AND me.name < ?", "where clause";
-is $sqla->generate(
+is $sqla->dispatch(
[ -where => -and =>
[ '==', [-name => qw/me id/], [-value => 500 ] ],
[ -and =>
), "WHERE me.id = ? AND me.name > ? AND me.name < ?", "where clause";
-is $sqla->generate(
+is $sqla->dispatch(
[ -where => -and =>
[ '==', [-name => qw/me id/], [-value => 500 ] ],
[ -or =>
eq_or_diff(
[SQL::Abstract->generate(
- [ -where =>
+ [ -ast_version => 1,
+ -where =>
[ -in =>
[-name => qw/me id/],
[-value => '100' ],