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