Lukas Smith wrote:
> Sorry but your comparison to file_exists() is wrong. pg_execute()
> compares to something like include() if at all. Again I do want
> something like pg_is_prepared() but I rather wait until pgsql 8.2 where
> we get a proper native solution.
> 
> For your case you should simply do:
> 
> // this will trigger an error if the query plan is already prepared
> // but we can ignore the error
> @pg_prepare($dbconn, 'myplan', $sql);
> for ($i = 0; $i < 10000; $i++) {
>   pg_execute($dbconn, 'myplan', $values);
> }
> 
> along with the necessary changes to your error handler you are all set.
> you only have a single error silenced call.
> 

You are missing points:

1. already defined planned query view requires overheads which
   requires network traffic.
2. @ is better to be avoided as much as possible.
3. All methods except following code requires some overheads.
4. "PQexecute, if it fails PQprepare" is the *intended* usage.
   (i.e. PQexecute should be used as PQisPrepared for usual app)
5. pg_execute's E_WARNING error for planned query is too much.
   (I think it's useful for debugging, though)

You may ignore extra pg_prepare or pg_is_prepared call over
postgresql connections, but I do not.

I didn't expect strong opposition removing E_WARNING from
pg_execute() since it seems it is the most preffered ways
to resolve issue.

Anyway, I will use @ for pg_execute(), since it's satisfactory
resolution also. fopen()'s E_WARNING is annoying. I just don't
like to have new function which behave like fopen().
-- 
Yasuo Ohgaki

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to