Hello!

On Mon, 10 Sep 2007, Tim Bunce wrote:

On Fri, Sep 07, 2007 at 11:06:02PM +0400, Alexander V Alekseev wrote:
                Hello!

On Fri, 7 Sep 2007, Alexander V Alekseev wrote:

        The final release of Oracle SYS.DBMS_SQL.VARCHAR2_TABLE &
SYS.DBMS_SQL.NUMBER_TABLE support in DBD::Oracle is attached.

        Documentation, usage examples are included.

        Examples assume that a patch to DBI is applied.
A patch is also included. If you choose not to modify DBI,
        Forgot to attach DBI patch, though I already sent it to the
list. Patch is attached just to keep everything needed in a single list
thread.

And, for the same reason, I'll restate that the DBI patch is neither
needed nor appropriate. bind_param_inout() takes a reference to the
value. In this case that value is also a reference. All is well.

        From my example:

        $sth->bind_param_inout(":mytable", [EMAIL PROTECTED], 10, {
                        TYPE => DBD::Oracle::ORA_VARCHAR2,
                        ora_maxarray_numentries => 100 } );

Here, "[EMAIL PROTECTED]" is a reference, but standard DBI declines it
as a reference to array. It accepts only reference to scalar.
Without change, user would have to:

        my @arr1;
        my [EMAIL PROTECTED];
        my $ref2=\$ref1;

        $sth->bind_param_inout(":mytable", $ref2 , 10 , ... )

Don't you think, it's better to use the first format ?

                Bye. Alex.

Reply via email to