$opt{node_types} = +{
map +("-$_" => '_render_'.$_),
- qw(op func value bind ident literal list)
+ qw(op func bind ident literal list)
};
$opt{expand_unary} = {};
}
if (!ref($expr) or Scalar::Util::blessed($expr)) {
if (my $d = $Default_Scalar_To) {
- return +{ $d => $expr };
+ return $self->_expand_expr({ $d => $expr });
}
if (my $m = our $Cur_Col_Meta) {
return +{ -bind => [ $m, $expr ] };
}
- return +{ -value => $expr };
+ return +{ -bind => [ undef, $expr ] };
}
die "notreached";
}
return { -op => [ $op, $v ] };
}
}
- if ($k eq '-value' and my $m = our $Cur_Col_Meta) {
- return +{ -bind => [ $m, $v ] };
+ if ($k eq '-value') {
+ return +{ -bind => [ our $Cur_Col_Meta, $v ] };
}
if (my $custom = $self->{expand_unary}{$k}) {
return $self->$custom($v);
return $self->_convert($self->_quote($ident));
}
-sub _render_value {
- my ($self, $value) = @_;
-
- return ($self->_convert('?'), $self->_bindtype(undef, $value));
-}
-
my %unop_postfix = map +($_ => 1),
'is null', 'is not null',
'asc', 'desc',