Jochen Wiedmann defers to you on this point:
>Hi, Sean,
> I suggest you contact Tim Bunce on this topic.
> I have never actually used it, because I have
> never worked with Oracle. I hope Tim can say
> more.
>
>
> Regards,
>
> Jochen
The bind_param_inout implementation in DBD::Proxy seems to have a problem.
As I've tracked it down, the issue seems to be on line 430 (version
0.2003).
The code currently reads:
428 if (@outParams) {
429 foreach my $p (@$params) {
430 if (ref($p) && @$p > 2) {
431 my $ref = shift @outParams;
432 ${$p->[0]} = $$ref;
433 }
434 }
435 }
The tests on line 430 seem to be misdirected, when you consider the
bind_param subroutine.
547 sub bind_param ($$$@) {
548 my $sth = shift; my $param = shift;
549 $sth->{'proxy_params'}->[$param-1] = [@_];
550 }
551 *bind_param_inout = \&bind_param;
$p is always an arrayref. And @$p will not be >2 because you shift the
position element out.
I suggest the following as a better test:
430 if (ref($p->[0])) {
Please let me know if this fix is feasible, and if so, how soon I might
expect to see it released.