#22860 [Fbk->NoF]: odbc_longreadlen() corruption problem

From: Date: Mon, 21 Apr 2003 14:18:00 +0000
Subject: #22860 [Fbk->NoF]: odbc_longreadlen() corruption problem
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-37944@lists.php.net to get a copy of this message
ID: 22860 Updated by: sniper@php.net Reported By: truth at ichaos dot com -Status: Feedback +Status: No Feedback Bug Type: ODBC related Operating System: SuSE 8.0 PHP Version: 4.3.2-RC New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. Previous Comments: ------------------------------------------------------------------------ [2003-04-08 07:59:52] kalowsky@php.net odbc_set_option. ------------------------------------------------------------------------ [2003-04-08 01:00:41] truth at ichaos dot com How do I do that? ------------------------------------------------------------------------ [2003-04-08 00:30:30] kalowsky@php.net Can you try doing something random like changing the CURSOR type to SQL_CURSOR_FORWARD_ONLY? DB2 doesn't like the DYNAMIC CURSOR used by PHP for some reason, and I wonder if thats the case. I'm unable to reproduce this behavior here locally though, so it might just be a DB2 specific problem. ------------------------------------------------------------------------ [2003-03-25 00:07:46] truth at ichaos dot com Actually I tried this with a string that was 28968 chars long, and this it was actually 16388 chars long instead of 2000000. The characters beyond 4096 were corrupted. Sorry for the exagerated numbers. ------------------------------------------------------------------------ [2003-03-24 23:52:36] truth at ichaos dot com All right, this snapshot didn't work. It's hard to write a script but here is a good try: First, a table in my IBM DB2 is created CREATE TABLE test ( ID INT, DATA CLOB(1M)); Put a string in the CLOB that is greater than 5K, and and ID = 1 or so. All right, now the script <? $linkid = odbc_connect("DBNAME", "USER", "PASSWORD"); $result = odbc_exec($linkid, "SELECT data FROM test WHERE id = 1"); odbc_longreadlen($result, 2000000); odbc_binmode($result, ODBC_BINMODE_PASSTHRU); $result = odbc_result($this->result, 1) echo strlen($result); ?> This should return the length of your string. If the odbc.defaultlrl is set to 4096, the string is 2000000 chars long. If odbc.defaultlrl is set to 2000000, the string is the correct length. ------------------------------------------------------------------------ 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/22860 -- Edit this bug report at http://bugs.php.net/?id=22860&edit=1

« previous php.bugs (#37944) next »