my ($block, $in) = @_;
local $_ = $in;
$_ = $block->($_) if ref($_) eq 'HASH';
-#::Dwarn([mapped => $_]);
if (ref($_) eq 'REF' and ref($$_) eq 'HASH') {
$$_;
} elsif (ref($_) eq 'HASH') {
-#::Dwarn([unmapped => $_]);
-#::Dwarn([mapped => $mapped]);
my $mapped = $_;
local $_;
+{ map +($_ => &map_descending($block, $mapped->{$_})), keys %$mapped };
sub _oracle_joins_unroll {
my ($self, $dq) = @_;
map_descending {
-#warn "here";
-#::Dwarn([unroll => $_]);
return $_ unless is_Join;
return \$self->_oracle_joins_mangle_join($_);
} $dq;
my ($mangled, $where) = $self->_oracle_joins_recurse_join($dq);
Where(
(@$where > 1
- ? Operator({ 'SQL.Naive' => 'and' }, $where)
+ ? Operator({ 'SQL.Naive' => 'AND' }, $where)
: $where->[0]),
$mangled
);