On Apr 10, 2:34 pm, [EMAIL PROTECTED] (Pgodfrin) wrote:
> On Apr 10, 1:15 pm, [EMAIL PROTECTED] (Douglas Wilson) wrote:
>
>
>
> > To Christian Merz:
> > I'm executing this 1000's of times in the actual code, that is why I've
> > prepared the query rather than passing in the sql string every time.
>
> > For now I am just calling execute(), fetchrow_array(), and finish()
> > explicitly.
>
> > Below find the trace output:
>
> > On Thu, Apr 10, 2008 at 7:54 AM, Tim Bunce <[EMAIL PROTECTED]> wrote:
>
> > > On Wed, Apr 09, 2008 at 04:29:48PM -0700, Douglas Wilson wrote:
>
> > with trace(9)
>
> > $dbh->trace(9);
>
> > >  > my $total;
> > >  > ( $total ) = $dbh->selectrow_array( $sth, undef, $id );
> > >  > ( $total ) = $dbh->selectrow_array( $sth, undef, $id );
> > >  A DBI trace should shed more light on it.
>
> > trace output:
> >      DBI::db=HASH(0x401aae68) trace level set to 0x0/9 (DBI @ 0x0/0)
> > in DBI 1.602-nothread (pid 1812)
> >     -> selectrow_array for DBD::Sybase::db
> > (DBI::db=HASH(0x401aaef8)~0x401aae68 DBI::st=HASH(0x401ab0d8) undef
> > 10600)
> > bind :p1 <== '10600' (attribs: )
> >        bind :p1 () <== 10600 (size 5/8/0, ptype 6, otype 0)
> >        bind :p1 <== '10600' (size 7, ok 1)
> >        datafmt: type=8, name=, status=256, len=4
> >        saved type: 8
> >     cmd_execute() -> ct_send() OK
> >     cmd_execute() -> set inUse flag
> >     st_next_result() -> ct_results(4040) == 1
> >     ct_res_info() returns 1 columns
> >     STORE DBI::st=HASH(0x401ab0d8) 'NUM_OF_FIELDS' => 1
> >     ct_describe(0): type = 10, maxlen = 8
> >     describe() -> col 0, type 10, realtype 10
> > describe() retcode = 1
> >     st_next_result() -> lasterr = 0, lastsev = 0
> >     dbih_setup_fbav alloc for 1 fields
> >     dbih_setup_fbav now 1 fields
> >     syb_st_fetch() -> ct_fetch() = -204 (0 rows, 1 cols)
> >     st_next_result() -> ct_results(4046) == 1
> >     st_next_result() -> ct_results(4047) == 1
> >     st_next_result() -> ct_results(4046) == 1
> > ct_results(4046) final retcode = -205
> >     st_next_result() -> lasterr = 0, lastsev = 0
> >     st_next_result() -> got CS_CMD_DONE: resetting ACTIVE,
> > moreResults, dyn_execed, exec_done
> >     clear_sth_flags() -> resetting ACTIVE, moreResults, dyn_execed, 
> > exec_done
> >     clear_sth_flags() -> reset inUse flag
> >     syb_st_fetch() -> st_next_results() == 4046
> >     clear_sth_flags() -> resetting ACTIVE, moreResults, dyn_execed, 
> > exec_done
> >     clear_sth_flags() -> reset inUse flag
> >     <- selectrow_array= ( ) [0 items] at ./tst line 22
> >     -> selectrow_array for DBD::Sybase::db
> > (DBI::db=HASH(0x401aaef8)~0x401aae68 DBI::st=HASH(0x401ab0d8) undef
> > 10600)
> > bind :p1 <== '10600' (attribs: )
> >        bind :p1 () <== 10600 (size 5/8/7, ptype 6, otype 0)
> >        bind :p1 <== '10600' (size 7, ok 1)
> >        datafmt: type=8, name=, status=256, len=4
> >        saved type: 8
> >     cmd_execute() -> ct_send() OK
> >     cmd_execute() -> set inUse flag
> >     st_next_result() -> ct_results(4040) == 1
> > Can't locate object method "DELETE" via package "DBI::st" at ./tst line 23.
> > !   -> DESTROY for DBD::Sybase::db (DBI::db=HASH(0x401aae68)~INNER)
> >     syb_db_disconnect() -> ct_close()
> > !   <- DESTROY= undef during global destruction
>
> Two questions, do you have RaiseError set anywhere? (I see no explicit
> error checking)
>
> And - could there be only one row of data?
>
> phil

I'm a nitwit - sorry...
pg

Reply via email to