#47589 [Bgs]: PDO DBLIB Fails with OOM on large recordsets
ID: 47589 User updated by: ssufficool at gmail dot com -Reported By: ssufficool at roadrunner dot com +Reported By: ssufficool at gmail dot com Status: Bogus Bug Type: PDO related Operating System: Linux (Gentoo) PHP Version: 5.2.9 New Comment: new e-mail Previous Comments: [2010-01-14 18:20:33] ssufficool at roadrunner dot com Please re-open this bug. I understand that the behaviour is shared across the PDO::DBLIB and MSSQL_* functions, however other PDO drivers do not have this issue (I.E. PDO:POSTGRESQL) and the same query issued on the command line via freetds (tsql) does not consume memory like this. I am using a CURSOR_FWDONLY and this should not require buffering all the rows on the client. [2009-03-06 17:04:47] ssufficool at roadrunner dot com My understanding of Bogus is indeed Bogus. After setting batchsize to 0 in php.ini, mssql_query also barfs on large recordssets. Apologies for the noise. [2009-03-06 16:36:43] ssufficool at gmail dot com Description: When pulling large recordsets with PDO DBLIB I get out of memory. This type of large recordset query works fine on mssql_* functions using the freetds library. This issue has been marked "Bogus" in the past. But since this works with other functions using FreeTDS, this issue may lie in the PDO layer. Correct me if my understanding of Bogus is Bogus. Reproduce code: --- $pdo_ms = new PDO('dblib: host=host', 'user','pass'); /* We die here */ $rs = $pdo_ms->query("SELECT TOP 5 from aVeryLargeTable"); Expected result: A valid handle to a resultset in $rs Actual result: -- Available memory exhausted, tried to allocate -- Edit this bug report at http://bugs.php.net/?id=47589&edit=1
#47589 [Bgs]: PDO DBLIB Fails with OOM on large recordsets
ID: 47589 User updated by: ssufficool at roadrunner dot com Reported By: ssufficool at roadrunner dot com Status: Bogus Bug Type: PDO related Operating System: Linux (Gentoo) PHP Version: 5.2.9 New Comment: Please re-open this bug. I understand that the behaviour is shared across the PDO::DBLIB and MSSQL_* functions, however other PDO drivers do not have this issue (I.E. PDO:POSTGRESQL) and the same query issued on the command line via freetds (tsql) does not consume memory like this. I am using a CURSOR_FWDONLY and this should not require buffering all the rows on the client. Previous Comments: [2009-03-06 17:04:47] ssufficool at roadrunner dot com My understanding of Bogus is indeed Bogus. After setting batchsize to 0 in php.ini, mssql_query also barfs on large recordssets. Apologies for the noise. [2009-03-06 16:36:43] ssufficool at roadrunner dot com Description: When pulling large recordsets with PDO DBLIB I get out of memory. This type of large recordset query works fine on mssql_* functions using the freetds library. This issue has been marked "Bogus" in the past. But since this works with other functions using FreeTDS, this issue may lie in the PDO layer. Correct me if my understanding of Bogus is Bogus. Reproduce code: --- $pdo_ms = new PDO('dblib: host=host', 'user','pass'); /* We die here */ $rs = $pdo_ms->query("SELECT TOP 5 from aVeryLargeTable"); Expected result: A valid handle to a resultset in $rs Actual result: -- Available memory exhausted, tried to allocate -- Edit this bug report at http://bugs.php.net/?id=47589&edit=1