Re: DBD::ODBC: crash in ping (after disconnect)

2005-02-08 Thread Steffen Goeldner
Jeff Urlwin wrote: That's probably the best thing, but there are probably more places... After reviewing the code, I think I don't like the duplication of the henv -- but the short term patch is whenever you see a SQLFreeEnv, also set the imp_dbh->henv to SQL_NULL_ENV. Sorry I haven't looked at b

RE: DBD::ODBC: crash in ping (after disconnect)

2005-02-07 Thread Jeff Urlwin
Sent: Monday, February 07, 2005 5:02 AM > Cc: Martin J. Evans; [EMAIL PROTECTED]; dbi-dev@perl.org > Subject: Re: DBD::ODBC: crash in ping (after disconnect) > > > Steffen Goeldner wrote: > > > O.k., attached. Looks like SQLError receives a freed SQL_HANDLE_ENV. > &g

Re: DBD::ODBC: crash in ping (after disconnect)

2005-02-07 Thread Steffen Goeldner
Steffen Goeldner wrote: O.k., attached. Looks like SQLError receives a freed SQL_HANDLE_ENV. Not sure, but I think I fixed the problem. In dbd_db_login6, I found: imp_dbh->henv = imp_drh->henv; /* needed for dbd_error */ In dbd_db_disconnect, I found: imp_drh->henv = SQL_NULL_HENV; and add

Re: DBD::ODBC: crash in ping (after disconnect)

2005-01-20 Thread Steffen Goeldner
Martin J. Evans wrote: Caught a SIGSEGV at C:/opt/perl/site/lib/DBD/ODBC.pm line 208 That is the tables call in the ping method. The only time you only have an environment handle dbd_error: err_rc=-1 rc=0 s/d/e: 0/0/21631648 is when not connected to the DSN. The driver manager is supposed to handle

RE: DBD::ODBC: crash in ping (after disconnect)

2005-01-19 Thread Martin J. Evans
Hi, Caught a SIGSEGV at C:/opt/perl/site/lib/DBD/ODBC.pm line 208 That is the tables call in the ping method. The only time you only have an environment handle dbd_error: err_rc=-1 rc=0 s/d/e: 0/0/21631648 is when not connected to the DSN. The driver manager is supposed to handle this. How can

DBD::ODBC: crash in ping (after disconnect)

2005-01-19 Thread Steffen Goeldner
Hi Jeff, I have the following test script: use sigtrap; use DBI(); use Test::More tests => 5; my $dbh = DBI->connect or die $DBI::errstr; ok( $dbh->{$_}, $_) for 'Active'; ok( $dbh-> $_ , $_) for 'ping'; ok( $dbh-> $_ , $_) for 'disconnect'; ok(!$dbh->{$_}, $_) for 'Active'; ok(!$