ID:               47514
 Updated by:       mbecc...@php.net
 Reported By:      lukasz at fsi dot pl
-Status:           Open
+Status:           Feedback
 Bug Type:         PDO related
 Operating System: FreeBSD 6.4
 PHP Version:      5.2.9
 New Comment:

I've tested on FreeBSD 6.2 and Linux with php 5.2/5.3 compiled with
libpq from 7.4.0 and 8.3.7.

When 8.3 was used I also tried to forcibly disable server side prepared
statements with:

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

Unfortunately, I couldn't replicate your issue.

Would you mind checking which version of libpq is used in the pdo_pgsql
extension? You can get it via phpinfo(), i.e.

PDO Driver for PostgreSQL       enabled
PostgreSQL(libpq) Version       7.4


Previous Comments:
------------------------------------------------------------------------

[2009-03-04 18:51:11] lukasz at fsi dot pl

I've tried to change bug status to open but I can't do this.

------------------------------------------------------------------------

[2009-03-04 18:49:48] lukasz at fsi dot pl

The problem this exists in 5.2.9. I think that for some reason in my
case native prepared statements are not used.

------------------------------------------------------------------------

[2009-03-03 01:18:19] il...@php.net

Thank you for taking the time to report a problem with PHP.
Unfortunately you are not using a current version of PHP -- 
the problem might already be fixed. Please download a new
PHP version from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.

memory usage does not appear to change is latest cvs

------------------------------------------------------------------------

[2009-02-26 23:25:52] lukasz at fsi dot pl

Description:
------------
Calling prepare() for pdo_pgsql connection consumes memory which is
never being freed. Specified query doesn't matter. It seems that this
happen because in my case pdo_pgsql does not use native prepared
statements, but I can't find the reason for this. I think so because
calling prepare("foo") does not cause an error as it does when I use
pdo_mysql.

Reproduce code:
---------------
$a = new PDO('pgsql:'.$some_pdo_pgsql_dsn);
for ($i = 0; $i < 1000000; $i++)
{
    $st = $a->prepare("");
    print(memory_get_usage(true)."\n");
    unset($st);
}


Expected result:
----------------
constant memory usage

Actual result:
--------------
increasing memory usage


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=47514&edit=1

Reply via email to