On Thu, Apr 29, 2004 at 03:56:20PM -0600, Ralph E. Reschke, Jr. wrote:
>    Thanks all for your assistance on this!
> 
>    Apparently my problem was that I was not capturing the "@tuple_status" 
> information immediately after the
>    "execute_array" call.  Apparently this data does not persist for very long.  
> Thanks again.

I'm glad it's resolved. But the persistance of the data in @tuple_status
is entirely in the hands of the application. The DBI doesn't alter
it in any way after execute_array() returns.

Tim.

>  --
>  Ralph
>  Office:  B2-D19
>  303-538-2161 (work)
>  303-425-9995 (home)
>  [EMAIL PROTECTED]
> 
>    Tim Bunce wrote:
> 
>  On Mon, Apr 26, 2004 at 10:34:15AM -0600, Ralph E. Reschke, Jr. wrote:
>   
> 
>     Tim,
> 
>     Thanks very much for getting back.  Here's a snippet of my code - basically 
> copied right out of the
>     documentation:
> 
>     ...
>     for($i=1; $i <= (($FldsLeft > 100)?100:$FldsLeft); $i++)
>     {
>         $sth->bind_param_array($i,$BindArrays[$i - 1]);
>     }
>     $DBIret = $sth->execute_array({ ArrayTupleStatus => \my @my_tuple_status });
>     if(!defined($DBIret)) {
>     ...
> 
>     $DBIret does come back as not defined, as expected, but I never see anything 
> populated in the
>     "my_tuple_status" array.
> 
>     Thanks for any input you may have!
>     
> 
>  I don't have any. The DBI test suite does:
> 
>          my $tuple_status = [];
>          ...
>          ok( $sth->bind_param_array(4, [ qw(a b c) ]) );
>          ok( $sth->execute_array({ ArrayTupleStatus => $tuple_status }) );
>          ok( @$rows, 3 );
>          ok( @$tuple_status, 3 );
>          $dumped = Dumper($rows);
>          ok( $dumped, "[[1,42,undef,'a'],[2,42,undef,'b'],[3,42,undef,'c']]");
>          $dumped = Dumper($tuple_status);
>          ok( $dumped, "[1,1,1]");
> 
>  so the logic in the DBI should be working fine. And DBD::Informix
>  doesn't override the methods.
> 
>  So now it's down to you to do some good old fashioned debugging...
> 
>  Tim.
> 
> 
>   
> 
>   --
>   Ralph
>   Office:  B2-D19
>   303-538-2161 (work)
>   303-425-9995 (home)
>   [EMAIL PROTECTED]
> 
>     Tim Bunce wrote:
> 
>   On Fri, Apr 23, 2004 at 04:04:45PM -0600, Ralph E. Reschke, Jr. wrote:
>   
> 
>   To anyone that may have some knowledge about this:
> 
>   I'm using the DBI functions "bind_param_array" and "execute_array" to
>   bulk insert some records into an Informix database.  When calling
>   "execute_array", I'm using the parameter "{ ArrayTupleStatus =>
>   @tuple_status }".  Whenever there is a problem loading a tuple into the
>   database (invalid field type, duplicate row, etc.), I don't ever get
>   anything populated in the "@tuple_status" array.
> 
>   Has anyone encountered this problem before?  If so, does anyone know how
>   to get any failure information on the tuple that fails?  Thanks!
>     
> 
>   I suspect you're not passing the correct attribute and value.
>   (For example, you need to pass an array _reference_, unlike above.)
>   Please show the relevant chunk of code.
> 
>   Tim.
>   
>     

Reply via email to