Re: finishing sth using Childhandles





On Aug 29, 2006, at 2:08 PM, michael.peppler@xxxxxxxxxxxxxx wrote:


As you see this calls the DESTROY for the sth (which cancels the query),
and then calls the DESTROY for the dbh (which closes the connection). There
is no special code in DBD::Sybase to handle this case AFAIK.


Thanks, I didn't have easy access to a DBI-enabled machine today :-)
However, the dbh undef calls the sth DESTROY which calls the sth finish(), and the sth finish can, in some cases, throw an error such as the one I had that says :
dbih_setup_fbav: invalid number of fields: -1, NUM_OF_FIELDS attribute probably not set right

The "in some cases" above is after a signal interrupt, when the sth is potentially a bad state.
So how do I clear the sth when I know it's in a bad state, without calling finish() that expects the sth to be in a workable state?

H
.



Relevant Pages

  • Re: finishing sth using Childhandles
    ... active sth. ... dbh or sth, I can update the dbh to turn off syb_flush_finish, which is quite logical and should be done by the client ... at that time the dbh may well be in a bad state since it's right after a signal interrupt. ... Toute utilisation de ce ...
    (perl.dbi.users)
  • Re: swap_inner_handle
    ... I create a new dbh and swap its inner handle with dbh. ... Now is sth a child of dbh or new_dbh? ...
    (perl.dbi.users)
  • Re: swap_inner_handle
    ... I create a new dbh and swap its inner handle with dbh. ... Now is sth a child of dbh or new_dbh? ... Ok so now sth and new_sth are children of the same inner dbh, and no reparenting is being done when I swap them. ...
    (perl.dbi.users)
  • RE: Questions about connectivity
    ... > I have a related question, if I've stored some private_ data in the $dbh ... I wanted to use an ErrorHandler subroutine which reads the private_ data. ... But if the error occurs through an $sth I get a DBI::st rather than the ... to control the creation code of the $dbh not any subsequent $sth's). ...
    (perl.dbi.users)
  • Re: swap_inner_handle
    ... Say I have a dbh with an active sth. ... I create a new dbh and swap its inner handle with dbh. ...
    (perl.dbi.users)