- Fix hang in t/72pg.t when run against DBD::Pg 3.5.0. The ping()
implementation changes due to RT#100648 made an alarm() based
timeout lock-prone.
+ - Adjust Oracle SQLMaker to accommodate fixed API in SQL::Abstract
* Misc
- Remove warning about potential side effects of RT#79576 (scheduled)
}
# sadly SQLA treats where($scalar) as literal, so we need to jump some hoops
- push @where, map { \sprintf ('%s%s = %s%s',
- ref $_ ? $self->_recurse_where($_) : $self->_quote($_),
- $left_join,
- ref $on->{$_} ? $self->_recurse_where($on->{$_}) : $self->_quote($on->{$_}),
- $right_join,
- )} keys %$on;
+ push @where, map { \do {
+ my ($sql) = $self->_recurse_where({
+ # FIXME - more borkage, more or less a copy of the kludge in ::SQLMaker::_join_condition()
+ $_ => ( length ref $on->{$_}
+ ? $on->{$_}
+ : { -ident => $on->{$_} }
+ )
+ });
+
+ $sql =~ s/\s*\=/$left_join =/
+ if $left_join;
+
+ "$sql$right_join";
+ }
+ } sort keys %$on;
}
return { -and => \@where };