return $self->_expand_expr($v);
}
puke "-bool => undef not supported" unless defined($v);
- return { -ident => $v };
+ return $self->_expand_ident(-ident => $v);
}
if ($k eq '-not') {
return { -op => [ 'not', $self->_expand_expr($v) ] };
return +{
-op => [
$self->{cmp},
- { -ident => $k },
+ $self->_expand_ident(-ident => $k),
($d ? { $d => $v } : { -bind => [ $k, $v ] })
]
};
}
return +{ -op => [
join(' ', split '_', $vk),
- { -ident => $k },
+ $self->_expand_ident(-ident => $k),
@rhs
] }
}
my ($sql, @bind) = @$literal;
my $opened_sql = $self->_open_outer_paren($sql);
return +{ -op => [
- $vk, { -ident => $k },
+ $vk, $self->_expand_ident(-ident => $k),
[ { -literal => [ $opened_sql, @bind ] } ]
] };
}
return +{ -op => [
join(' ', split '_', $vk),
- { -ident => $k },
+ $self->_expand_ident(-ident => $k),
\@rhs
] };
}
my ($self, undef, $body) = @_;
my @parts = map split(/\Q${\($self->{name_sep}||'.')}\E/, $_),
ref($body) ? @$body : $body;
+ return { -ident => $parts[-1] } if $self->{_dequalify_idents};
+ unless ($self->{quote_char}) {
+ $self->_assert_pass_injection_guard($_) for @parts;
+ }
return +{ -ident => \@parts };
}