X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FAbstract%2FExtraClauses.pm;h=0ab5a9c0bc076685f8e0f51e4423f4613e6e097d;hb=a1f8b6efc03e9f71c39835fe9ae083fc3e386904;hp=eaac9c171cf9ca21ae4da60fa985c5dac8d3bc3a;hpb=3f9899e505733687a57b30404dff4a060dca7474;p=scpubgit%2FQ-Branch.git diff --git a/lib/SQL/Abstract/ExtraClauses.pm b/lib/SQL/Abstract/ExtraClauses.pm index eaac9c1..0ab5a9c 100644 --- a/lib/SQL/Abstract/ExtraClauses.pm +++ b/lib/SQL/Abstract/ExtraClauses.pm @@ -92,9 +92,9 @@ sub register_defaults { $self->renderer($_ => sub { my ($self, $setop, $args) = @_; - $self->join_clauses( + $self->join_query_parts( ' '.$self->format_keyword(join '_', $setop, ($args->{type}||())).' ', - map [ $self->render_aqt($_) ], @{$args->{queries}} + @{$args->{queries}} ); }) for qw(union intersect except); @@ -140,17 +140,17 @@ sub register_defaults { $self->clause_expander('select.with_recursive', $with_expander); $self->clause_renderer('select.with' => sub { my ($self, undef, $with) = @_; - my $q_part = [ $self->join_clauses(', ', + my $q_part = [ $self->join_query_parts(', ', map { my ($alias, $query) = @$_; - [ $self->join_clauses(' ', + [ $self->join_query_parts(' ', [ $self->_render_alias($alias) ], [ $self->format_keyword('as') ], - [ $self->render_aqt($query) ], + $query, ) ] } @{$with->{queries}} ) ]; - return $self->join_clauses(' ', + return $self->join_query_parts(' ', [ $self->format_keyword(join '_', 'with', ($with->{type}||'')) ], $q_part, ); @@ -215,7 +215,7 @@ sub _expand_join { sub _render_from_list { my ($self, undef, $list) = @_; - return $self->join_clauses(', ', map [ $self->render_aqt($_) ], @$list); + return $self->join_query_parts(', ', @$list); } sub _render_join { @@ -236,7 +236,7 @@ sub _render_join { [ $self->render_aqt($args->{using}) ], ) : ()), ); - return $self->join_clauses(' ', @parts); + return $self->join_query_parts(' ', @parts); } sub _expand_op_as { @@ -249,7 +249,7 @@ sub _expand_op_as { sub _render_as { my ($self, undef, $args) = @_; my ($thing, @alias) = @$args; - return $self->join_clauses( + return $self->join_query_parts( ' ', [ $self->render_aqt($thing) ], [ $self->format_keyword('as') ], @@ -261,12 +261,12 @@ sub _render_alias { my ($self, $args) = @_; my ($as, @cols) = @$args; return (@cols - ? $self->join_clauses('', - [ $self->render_aqt($as) ], + ? $self->join_query_parts('', + $as, [ '(' ], - [ $self->join_clauses( + [ $self->join_query_parts( ', ', - map [ $self->render_aqt($_) ], @cols + @cols ) ], [ ')' ], )