ident => '_expand_ident',
value => '_expand_value',
func => '_expand_func',
+ values => '_expand_values',
};
$opt{expand_op} = {
return { -bind => $bind };
}
+sub _expand_values {
+ my ($self, undef, $values) = @_;
+ return { -values => [
+ map +(
+ ref($_) eq 'HASH'
+ ? $self->expand_expr($_)
+ : +{ -row => [ map $self->expand_expr($_), @$_ ] }
+ ), ref($values) eq 'ARRAY' ? @$values : $values
+ ] };
+}
+
sub _recurse_where {
my ($self, $where, $logic) = @_;