X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FAbstract%2FExtraClauses.pm;h=c055b8b28a12250ce18546c31ddb26edb53b92b1;hb=a01911a20b326afd1a45f97f14aca68206708eba;hp=90716df68da56980191928e353cb844a265a67ee;hpb=f9f1fdcdafdb446bede69c98a8a5b64fd9fef09e;p=scpubgit%2FQ-Branch.git diff --git a/lib/SQL/Abstract/ExtraClauses.pm b/lib/SQL/Abstract/ExtraClauses.pm index 90716df..c055b8b 100644 --- a/lib/SQL/Abstract/ExtraClauses.pm +++ b/lib/SQL/Abstract/ExtraClauses.pm @@ -92,7 +92,7 @@ sub register_defaults { foreach my $setop (qw(union intersect except)) { $self->renderer($setop => sub { - my ($self, $args) = @_; + my ($self, undef, $args) = @_; $self->join_clauses( ' '.$self->format_keyword(join '_', $setop, ($args->{type}||())).' ', map [ $self->render_aqt($_) ], @{$args->{queries}} @@ -155,10 +155,9 @@ sub register_defaults { ) ] } @{$with->{queries}} ) ]; - return $self->join_clauses('', - [ $self->format_keyword(join '_', 'with', ($with->{type}||'')).' (' ], + return $self->join_clauses(' ', + [ $self->format_keyword(join '_', 'with', ($with->{type}||'')) ], $q_part, - [ ')' ], ); }); @@ -220,12 +219,12 @@ sub _expand_join { } sub _render_from_list { - my ($self, $list) = @_; + my ($self, undef, $list) = @_; return $self->join_clauses(', ', map [ $self->render_aqt($_) ], @$list); } sub _render_join { - my ($self, $args) = @_; + my ($self, undef, $args) = @_; my @parts = ( [ $self->render_aqt($args->{from}) ], @@ -253,7 +252,7 @@ sub _expand_op_as { } sub _render_as { - my ($self, $args) = @_; + my ($self, undef, $args) = @_; my ($thing, @alias) = @$args; return $self->join_clauses( ' ',