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.

Reply via email to