$sqla->clause_expanders(
'update.from' => $self->cb('_expand_select_clause_from'),
- 'delete.using' => $self->cb(sub {
- +(using => $_[0]->_expand_from_list(undef, $_[2]));
- }),
+ 'delete.using' => $self->cb('_expand_from_list'),
'insert.rowvalues' => $self->cb(sub {
+(from => $_[0]->expand_expr({ -values => $_[2] }));
}),
}
sub _expand_select {
- my ($self, $orig, $before_setop) = (shift, shift, shift);
- my $exp = $self->sqla->$orig(@_);
+ my ($self, $orig, $before_setop, @args) = @_;
+ my $exp = $self->sqla->$orig(@args);
return $exp unless my $setop = (my $sel = $exp->{-select})->{setop};
if (my @keys = grep $sel->{$_}, @$before_setop) {
my %inner; @inner{@keys} = delete @{$sel}{@keys};