X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FAbstract%2FCompat.pm;h=1c13897970533631ce64db348c02b7cd9342a7b1;hb=bad761ba581f9b27669725e3f8c08eee198d094c;hp=aa2bba6925baba83b5c97cb9cddfe84ab1c47c8d;hpb=de1a11fabe91320f1fea40ca846026ee3e8707fa;p=dbsrgits%2FSQL-Abstract-2.0-ish.git diff --git a/lib/SQL/Abstract/Compat.pm b/lib/SQL/Abstract/Compat.pm index aa2bba6..1c13897 100644 --- a/lib/SQL/Abstract/Compat.pm +++ b/lib/SQL/Abstract/Compat.pm @@ -3,10 +3,13 @@ use MooseX::Declare; class SQL::Abstract::Compat { use Moose::Util::TypeConstraints; - use MooseX::Types -declare => [qw/LogicEnum/]; + use MooseX::Types::Moose qw/Str ScalarRef ArrayRef HashRef/; + use MooseX::Types -declare => [qw/LogicEnum WhereType/]; enum LogicEnum, qw(OR AND); + subtype WhereType, as Str; + clean; has logic => ( @@ -15,15 +18,26 @@ class SQL::Abstract::Compat { default => 'AND' ); + + method select(Str|ArrayRef|ScalarRef $from, ArrayRef|Str $fields, Str|ScalarRef|ArrayRef|HashRef $where?, Str|ScalarRef|ArrayRef|HashRef $order?) { return ("", ); } - method where(Str|ScalarRef|ArrayRef|HashRef $where?, + method where(Str|ScalarRef|ArrayRef|HashRef $where, Str|ScalarRef|ArrayRef|HashRef $order?) { + + my $ast = { + -type => 'expr', + }; } + + method recurse_where(LogicEsnum $where) { + + } + } =head1 NAME