X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FAbstract%2FClauses.pm;h=aae578253c87593d73f9e236c3e610b939e4028d;hb=a0fdc34f069ca43e0f7204ad29a51468243f5b9c;hp=74bb20e4d9e29b9912bf6ca55037c5dd4fe9472f;hpb=5d4463f6e61ba46ff9755d2104bd1e33a8924300;p=scpubgit%2FQ-Branch.git diff --git a/lib/SQL/Abstract/Clauses.pm b/lib/SQL/Abstract/Clauses.pm index 74bb20e..aae5782 100644 --- a/lib/SQL/Abstract/Clauses.pm +++ b/lib/SQL/Abstract/Clauses.pm @@ -220,9 +220,9 @@ sub render_aqt { sub render_statement { my ($self, $expr, $default_scalar_to) = @_; - $self->render_aqt( + @{$self->render_aqt( $self->expand_expr($expr, $default_scalar_to), 1 - ); + )}; } sub select { @@ -243,8 +243,8 @@ sub select { } }; - my $rendered = $self->render_statement({ -select => $stmt }); - return wantarray ? @$rendered : $rendered->[0]; + my @rendered = $self->render_statement({ -select => $stmt }); + return wantarray ? @rendered : $rendered[0]; } sub update { @@ -262,8 +262,8 @@ sub update { \%clauses; } }; - my $rendered = $self->render_statement({ -update => $stmt }); - return wantarray ? @$rendered : $rendered->[0]; + my @rendered = $self->render_statement({ -update => $stmt }); + return wantarray ? @rendered : $rendered[0]; } sub delete { @@ -277,8 +277,8 @@ sub delete { \%clauses; } }; - my $rendered = $self->render_statement({ -delete => $stmt }); - return wantarray ? @$rendered : $rendered->[0]; + my @rendered = $self->render_statement({ -delete => $stmt }); + return wantarray ? @rendered : $rendered[0]; } sub insert { @@ -292,8 +292,8 @@ sub insert { \%clauses; } }; - my $rendered = $self->render_statement({ -insert => $stmt }); - return wantarray ? @$rendered : $rendered->[0]; + my @rendered = $self->render_statement({ -insert => $stmt }); + return wantarray ? @rendered : $rendered[0]; } sub _expand_insert_clause_target { @@ -394,6 +394,8 @@ BEGIN { } } +sub register_op { $_[0]->{is_op}{$_[1]} = 1; $_[0] } + sub statement_list { sort keys %{$_[0]->{clauses_of}} } sub clauses_of {