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

From: Date: Tue, 25 Mar 2003 05:52:36 +0000
Subject: #22860 [Fbk->Opn]: odbc_longreadlen() corruption problem
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-36367@lists.php.net to get a copy of this message
ID: 22860 User updated by: truth at ichaos dot com Reported By: truth at ichaos dot com -Status: Feedback +Status: Open Bug Type: ODBC related Operating System: SuSE 8.0 -PHP Version: 4.3.0 +PHP Version: 4.3.2-RC New Comment: 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. Previous Comments: ------------------------------------------------------------------------ [2003-03-24 23:20:19] kalowsky@php.net And can you provide a script sample, and sample schema for me to use in testing? ------------------------------------------------------------------------ [2003-03-24 17:31:15] sniper@php.net Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip ------------------------------------------------------------------------ [2003-03-24 15:01:56] truth at ichaos dot com When odbc.defaultlrl is set to 4096 in the php.ini file, and I call odbc_longreadlen($result, 2000000); in my script, the data returned for that $result is padded at the end with garbage (prolly from memory). When the odbc.defaultlrl is set to 2000000 in the php.ini file, and I call odbc_longreadlen($result, 2000000); in my script, the data returned for that $result is not padded at the end with garbage, and is just fine. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22860&edit=1

« previous php.bugs (#36367) next »