Edit report at http://bugs.php.net/bug.php?id=50755&edit=1
ID: 50755 User updated by: ssufficool at gmail dot com Reported by: ssufficool at gmail dot com Summary: PDO DBLIB Fails with OOM Status: Open Type: Bug Package: PDO related Operating System: Linux 2.6.30-gentoo-r2 PHP Version: 5.2 / 5.3 / 6 New Comment: This has also been tested with latest and greatest FreeTDS 0,82 on Ubuntu x86 & amd64. Same results, out of memory. The memory allocation is on the PDO side, not libtds. Previous Comments: ------------------------------------------------------------------------ [2010-03-28 22:10:09] eric at pineconehill dot com we use freetds on debian with sql server 2005, so i'm following this patch with some interest. just curious, why freetds 0.64? 0.82 is the latest stable and fixes quite a few issues. it's been out for almost 2 years now (whereas 0.63 is 5 years old in a couple of weeks). ------------------------------------------------------------------------ [2010-03-20 00:32:04] ssufficool at gmail dot com Patch revised: ------------------------------------------------ 1. Reverted driver always registering as dblib. Question: Should the user really have to know the library the extension was compiled against? Seems like we should settle on a constant registration since you really can't mix and match. 2. Reverted whitespace modifications. Removed spurrious comments. Reverted DBSETOPT --> dbsetopt. 3. Reverted SYB* --> SQL* define deletions. These are required for compile against the depreciated MS DBLIB. 4. Removed automagic compute column naming (which was clobbering library memory). Just return what the server returns including empty strings. The user will need to alias in their sql query as "select 1+1 as oneplusone" instead of just "select 1+1" magically returning array('compute1'=>'2'). Question: Who if anyone relies on this behavior? I don't see other drivers doing this. Some unrelated/unmentioned "fixes" ------------------------------------------------ Allow multiple rowsets with varying column definitions. This was implemented incorrectly. Include the recent update to SQLMONEY formatting. Tested against SQL Server 2008 Express, PHP-5.3 svn-296442, FreeTDS 0.64, Linux 2.6.30 - i686. ------------------------------------------------------------------------ [2010-03-09 23:48:39] ssufficool at gmail dot com Affects all versions of PHP, patches attached. ------------------------------------------------------------------------ [2010-01-20 20:50:56] ssufficool at gmail dot com Patch sent to w...@php.net waiting response ------------------------------------------------------------------------ [2010-01-15 00:21:48] ssufficool at gmail dot com I have a patch that removes client side buffering and allows for large rowset queries without memory consumption. Compiled and tested http://svn.php.net/repository/php/php-src/branches/PHP_5_2 SVN Revision: 293557 I can send patch via e-mail. ------------------------------------------------------------------------ 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/bug.php?id=50755 -- Edit this bug report at http://bugs.php.net/bug.php?id=50755&edit=1