X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FQ-Branch.git;a=blobdiff_plain;f=lib%2FSQL%2FAbstract%2FExtraClauses.pm;h=00e4d2aea8da406ddb8614b7871309928bc6d792;hp=c46a632cd7a14f4fa3e917b23c86deae406db151;hb=ee706e89c8703b720f970a16163d36de9a30e7d4;hpb=a6227174a2da16e74d31f5067fbbb6e83e683a05 diff --git a/lib/SQL/Abstract/ExtraClauses.pm b/lib/SQL/Abstract/ExtraClauses.pm index c46a632..00e4d2a 100644 --- a/lib/SQL/Abstract/ExtraClauses.pm +++ b/lib/SQL/Abstract/ExtraClauses.pm @@ -28,8 +28,18 @@ sub register_defaults { $self->expander(as => '_expand_op_as'); $self->renderer(as => '_render_as'); - splice(@{$self->{clauses_of}{update}}, 2, 0, 'from'); - splice(@{$self->{clauses_of}{delete}}, 1, 0, 'using'); + $self->clauses_of(update => sub { + my ($self, @clauses) = @_; + splice(@clauses, 2, 0, 'from'); + @clauses; + }); + + $self->clauses_of(delete => sub { + my ($self, @clauses) = @_; + splice(@clauses, 1, 0, 'using'); + @clauses; + }); + $self->clause_expanders( 'update.from' => '_expand_select_clause_from', 'delete.using' => sub {