#26407 [Fbk->Opn]: Result set fetching broken around transactions (OpenClient Error #155)
| From: | tvoigt at informatik dot tu-cottbus dot de | Date: | Mon, 26 Jan 2004 12:20:30 +0000 |
| Subject: | #26407 [Fbk->Opn]: Result set fetching broken around transactions (OpenClient Error #155) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-53902@lists.php.net to get a copy of this message | ||
ID: 26407
User updated by: tvoigt at informatik dot tu-cottbus dot de
Reported By: tvoigt at informatik dot tu-cottbus dot de
-Status: Feedback
+Status: Open
Bug Type: Sybase-ct (ctlib) related
Operating System: Linux (i686) & Solaris 8
PHP Version: 4.3.4
New Comment:
Yes, we have Sybase's ctlib in production. We decided against FreeTDS
here (for it crashed *way* too often).
Here is the test output created by PHP/4.3.5RC2-dev (2004-01-26):
http://www.informatik.tu-cottbus.de/~tvoigt/php/php_test_results_20040126.txt
Thanks for your reply,
Thomas
Previous Comments:
------------------------------------------------------------------------
[2004-01-23 21:52:12] thekid@php.net
Can neither reproduce with PHP/4.3.4 nor with current CVS. I'm using
FreeTSD v.0.62 under FreeBSD/4.8-STABLE. Maybe this occurs with the
Sybase-libraries only?
Could you provide the ouput of
$ make test TESTS=ext/sybase_ct/
(execute in top source directory of a PHP checkout / snap)
------------------------------------------------------------------------
[2003-12-02 10:25:11] tvoigt at informatik dot tu-cottbus dot de
All sample queries above execute perfectly well up to PHP version
4.3.3; on PHP-4.3.4 (and later devel snapshots) I'll get the OpenClient
error message and those queries don't work.
Both PHP versions are configured identically (on both machines, running
Solaris or Linux). Nothing else has been altered. So whatever upsets
OpenClient must have its origin in changed code in PHP-4.3.4...
Thanks and best regards,
Thomas
------------------------------------------------------------------------
[2003-12-01 11:57:39] sniper@php.net
The other changes in the sources can not cause this.
Are you sure this isn't openclient bug?
Maybe you should ask them..
------------------------------------------------------------------------
[2003-12-01 11:50:48] tvoigt at informatik dot tu-cottbus dot de
Hi there!
Thanks for your reply!
Don't know if the mentioned bug/patch #23682 really interferes with my
problem. The patch mainly skips unwanted (pseudo-)results in favor for
getting the first real result set, right?
Whereas I'm not *that* interested in fetching a particular result. But
I have to depend on the database executing all of my queries up to the
end.
Because of query (II.) above, I assume that something deeper inside the
query executing/fetching mechanism is broken: Query (II.) doesn't
produce multiple result sets at all -- and the query fails with an
OpenClient message.
I'm not very familiar with C, but a 'diff' shows many changes in
php_sybase_ct.c (4.3.3 -> 4.3.4) besides that patch from #23682: A lot
of pointers became pointers of pointers and some additional Zend stuff
moved in.
The reported error message comes from the OpenClient library. Skipping
some unwanted results should not bother the underlying database
library, could it? Maybe there are some changes made in communication
timing and/or execution order?
Sybase's OpenClient documentation sadly is not very explicit about
error #155, but some quite similar errors origin in wrong timing or
execution order.
Thanks again for your time!
Best regards,
Thomas
------------------------------------------------------------------------
[2003-11-25 14:47:32] sniper@php.net
I would guess this is caused by fixing other bug:
http://bugs.php.net/bug.php?id=23682
Check that out..
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/26407
--
Edit this bug report at http://bugs.php.net/?id=26407&edit=1