edink Tue Jul 5 10:49:23 2005 EDT
Modified files:
/php-src/ext/pgsql pgsql.c
Log:
Properly detect when the copy command fails
http://cvs.php.net/diff.php/php-src/ext/pgsql/pgsql.c?r1=1.328&r2=1.329&ty=u
Index: php-src/ext/pgsql/pgsql.c
diff -u php-src/ext/pgsql/pgsql.c:1.328 php-src/ext/pgsql/pgsql.c:1.329
--- php-src/ext/pgsql/pgsql.c:1.328 Tue Jul 5 08:45:39 2005
+++ php-src/ext/pgsql/pgsql.c Tue Jul 5 10:49:22 2005
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pgsql.c,v 1.328 2005/07/05 12:45:39 derick Exp $ */
+/* $Id: pgsql.c,v 1.329 2005/07/05 14:49:22 edink Exp $ */
#include <stdlib.h>
@@ -3327,6 +3327,7 @@
switch (status) {
case PGRES_COPY_IN:
if (pgsql_result) {
+ int command_failed = 0;
PQclear(pgsql_result);
zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(pg_rows), &pos);
#if HAVE_PQPUTCOPYDATA
@@ -3373,8 +3374,15 @@
}
#endif
while ((pgsql_result = PQgetResult(pgsql))) {
+ if (PGRES_COMMAND_OK !=
PQresultStatus(pgsql_result)) {
+ PHP_PQ_ERROR("Copy command
failed: %s", pgsql);
+ command_failed = 1;
+ }
PQclear(pgsql_result);
}
+ if (command_failed) {
+ RETURN_FALSE;
+ }
} else {
PQclear(pgsql_result);
RETURN_FALSE;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php